Hello,
I am using the TI AM437x IDK
PRU-ICSS-EtherCAT_Slave_01.00.02.01 with ethercat_slave firmware v2.0
to implement an Ethercat slave device, which requires a TxPdo object size larger than 2 KBytes (The goal is to transfer 6 to 8 KBytes size TxPDO) . I defined a record with arrays of 1024 UINT which equal to 2 KBytes of data and tested with TwinCAT. TwinCAT shows about 1473 bytes of the data are transferred correctly but discarded the remaining 575 bytes of data. I contacted with ETG support and they believe this may due to TI Ethercat firmware not setting the working counter correctly for the second datagram , thus the master discarded those "invalid" input data. Also, I found that APPL_InputMapping is being called twice instead once for each cycle when TxPdo size is 2k bytes.
Please find the following files from the attached zip file:
1. Analysis of test data by EtherCAT Technology Group -- email msg.
2. the ESI file of the slave
3. the TwinCAT project
4. A brief Wireshark trace, which shows the data is sent in two datagrams of 1473 and 575 bytes
Thank you very much.
Regards,
Karl Gu