This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

PROCESSOR-SDK-AM437X: EtherCAT performance

Part Number: PROCESSOR-SDK-AM437X

What is the size of DPRAM? 

if the DPRAM is larger then 24Kbytes, is it possible to support 6Kbytes/ms for a TxPDO?

  • For example, can the A9 stream (6 * 1024 * 8 * 1000 times/second) 49Mbps to the PRU/EtherCAT interface?
  • Can the EtherCAT PRU implementation be able to stream 49Mpbs to a EtherCAT master?

Are both PRU-ICSS used to support EtherCAT? If not, can the other PRU-ICSS be used to stream in a 32 bit input with a 2Mhz clock?

Would there be any issues with bus speed with EtherCAT and the PRU streaming in another 64Mbps?

Thank you.

  • The EtherCAT experts have been notified. They will respond here.
  • Hi Tim,  AM437x has 256K of L2 (or L3) RAM + 256 of L3 (OCMCRAM) as shown below:

    About your PRU-ICSS question, unfortunately no, ICCS1 is used for EtherCAT and ICSS0 is used for motor control feedback

    About your question of streaming 49Mbps, I am a little confused, I will ask to the experts. but, could you please elaborate more the scenario?

    thank you,

    Paula

    1. EtherCAT DPRAM
      1. EtherCAT DPRAM is a memory block used for mailbox (input/output) and process data (input/output)  According to this PDF the DPRAM szie of a AM437x is 32Kbytes but PRU-ICSS-EtherCAT_Slave_01.00.02.01/docs/EtherCAT_Slave_Datasheet.pdf it is 28KB (AM437, AM57) of Process Data RAM which is it? 28K or 32K?
      2. Does the Sync-Manager for Process data still require 3x buffers? For example, if a TxPDO is defined i.e 3Kbytes, it requires 9Kbytes of DPRAM memory?

    2. EtherCAT performance
      1. The goal for the EtherCAT Master to receive 3Kbytes at 1ms or 49Mpbs from a single slave
        1. Can the A9 update a TxPDO with 3Kbytes at 1ms?
        2. Can the PRU/EtherCAT system be able to receive updates from the A9 and process EtherCAT master requests to read TxPDO at rate of 3Kbytes/ms?

    3. The goal is not to use the AM437x as an EtherCAT slave Motor controller, but just an generic EtherCAT slave
      1. Is it required to load , ICCS0 with motor control code?
      2. Can the AM437x be used as a general etherCAT slave implementation?

  • Hi Tim, some answers in green below:


    1.EtherCAT DPRAM1.
    a) EtherCAT DPRAM is a memory block used for mailbox (input/output) and process data (input/output) According to this ESC Overview PDF the DPRAM szie of a AM437x is 32Kbytes but PRU-ICSS-EtherCAT_Slave_01.00.02.01/docs/EtherCAT_Slave_Datasheet.pdf it is 28KB (AM437, AM57) of Process Data RAM which is it? 28K or 32K?
    >> Our documentation is correct. 28KB PD RAM and 4KB for ESC registers
    b) Does the Sync-Manager for Process data still require 3x buffers? For example, if a TxPDO is defined i.e 3Kbytes, it requires 9Kbytes of DPRAM memory?
    >> Yes – triple buffer mode requires 3X

    2.EtherCAT performance
    The goal for the EtherCAT Master to receive 3Kbytes at 1ms or 49Mpbs from a single slave
    a) Can the A9 update a TxPDO with 3Kbytes at 1ms?
    b) Can the PRU/EtherCAT system be able to receive updates from the A9 and process EtherCAT master requests to read TxPDO at rate of 3Kbytes/ms?
    >>Unfortunately we have not tested this scenario for Process Data RAM exceeding max Frame Size. This implies process data will be split into 2 EtherCAT frames. If we recall correctly, it takes aprox 75us to copy 1500 bytes best case. So, 3Kbytes at 1 ms seems to be achievable.


    3.The goal is not to use the AM437x as an EtherCAT slave Motor controller, but just an generic EtherCAT slave
    a) Is it required to load , ICCS0 with motor control code?
    b) Can the AM437x be used as a general etherCAT slave implementation?
    >> AM437x ICSS0 and ICSS1 are not total symmetric (equals), so I believe EtheCAT slave cannot fit in ICSS0 (need to double check though)... Additionally, in AM437x devices there is up to two ports Ethernet switch. For 2 EtherCAT instances you will require 4. Please see AM4379 datasheet - PRU-ICSS section for details.

    Thank you,

    Paula