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消息传输间隔设置问题

Guru**** 2587365 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1092453/tms570ls3137-can-message-transmit-interval-setting-issue

部件号:TMS570LS3137

大家好,

以下是客户提出的问题,可能需要您的帮助:

与其他设备一起调试,发现其他设备无法接收由于设备限制而快速连续传输的CAN消息。 因此,设备需要延迟发送每个ID的数据。 软件延迟,发现在传输特别频繁时,CAN信息的间隔没有预期的延迟。

问题:如何设置消息的两个帧之间的间隔?

您可以帮助检查此问题吗? 谢谢。

此致,

樱桃

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Cherry,

    发送标准CAN消息,11位ID和8字节数据有效负载 ,比特率为1Mbit/s,此消息在CAN总线上传输大约需要110 µs。 CAN传输SW功能需要我们几十个人的时间。

    可以使用RTI比较器生成延迟。 该器件有一个RTI模块,RTI模块最多支持4个比较器。 您可以使用其中任何一种。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,王先生,

    感谢你的帮助。

     在HAL软件中,它具有以下配置,是否可以实现?

    谢谢,此致,

    樱桃

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Cherry,

    不,这不是两次传输之间的延迟。 此传播延迟用于计算CAN位定时。  由于CAN控制器通过位次仲裁来管理总线访问,因此必须确保从发送器到接收器再到发送器的信号传播时间必须在一位时间内完成。

    为了确定准确的位采样点,CAN标准将标称位时间划分为四个非重叠时间段:

      其中标称位时间Tb=1/can波特率

    四个非重叠时间段为:

    • SYNC_SEG 同步段
      此段用于同步CAN网络中的节点。 信号边缘应在此段内。  
    • prop_Seg 传播时间段
      此段用于补偿网络内的物理延迟时间,例如信号传播延迟和实际CAN节点(即接收器/发射器电路)内的延迟。 分段的长度必须是这些延迟时间的两倍,以补偿从发送方到接收方再返回到发送方的延迟。
    • Phase _Seg1/2 Phase Buffer Segment 1/2 (相位缓冲区第1/2段)
      这些段用于补偿信号边缘相位误差。 它们的长度可通过重新同步进行调整。