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.

AM3359: EtherCAT Master error

Part Number: AM3359
Other Parts Discussed in Thread: SYSBIOS

Hello everyone,

   A) Currently, I am trying to develop ethercat application between ICE AM3359 TI board as master  and MYD-C437x board as slave.I just follow all the instructions provided in pdf  "EtherCAT® Master Reference Design for AM335x CPSW":-

1) Select the CPSW using jumpers J18 and J19 between pin 1 and 2 on AM3359 board

2) Select pin 1 and 2 shorted on J5 for NOR booting on AM3359 board

3) Software download: Acontis EC-Master V2.9 for SYS/BIOS,AM335x SYS/BIOS Industrial SDK v1.1.0.8,Code Composer Studio™ : 6.2.0.00050 ,SYS/BIOS 6.46.04.53,XDC v3.32.01.22,Industrial SDK 2.1.0.1 pre-build binaries

4) Copy MLO and app file in SD card as per given in appendix A.

5) generate ENI.xml file using EC engineer tool for AM437x. Then convert this ENI.xml file into ENI.c using xxd.exe -icommand on command prompt.copy the MasterENI.c file from the prebuilt package and paste

inside <EC-master_installation_path>\Workspace\SYSBIOS\

6)Import code in ccs.

7) Ethercat cable is connected to ETH0 port(J2) n AM335x board

  and on PRUETH0 (J26) on MYD-C437x board.

8) Create target configuration and run code.

However, when I load the program, EcMasterDemo.out, and do Resume, Im getting this error on putty:

boardname: A335_ICE version: 2.1A

SYS/BIOS EcMaster Sample application
0000000174: Full command line: -auxclk 2000 -v 2 -t 10000 -perf -cpsw 1 1 1 m cu stom am33XX 1 1 0
0000000174: Run demo now with cycle time 2000 usec
0000000174: Using AuxClock
0000000174: OsMeasGet100kHzFrequency(): 600 MHz
0000000174: ==========================
0000000174: Initialize EtherCAT Master
0000000174: ==========================
0000000174: EC-Master V3.0.1.12 (Protected) for SYSBIOS Copyright acontis techno logies GmbH @ 2018
0000001788: EtherCAT network adapter MAC: 2C-6B-7D-4A-27-1D
0000001805: Protected version, stop sending ethernet frames after 60 minutes if not licensed!
0000001808: Timeout elapsed for acyclic frame IDX=0xe0, retry count = 3
0000001810: Timeout elapsed for acyclic frame IDX=0xe0, retry count = 2
0000001812: Timeout elapsed for acyclic frame IDX=0xe0, retry count = 1
0000001814: Retry sending a acyclic frame due to timeout
0000001814: EtherCAT command IDX set value=0xe0
0000001816: Timeout elapsed for acyclic frame IDX=0xe2, retry count = 3
0000001818: Timeout elapsed for acyclic frame IDX=0xe2, retry count = 2
0000001820: Timeout elapsed for acyclic frame IDX=0xe2, retry count = 1
0000001822: Retry sending a acyclic frame due to timeout
0000001822: EtherCAT command IDX set value=0xe2
0000001824: Timeout elapsed for acyclic frame IDX=0xe4, retry count = 3
0000001826: Timeout elapsed for acyclic frame IDX=0xe4, retry count = 2
0000001828: Timeout elapsed for acyclic frame IDX=0xe4, retry count = 1
0000001832: Timeout elapsed for acyclic frame IDX=0xe6, retry count = 3
0000001834: Timeout elapsed for acyclic frame IDX=0xe6, retry count = 2
0000001836: Timeout elapsed for acyclic frame IDX=0xe6, retry count = 1
0000001840: Bus scan successful - 0 slaves found
0000001840: Scan Bus returned with error: Bus configuration mismatch (0x9811001e )
0000001841: Scan bus mismatch for the first slave on bus
0000001841: Expected Slave: Unknown (0x54490001), Texas Instruments Incorporated (0xe000059d)
0000001841: Found Slave...: ----
0000001841: ========================
0000001841: Shutdown EtherCAT Master
0000001841: ========================
0000001842: ==================================================================== ========
0000001842: PerfMsmt 'JOB_ProcessAllRxFrames' (min/avg/max) [usec]: 1.0/ 8. 1/ 9.5
0000001842: PerfMsmt 'JOB_SendAllCycFrames ' (min/avg/max) [usec]: 0.5/ 4. 5/ 22.3
0000001842: PerfMsmt 'JOB_MasterTimer ' (min/avg/max) [usec]: 0.4/ 28. 7/ 86.1
0000001842: PerfMsmt 'JOB_SendAcycFrames ' (min/avg/max) [usec]: 0.4/ 7. 8/ 34.0
0000001842: PerfMsmt 'Cycle Time ' (min/avg/max) [usec]: 1450.9/1551. 9/2011.2
0000001842: PerfMsmt 'myAppWorkPd ' (min/avg/max) [usec]: 0.7/ 2. 8/ 3.2
0000002102: EcMasterDemo stop.

B)  Also I am trying to establish ethercat communication between Am335x  ICE as master and kollmorgan drive as slave. I got following output on putty after debug the code:-

boardname: A335_ICE version: 2.1A

SYS/BIOS EcMaster Sample application

0000000174: Full command line: -auxclk 2000 -v 2 -t 10000 -perf -cpsw 1 1 1 m cu stom am33XX 1 1 0

0000000174: Run demo now with cycle time 2000 usec

0000000174: Using AuxClock

0000000174: OsMeasGet100kHzFrequency(): 600 MHz

0000000174: ==========================

0000000174: Initialize EtherCAT Master

0000000174: ==========================

0000000174: EC-Master V3.0.1.12 (Protected) for SYSBIOS Copyright acontis techno logies GmbH @ 2018

0000001838: EtherCAT network adapter MAC: 2C-6B-7D-4A-27-1D

0000001861: Protected version, stop sending ethernet frames after 60 minutes if not licensed!

0000001949: Bus scan successful - 1 slaves found

0000001950: ******************************************************************** **********

0000001950: Slave ID............: 0x00000000

0000001950: Bus Index...........: 0

0000001950: Bus AutoInc Address.: 0x0000

0000001950: Bus Station Address.: 0x03e9 (1001)

0000001950: Bus Alias Address...: 0x0000 ( 0)

0000001950: Vendor ID...........: 0x0000006A = Unknown

0000001950: Product Code........: 0x03000600 = Unknown

0000001950: Revision............: 0x00000001 Serial Number: 0

0000001950: ESC Type............: IPCORE (0x4) Revision: 2 Build: 0

0000001950: Connection at Port A: yes (to 0x00010000)

0000001950: Connection at Port D: no (to 0xFFFFFFFF)

0000001950: Connection at Port B: no (to 0xFFFFFFFF)

0000001950: Connection at Port C: no (to 0xFFFFFFFF)

0000001950: Line Crossed........: no

0000001950: Cfg Station Address.: 0x03e9 (1001)

0000001950: PD IN Byte.Bit offset: 0.0 Size: 64 bits

0000001950: PD OUT Byte.Bit offset: 0.0 Size: 48 bits

0000001950: =====================

0000001950: Start EtherCAT Master

0000001950: =====================

0000001959: Master state changed from <UNKNOWN> to <INIT>

0000002011: Master state changed from <INIT> to <PREOP>

0000002088: Master state changed from <PREOP> to <SAFEOP>

0000002295: Master state changed from <SAFEOP> to <OP>

0000002296:

0000002296: Job times during startup <INIT> to <OP>:

0000002296: ==================================================================== ========

0000002296: PerfMsmt 'JOB_ProcessAllRxFrames' (min/avg/max) [usec]: 0.6/ 25. 2/ 59.4

0000002296: PerfMsmt 'JOB_SendAllCycFrames ' (min/avg/max) [usec]: 0.4/ 8. 8/ 22.9

0000002296: PerfMsmt 'JOB_MasterTimer ' (min/avg/max) [usec]: 0.4/ 17. 6/ 77.4

0000002296: PerfMsmt 'JOB_SendAcycFrames ' (min/avg/max) [usec]: 0.5/ 11. 7/ 33.3

0000002296: PerfMsmt 'Cycle Time ' (min/avg/max) [usec]: 1116.7/1852. 5/2007.5

0000002296: PerfMsmt 'myAppWorkPd ' (min/avg/max) [usec]: 0.6/ 1. 4/ 3.3

0000002296:

0000004296: ==================================================================== ========

0000004296: PerfMsmt 'JOB_ProcessAllRxFrames' (min/avg/max) [usec]: 14.2/ 17. 6/ 48.8

0000004296: PerfMsmt 'JOB_SendAllCycFrames ' (min/avg/max) [usec]: 9.2/ 9. 9/ 19.8

0000004296: PerfMsmt 'JOB_MasterTimer ' (min/avg/max) [usec]: 9.4/ 10. 8/ 20.3

0000004296: PerfMsmt 'JOB_SendAcycFrames ' (min/avg/max) [usec]: 1.5/ 4. 1/ 24.0

0000004296: PerfMsmt 'Cycle Time ' (min/avg/max) [usec]: 1990.8/1999. 0/2006.3

0000004296: PerfMsmt 'myAppWorkPd ' (min/avg/max) [usec]: 0.8/ 0. 9/ 1.3

0000006296: ==================================================================== ========

0000006296: PerfMsmt 'JOB_ProcessAllRxFrames' (min/avg/max) [usec]: 14.2/ 17. 7/ 48.8

0000006296: PerfMsmt 'JOB_SendAllCycFrames ' (min/avg/max) [usec]: 9.1/ 9. 9/ 20.0

0000006296: PerfMsmt 'JOB_MasterTimer ' (min/avg/max) [usec]: 9.4/ 10. 8/ 20.3

0000006296: PerfMsmt 'JOB_SendAcycFrames ' (min/avg/max) [usec]: 1.5/ 4. 0/ 24.0

0000006296: PerfMsmt 'Cycle Time ' (min/avg/max) [usec]: 1990.6/1998. 9/2006.8

0000006296: PerfMsmt 'myAppWorkPd ' (min/avg/max) [usec]: 0.7/ 0. 9/ 1.6

0000008296: ==================================================================== ========

0000008296: PerfMsmt 'JOB_ProcessAllRxFrames' (min/avg/max) [usec]: 14.2/ 17. 6/ 48.8

0000008296: PerfMsmt 'JOB_SendAllCycFrames ' (min/avg/max) [usec]: 9.1/ 9. 9/ 20.4

0000008296: PerfMsmt 'JOB_MasterTimer ' (min/avg/max) [usec]: 9.3/ 10. 8/ 20.3

0000008296: PerfMsmt 'JOB_SendAcycFrames ' (min/avg/max) [usec]: 1.5/ 4. 1/ 24.0

0000008296: PerfMsmt 'Cycle Time ' (min/avg/max) [usec]: 1990.6/1998. 9/2007.2

0000008296: PerfMsmt 'myAppWorkPd ' (min/avg/max) [usec]: 0.7/ 0. 9/ 10.1

0000010296: ==================================================================== ========

0000010296: PerfMsmt 'JOB_ProcessAllRxFrames' (min/avg/max) [usec]: 14.2/ 17. 6/ 48.8

0000010296: PerfMsmt 'JOB_SendAllCycFrames ' (min/avg/max) [usec]: 9.1/ 9. 9/ 20.4

0000010296: PerfMsmt 'JOB_MasterTimer ' (min/avg/max) [usec]: 9.3/ 10. 7/ 20.3

0000010296: PerfMsmt 'JOB_SendAcycFrames ' (min/avg/max) [usec]: 1.5/ 4. 1/ 24.0

0000010296: PerfMsmt 'Cycle Time ' (min/avg/max) [usec]: 1990.2/1998. 9/2007.7

0000010296: PerfMsmt 'myAppWorkPd ' (min/avg/max) [usec]: 0.7/ 1. 0/ 10.2

0000012296:

0000012296: Job times before shutdown

0000012296: ==================================================================== ========

0000012296: PerfMsmt 'JOB_ProcessAllRxFrames' (min/avg/max) [usec]: 14.2/ 17. 6/ 48.8

0000012296: PerfMsmt 'JOB_SendAllCycFrames ' (min/avg/max) [usec]: 9.1/ 10. 0/ 20.4

0000012296: PerfMsmt 'JOB_MasterTimer ' (min/avg/max) [usec]: 9.3/ 10. 7/ 20.3

0000012296: PerfMsmt 'JOB_SendAcycFrames ' (min/avg/max) [usec]: 1.5/ 4. 1/ 24.0

0000012296: PerfMsmt 'Cycle Time ' (min/avg/max) [usec]: 1990.2/1998. 9/2007.8

0000012296: PerfMsmt 'myAppWorkPd ' (min/avg/max) [usec]: 0.7/ 0. 9/ 10.2

0000012296: ========================

0000012296: Shutdown EtherCAT Master

0000012296: ========================

0000012318: Master state changed from <OP> to <INIT>

0000012580: EcMasterDemo stop.

Can someone help what exactly is this error and how to resolved it??

  • Hi Sayali, 

    Few questions, please help me with your answers:

    Q1: did you rebuild EC-MAster after step "5) generate ENI.xml file using EC engineer tool for AM437x. Then convert this ENI.xml file into ENI.c using xxd.exe -icommand on command prompt.copy the MasterENI.c file from the prebuilt package and paste inside <EC-master_installation_path>\Workspace\SYSBIOS\"?

    Q2: Did you tested MYD-C437x running EtherCAT slave? If not, I would suggest a sanity connectivity check with TwinCAT.

    Q3: Are you indeed using Industrial SDK 1.1.0.8?.. this is quite old.. if it works for you it is OK. But, if possible, I would suggest to move to EC-Master v3.0.0.19 + TI-RTOS PSDK 4.2 

    From the error message, I get the slave was not found

    0000001840: Bus scan successful - 0 slaves found
    0000001840: Scan Bus returned with error: Bus configuration mismatch (0x9811001e )
    0000001841: Scan bus mismatch for the first slave on bus
    0000001841: Expected Slave: Unknown (0x54490001), Texas Instruments Incorporated (0xe000059d)
    0000001841: Found Slave...: ----

    I am not familiar with MYD-C437x, but from your description J26 (PRU-ETH0) should be the right port. In any case I would suggest to check that EtherCAT slave prebuild binaries works ok in this board. I am not sure about that. Prebuild EtherCAT slave binaries were build and tested for AM4379 IDK board

    thank you,

    Paula

  • Hello Paula,

    1) Yes, I rebuild the code after generating ENI.c file

    2) I have not tested MYD-C437x board as slave using twincat because i dont know hot to set parameters in twincat software.

    3) Yes, I am using SDK 1.1.0.8. okay I installed TI-RTOS PSDK 4.2 and let you know

    Right now the important task for me is establish ethercat communication between kollmorgan drive as slave and AM3359 as master. After successfully build and debug the code slave found successfully with correct product code and vendour id but unfortunately ethercat demo stop message shown on putty.
    Is there any need to do changes in ec master demo code??

    During generating eni.xml file we have to set parameter in EC-engineer tool depending upon drive??

    What is the meaning of these message:

    0000012296: PerfMsmt 'JOB_ProcessAllRxFrames' (min/avg/max) [usec]: 14.2/ 17. 6/ 48.8

    0000012296: PerfMsmt 'JOB_SendAllCycFrames ' (min/avg/max) [usec]: 9.1/ 10. 0/ 20.4

    0000012296: PerfMsmt 'JOB_MasterTimer ' (min/avg/max) [usec]: 9.3/ 10. 7/ 20.3

    0000012296: PerfMsmt 'JOB_SendAcycFrames ' (min/avg/max) [usec]: 1.5/ 4. 1/ 24.0

    0000012296: PerfMsmt 'Cycle Time ' (min/avg/max) [usec]: 1990.2/1998. 9/2007.8

    0000012296: PerfMsmt 'myAppWorkPd ' (min/avg/max) [usec]: 0.7/ 0. 9/ 10.2

    Why "Shutdown EtherCAT Master" message shown on putty??

  • Hi Sayali, my comments below

    Q:

    Sayali said:
    Why "Shutdown EtherCAT Master" message shown on putty??

    A: If EC-Master scans network bus, and it doesn't find the slaves network that it is expecting (via ENI file). Then, master reports "bus mismatch". EtherCAT communication is not established. And, EC-Master shutdown.

    About checking AM437x PRU-ICSS EtherCAT slave with TwinCAT. I think it is important to confirm your slave is up and running correctly as an EtherCAT slave. You can refer to PRU-ICSS User Guide Wiki - Running EtherCAT. Sections 1.1.8.1 and 1.1.8.2 would give you some pointers on how to do it.

    Some additional tips here: http://processors.wiki.ti.com/index.php?title=Configuring_TwinCAT_For_TI_EtherCAT_Slave

    thank you,

    Paula