Other Parts Discussed in Thread: AM3357, AM3359
Tool/software: TI-RTOS
Hello,
We are working with sitara AM3357 device and we use the EtherCAT stack (TI-RTOS) to implement and EtherCAT slave. Right know we are measuring the time between the transmission of a register sent by the master through a PDO (master to slave), this value is copied into another slave register PDO (slave to master) and we wait until this value is received by the master again. It is some kind of loop-back test. We have repeated the same test using different EtherCAT cycle times (from 500 us to 2 ms) and what we see is this:
Value sent by the master | Value sent by the slave |
1 | 0 |
2 | 0 |
3 | 0 |
4 | 0 |
5 | 0 |
6 | 1 |
7 | 2 |
8 | 3 |
9 | 4 |
So it looks like there is a latency of 5 cycles independently of the cycle time of the network (for a cycle time of 2 ms the delay is about 10 ms, whereas for a cycle time of 500 us, the delay is around 2.5 ms). However, every message is processed, so that means that data arrives to the PRUSS before a network cycle.
I was looking for information about this latency to see if there is a way to decrease it or at least to understand why it is happening, but all the information about latencies I found are related to propagation.
Could you please help me about this topic? why this delay exists? is there a way to decrease it?