CAN总线busoff原理介绍

admin 2023年9月3日10:02:00评论250 views字数 1060阅读3分32秒阅读模式

1、什么busoff?

BUSOFF,从字面意思可以看出,表示总线的关闭,此时ECU从总线脱离,既不能接收总线的报文,也不能向总线发送报文。

  

2、BUSOFF是如何产生的?

CAN总线上存在多种错误状态,包括:位错误(Bit Check Error)、位填充错误(Bit Stuff Error)、CRC 错误(CRC Error)、帧格式错误( Check Error)、 应答错误(Acknowledgment Error)。

CAN模块配有接收错误计数器(REC)及发送错误计数器(TEC);CAN错误存在三种状态,即主动错误、被动错误、总线关闭;

1.当发送错误计数器和接收错误计数器值都小于128,为“主动错误”

2.当发送错误计数器或接收错误计数器值大于等于128,变为“被动错误”

3.当发送错误计数器大于等于256时,“总线关闭”。

CAN总线busoff原理介绍

因此:节点进入busoff状态,一定是因为节点自身识别到自己发送错误,TEC大于255导致的。

3、BUSOFF恢复机制和故障码记录

1)恢复机制

11898-1规范中,规定:当节点busoff以后,至少要等待连续128个11 bit隐性位;

当有节点发生busoff时,为了不干扰同网段内的其他节点通信,故障节点不应过快地参与通信。先让故障节点进行一个快恢复,这样,因为偶发干扰导致的节点故障可以快速恢复,重新参与通信。如果故障节点经过了几次快恢复,仍然没有恢复正常通信,为了尽可能地降低对同网段其他节点的通信干扰,可以让故障节点进入慢恢复,即:让故障节点不要过快地加入总线,降低其对总线的干扰。

快恢复(L1)

恢复时间, <=100ms

恢复次数,5~10次不等

慢恢复(L2)

恢复间隔, [200ms, 1s]

恢复次数, 不限

2)DTC使能条件

成熟条件:恢复N次不能成功之后,记录DTC

Bus Off产生后,不再记录通信丢失类DTC

3、哪些因素会导致BUSOFF?

引起错误的原因主要包括:

1)CAN_H开路、

2)CAN_L开路

3)CAN_H对CAN_L短路/开路、

4) CAN_L对VBAT短路

5) CAN_H对GND短路

6) CAN_L对GND短路

7) 终端电阻开路

8)CAN控制器或收发器等元器件故障

9) CAN总线信号干扰导致

5、BUSOFF发生后如何处理?

BUSOFF故障发生后,一般可以重启CAN控制器或是重新上电;

当发生CAN总线关闭时,我们可以检查Bus Off寄存器的值,对CAN控制器的驱动及相关寄存器进行初始化操作。

 

源:电控知识搬运工

CAN总线busoff原理介绍

原文始发于微信公众号(谈思实验室):CAN总线busoff原理介绍

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年9月3日10:02:00
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   CAN总线busoff原理介绍https://cn-sec.com/archives/2003863.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息