Part Number: AM3357
Other Parts Discussed in Thread: PROFIBUS, SYSBIOS
Hello,
When using CAN RX Fifo messages I noticed that data can be received out of sequence such as:
[ms] - [frame id],[L-fifo line],[d: frame No]
17284 -id:0x4b5, L:36,(d:0)
17284 -id:0x4b5, L:36,(d:1)
17285 -id:0x4b5, L:36,(d:2)
17285 -id:0x4b5, L:37,(d:4)
17285 -id:0x4b5, L:38,(d:5)
17285 -id:0x4b5, L:36,(d:3)
or
13813 -id:0x4b5,L:36,(d:0)
13814 -id:0x4b5,L:36,(d:1)
13814 -id:0x4b5,L:36,(d:4)
13814 -id:0x4b5,L:37,(d:2)
13814 -id:0x4b5,L:38,(d:3)
13815 -id:0x4b5,L:36,(d:5)
I'm wondering if I'll be able to fix this in code, or if this is normal behavior, however, as in another proc. (TMS320F2837xD), the errata says:
Advisory During DCAN FIFO Mode, Received Messages May be Placed Out of Order in the
FIFO Buffer
Revisions Affected 0, A, B, C
Details In DCAN FIFO mode, received messages with the same arbitration and mask IDs are
supposed to be placed in the FIFO in the order in which they are received. The CPU then
retrieves the received messages from the FIFO via the IF1/IF2 interface registers. Some
messages may be placed in the FIFO out of the order in which they were received. If the
order of the messages is critical to the application for processing, then this behavior will
prevent the proper use of the DCAN FIFO mode.
Workarounds None
Does this problem still occur in AM3357? CAN registers are similar to TMS320F2837xD.