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.
Hi team,
Here's an issue from the customer may need your help:
Debug with other devices and find that other devices cannot receive CAN messages that are transmitted quickly and continuously due to device limitations. So the device needs to delay sending data for each ID. Delay with software and find that the intervals of CAN messages are not as delayed as expected when transmission is particularly frequent.
issue: how to set the interval between two frames of a message?
Could you help check this case? Thanks.
Best Regards,
Cherry
Hi Cherry,
Sending a standard CAN message, 11 bit ID and 8 byte data payload With a 1MBit/s bitrate, this message takes approximately 110 µs to transfer on the CAN bus. The CAN transmit SW function will take tens of us.
The delay can be generated using RTI comparator. The device has one RTI module, and the RTI module supports up to 4 comparators. You can use either of them.
Hi Wang,
Thanks for your help.
In HAL software, it has the following config, is it possible to implement?
Thanks and regards,
Cherry
Hi Cherry,
No, this is not the delay between two transfers. This propagation delay is used to calculate CAN bit timing. Since the CAN controller manages the bus access through bit-wise arbitration, it must be assured that the signal propagation time from sender to receiver and back to the sender must be completed within one bit time.
In order to determine the exact bit sample point the CAN standard partitions the nominal bit time into four non-overlapping time segments:
Where the Nominal Bit Time Tb=1/CAN BaudRate
The four non-overlapping time segments are: