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.

[参考译文] TMS320F28069:总线关闭

Guru**** 2589265 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/662007/tms320f28069-bus-off

器件型号:TMS320F28069

您好!

为什么 CAN 开路不像 CAN 短接那样被视为总线断开。 我通过短接 CAN-H 和 CAN-L 测试了我的代码、发生了脱离总线错误。 但是、当我打开 CAN-L 和120欧姆电阻器时、显示的误差状态是错误激活和错误被动。  

提前感谢。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Amrutha、
    当 CANTEC/CANREC 达到256时、脱离总线是 CAN 总线上过多错误的总和。 CANTEC/CANREC 的递增/递减由协议规范中概述的一组复杂规则进行控制。 它不仅仅是线路的短路/开路、它是传输/接收过程中发生的影响计数器的这种情况的组合。 从您的帖子中、并不清楚您引入"开放"的确切位置、但它可能并不重要。

    “错误激活”是误导性的术语,它不是错误状态。 这是 CAN 总线的正常工作模式。

    在您的特定情况下、我猜是发送器没有收到 ACK 并保持重新传输、这将 CANTEC 增加到了128、不再如此。 在这种情况下、节点不会脱离总线。 这是正常行为。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Haresh、

    感谢你的答复。 我将清楚地告诉我做了什么:

    1.我移除了连接到 DB9连接器的 CAN-H 线、现在您只能看到在 DB9连接器的引脚2和7之间连接了 CAN-L 和120欧姆寄存器。 这意味着我们可以得出这样的结论:由于 CAN-H 未连接到 DB9连接器、甚至无法传输任何消息、因此您猜到的情况在这种情况下是不正确的。
    2.我调试了代码、启动时它显示错误被动、然后它永远不显示错误被动、而只显示错误主动。
    3.我测量的 DB9连接器的引脚2和7之间的电阻为60欧姆。

    在这种情况下、我们是否可以预期总线关闭?

    请就此向我提供建议。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Amrutha、
    我需要您提供更多详细信息。 请将收发器的原理图连接到 DB-9连接器、并准确显示您切断线路的位置。 同时准确地指示节点当时正在执行的操作(发送/接收/空闲)。 更重要的是、请查看控制错误计数器递增/递减的规则。 上的许多书籍都可以提供此信息。 此外、还有许多在线培训材料涵盖了这些信息。