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.

AM4377: EtherCAT pins in Pinmux Tool

Part Number: AM4377

I'm trying to see if it is possible to have EtherCAT + Gigabit Ethernet (1 port) + Display using the Pin Mux Tool.  I'm having trouble getting started though because of ambiguity over what pins are actually needed for EtherCAT.  Looking at the AM437x IDK as a reference, it looks like I should be choosing MDIO_PRUSS1 and MII_PRUSS1 as the interfaces.  However, there's also an item in Pin Mux Tool called ECAT_PRUSS1, which seems like it should surely be the thing right?!  However, adding ECAT_PRUSS1 even as the very first item leads to a bunch of conflicts.

Can someone please help me understand how Pin Mux Tool should be configured to represent an EtherCAT Slave?

  • Hi Brad,

    I have notified the EtherCAT experts. They will respond here.
  • Hi Brad, I am not really familiar with Pin Mux Tool, but maybe below list of SoC pins used for EtherCAT can help you:
    processors.wiki.ti.com/.../PRU_ICSS_EtherCAT_firmware_API_guide

    Also, no sure if you have already checked "ecat_appl_cnfg.h" inside ecat application. There, there is a structure for PINMUX configuration for your reference.

    thank you,
    Paula
  • Paula,

    Thanks. That helps a lot. One thing I realized I messed up initially is that I need to use BOTH of the PRU MII ports, not just one...

    The "Distributed Clocks" section on the wiki page you referenced looks like it corresponds with the ECAT_PRUSS1 entry if you select the use case as "RTETH_TIMESYNC".

    I think the only remaining question relates to the edio_data_in/out pins from the Pin Mux Tool. Do these have some function for EtherCAT? The TRM defines these as "ECAT Digital I/O". So it seems like they're intended for use in EtherCAT, but I don't see them defined in your wiki page.

    Thanks,
    Brad
  • Hi Brad, yes I see "edio" also set inside "am43xx_idkevm_pinmux_data.c". What I see from table "AM335x/AM437x SOC pins used for EtherCAT functionality" is that only mandatory/high recommended pins are shown.  "edio" seems to be optional / application depended. Anyhow, please check am43xx_idkevm_pinmux_data.c at (<ISDK_Path>\sdk\starterware\board\am43xx\) for more details.

    thank you,

    Paula

     

  • I received some comments via email from Frank Walzer that I want to share as well:

    "EtherCAT digital I/O pins are direct GPIO to be used for simple EtherCAT slaves.
    I am not aware of anyone using them… Our EtherCAT applications are more complex than 8 bit I/O.

    The Sync/Latch pins are important for devices that need to support Distributed Clock mode.
    In this case the whole EtherCAT chain is synchronized to one time and the latch pins can be used to take time stamps.
    Sync pins may output a precise pulse (somewhat programmable).

    Now for the EtherCAT communication itself none of these pins are required. EtherCAT firmware API doc does contain a table with the required pins."

    Paula and Frank -- thanks for your help.