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.

[参考译文] RM57L843:CAN 比特率配置

Guru**** 2535750 points
Other Parts Discussed in Thread: RM57L843, TMS320F2812, HALCOGEN

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1115256/rm57l843-can-bit-rate-configuration

器件型号:RM57L843
主题中讨论的其他器件: TMS320F2812HALCOGEN

TMS320F2812必须通过 CAN 与 RM57L843通信。 我们成功地使用500Kbps 实现了这种通信。 但是1Mbps 可以正常工作。  RM57L843不能识别(它不会置位 ACK 位) TMS320F2812帧、它会不断地重新传输它、反之亦然。 使用相同的 CAN 总线(接线)、两 个 TMS320F2812以1MHz 的频率进行通信。

我们怀疑问题是比特率配置。 您能否提供有关如何选择比特率配置参数的建议?  两个 CPU 是否应具有相同的采样点?  

对于 TMS320F2812,时钟为114688000Hz,并且 CANBTC 寄存器的值由 http://www.bittiming.can-wiki.info/提供 ,其类型为 :eCAN、时钟:114MHz、最大 BRP:256、SP:87.5%、最小 tq:8、最大 tq:25、FD 系数:未定义、SJW:1 (0x00050079)

对于 RM57L843、时钟为75MHz、配置参数是通过 HALCoGen 定义的。 注意:对于1Mbps、该工具忽略我们为"SP Ref"选择的值、并且采样点始终设置为90.909。

谢谢。

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

    您好!

    这三个节点可能不会同步和重新同步。  

    最慢节点和最快节点之间的振荡器容差可用于确定最小 SJW。 假设节点 A 是慢速节点、节点 B 是快速节点、 则可以使用以下公式为快速节点 B 选择 SJW:

    节点 B >10*节点 A 位时间的 SJW -节点 B 位时间的10*

    在配置中、RM57 CAN 节点的实际位时间为974ns、误差为1000-974=2.6%。 您能否调整传播延迟(例如500ns、我想您的设置中的传播延迟< 700ns)以减小实际位时间和预期位时间之间的差异?

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

    感谢您的回答。  

    您想在哪里调整 SJW? 在2812中?   HALCoGen 不允许我更改 RM57L843的 SWJ。

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

    您好!

    我们使用您推荐的"传播延迟"值成功地以1MHz 的频率进行通信。 RM57上的"额定比特率"可 更改为1MHz。 请参见图片。

    我们现在的问题是这些设置是否取决于距离、节点数量等其他因素。 我们是否应该担心这一点?

    谢谢、

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

    需要考虑传播延迟、网络上接收发送消息的所有节点应使用相同的波特率。  

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

    好的。 谢谢你。