【问题标题】:Node with higher ID always losing arbitration in CAN Bus具有较高 ID 的节点总是在 CAN 总线中失去仲裁
【发布时间】:2022-11-01 20:16:25
【问题描述】:

我是 CAN 协议的初学者,参考德州仪器应用报告 SLOA101B - 控制器局域网 (CAN) 简介。

当 2 个节点连续发送 CAN 帧时会发生什么情况,发送帧更高 CAN ID 的节点是否总是会失去仲裁?

据我了解,在最初的仲裁中,ID较低的节点获胜,然后发送数据帧,之后总线进入3隐性IFS,然后两个节点再次发现总线空闲并开始仲裁,这里也是节点较低的 ID 赢得仲裁,依此类推。这意味着发送帧更高 CAN ID 的节点总是会失去仲裁。

【问题讨论】:

    标签: can-bus


    【解决方案1】:

    对,那是正确的。但除标识符外,仲裁还涉及 RTR/SRR 位以及 IDE(扩展标识符)位。因此,标识符为 0x123 的 11 位帧总是胜过标识符为 0x123 的 29 位帧。

    尽管请注意,连续的 100% 总线负载通常意味着总线存在严重问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-10-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-13
      • 1970-01-01
      相关资源
      最近更新 更多