I'm thinking about (high precision) synchronizing some DSPs (28335) via CAN. I saw the timestamp feature of the eCAN "Timer Management Unit". But I'm wondering how accurate these are, with regards to these comments of the "eCAN Reference Guide" (SPRUEU1), which tells
- CANTSC: This is a free-running 32-bit timer which is clocked by the bit clock of the CAN bus. For example, at a bit rate of 1 Mbps, CANTSC would increment every 1 µs.
- ..
- This state machine has lower priority when accessing the registers than the CAN state machine has. Therefore, the time-control functions may be delayed by other ongoing actions..
- ...
- MOTS: This register holds the value of the TSC when the corresponding mailbox data was successfully
transmitted or received. - ...
- The TSC register can also be cleared when mailbox 16 transmitted or received
It's clear, that the resolution of the CANTSC and MOTS is 1 µs/bit (for 1 Mbit/s CAN bus), but my questions are:
- How accurate is CANTSC incremented, if it might be delayed by "other actions" (Jitter of wrap around)?
- For transmission: When exactly is the MOTS freezed? (after successfull bus arbitration? after sending the final CRC or END bits?)
- For reception: When exactly is the MOTS freezed? (after MBX filter succeeded? When all bytes are copied? after final CRC or END bits?
It would be nice if anybody could share some experience about this. Thx in advance!
Ralf