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.

AM623: ethercat and tsn

Part Number: AM623

Hi, TI expert! 

Does the SOC of the AM62x series support Ethercat? Do you have corresponding reference materials?

If not supported, what is the reason for not supporting it?

Furthermore, does the SOC of am62x support Ethercat that integrates TSN features,as shown below

https://www.ethercat.org/en/ethercat_and_tsn.htm

Regards,

Li

  • Hello Li,

    >>>Does the SOC of the AM62x series support Ethercat? Do you have corresponding reference materials?

    AM62x is capable of acting as an EtherCAT controller/master.

    Some current resources for using CODESYS EtherCAT stack:

    https://dev.ti.com/tirex/content/linux-academy-AM62X-8.4.1.3.v2/ch-beyond/code-ex-codesys.html

    https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1257180/faq-how-to-set-up-an-ethercat-system-with-am6xx-maindevice-and-am64-am243-subdevice-using-codesys-development-system

    We are also currently working on an application note showcasing what the current benchmarks are for running the CODESYS EtherCAT stack on several TI processors as EtherCAT controller/master. 

    When AM62x is running with Linux, the recommended processor SDK to use is the RT-Linux version.

    There are other EtherCAT stacks such as Acontis and IBV (commercial stacks) and IgH (more of an open source stack) that could be used to set up AM62x as an EtherCAT controller/master. Please note that we mostly do not do support issues related to these stacks as they are from third party vendors (not TI)

    >>>Furthermore, does the SOC of am62x support Ethercat that integrates TSN features,as shown below

    I will need to consult with an expert on the team for this question. This expert is out of office for the next two weeks so I will get back to you on this when the expert gets back.

    In the meantime, if you haven't already viewed these resources on TSN features offered by AM62x:

    https://software-dl.ti.com/processor-sdk-linux-rt/esd/AM62X/latest/exports/docs/linux/Foundational_Components/Kernel/Kernel_Drivers/Network/CPSW-TSN.html

    -Daolin

  • Here is a resource regarding how the EST feature of TSN can be used with an industrial ethernet controller using a protocol such as EtherCAT to improve the  preciseness of timing of placement of a frame on the wire. This includes the use of an AM62x processor: https://www.ti.com/lit/an/sprade9/sprade9.pdf

    Additionally, here is a resource for industrial protocol options support for some of our ARM-based microcontroller and processors (focused on AM64x/AM243x devices): https://www.ti.com/lit/po/sprt769/sprt769.pdf

    Response from expert: Yes EtherCAT master -> generic MAC (CPSW on AM62x) is fine TTS or TSN EST helps. EtherCAT slave/subdevice is different story and TSN is incompatible (requires ICSSG Ethernet which is not offered on AM62x)

    -Daolin

  • Hello Daolin,
    Can you explain why the SOC of am62x does not support Ethercat slave stations? We would like to know the specific reasons why it is not supported

  • Hi Li,

    The simplest answer/reason AM62x does not support EtherCAT subdevice functionality is due to EtherCAT subdevice protocol only being supported on R5F cores which AM62x does not have, additionally the pinmux done for SoC design was done in a way to only support controller functionality - it is not intended to support subdevice functionality by design. If you take a look at the following diagram from https://www.ti.com/lit/po/sprt769/sprt769.pdf, it states that 

    • Industrial Communication Device protocols run on the R5Fs

    • Industrial Communication Controller protocols run on either A53s or R5Fs

    This is why AM62x can support EtherCAT controller/master functionality since it does have A53 cores. This is also why AM64x or AM243x is recommended for EtherCAT subdevices (since both have R5F cores).

    More depth explanation is that the software stack for an EtherCAT controller vs EtherCAT subdevice has different requirements:

    EtherCAT controllers can run on standard compliant Ethernet ports (such as CPSW standard ethernet which is the only ethernet AM62x supports).

    EtherCAT subdevices require special Ethernet hardware with real-time capabilities which is currently only offered from PRU_ICSSG ethernet which is especially designed as industrial comms ethernet. 

    Another way I think of it is that the EtherCAT controller/master sends a frame to each subdevice and each subdevice needs to be able to "reads the data addressed to it 'on the fly' and inserts its data in the frame as the frame is moving downstream" and standard CPSW ethernet would just not be fast enough to do this. 

    To reiterate, for the above reasons, AM62x would not be suitable if you are looking for EtherCAT subdevice functionality, instead, AM64x or AM243x would be better suited. I highly recommended taking a look at https://www.ti.com/lit/po/sprt769/sprt769.pdf if you have not already.

    Please let me know if this helps answer your question. 

    -Daolin