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.

TMS570LS3137: CAN message transmit interval setting issue

Part Number: TMS570LS3137

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:

    • Sync_Seg: Synchronization Segment
      This segment is used to synchronize the nodes in a CAN network. A signal edge is expected within this segment. 
    • Prop_Seg: Propagation Time Segment
      This segment is used to compensate for the physical delay times within the network, such as signal propagation delay and delays within the actual CAN nodes, namely the receiver/transmitter circuits. The segment’s length must be twice these delay times to compensate for delays from sender to receiver and back to the sender.
    • Phase_Seg1/2: Phase Buffer Segment 1/2
      These segments are used to compensate for signal edge phase errors. Their length may be adjusted by resynchronization.