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.

[参考译文] TCAN337G:如果一个 CAN 节点短路、其他节点将如何在总线上进行通信。

Guru**** 2391415 points
Other Parts Discussed in Thread: TCAN337

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1030366/tcan337g-if-one-can-node-gets-short-how-will-other-nodes-communicate-on-the-bus

器件型号:TCAN337G
主题中讨论的其他器件:TCAN337

您好,

我对 CAN 通信有普遍的疑问、我在设计中使用的是 TCAN337收发器。

CAN 总线上的20个节点。 如果节点1 CANH 或 CANL 接地短路、则完整总线将短路、其他19个节点将如何通信。

控制器如何知道哪个节点短路。 它看起来像所有节点 SOP 通信。

请提出您的意见。

谢谢、

分辨率

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

    Reshma、

    感谢您将此内容引入 E2E。 对于启动器、如果 CANL 对地短路、很可能仍然能够进行 CAN 通信、对于 CANH 短接到 VCC 也是如此。 因此、存在一些故障条件、仍允许进行通信。

    但是、如果这是另一种方法、则 CAN 控制器上有内置的机制可以处理这种情况。 在 CAN 协议内、有内置的错误处理。 这种错误处理的工作方式是递增错误计数器并发送错误帧(错误激活错误帧为6个显性位、错误被动错误帧为6个隐性位)。 一旦这些计数器达到特定阈值、它们将更改其错误状态。 最后、如果导致错误的条件仍然存在、控制器将进入 BUSOFF 状态、此时它将不再发送到总线。 该计数器的工作方式是发送器将递增8、错误接收器将只递增1。 因此、导致错误的传输节点将增加并更快地到达总线关闭状态、而接收节点将增加1、但仍然正常。

    现在、如果所有节点都因为电缆束短路而受到影响、那么所有节点将根据其错误状态传输错误帧、 但实际上、由于传输误差使计数器更快地增加到 BUSOFF、问题节点会被处理、这将使该器件停止完全传输并将总线引脚设置为高阻抗。 一旦发生这种情况、 其他节点将能够 进行传输。 如果故障是沿电缆发生的、则这不是特定于一个节点、所有节点都将显示错误。

    此致、

    Eric Hackett