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时,“总线关闭”。

因此:节点进入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控制器的驱动及相关寄存器进行初始化操作。
审核编辑:刘清
什么是感应电机?什么是无刷电机?二者有何区...
时间:2026-10-23
多核DSP的多路同步时钟信号设计
时间:2026-10-23
什么是lcd12864?lcd12864的特性及其应用举例
时间:2026-10-23
IoT无线连接基础知识
时间:2026-10-23
光是一种电磁波,那么光的频率是多少?
时间:2026-10-22
DRAM简介
时间:2026-10-22
电容耦合是什么意思呀?
时间:2026-10-22
什么是单总线
时间:2026-10-21
STM32的CAN总线通信实现
时间:2026-10-21
什么是电源管理?有什么作用
时间:2026-10-20
电阻的单位
时间:2026-03-05
NVIDIA CPU+GPU超级芯片大升级!
时间:2026-03-09
贴片电阻怎么看阻值
时间:2026-03-05
电阻的原理和作用 电阻色环识别图 电路中电...
时间:2026-03-09
什么是室温超导?半导体时代将走向结束?芯...
时间:2026-03-09
HTCC:半导体封装的理想方式
时间:2026-03-06
什么是硅片或者晶圆?一文了解半导体硅晶圆
时间:2026-03-09
一文详解MOS管驱动电路拓扑的设计
时间:2026-03-09
半导体光刻工艺 光刻—半导体电路的绘制
时间:2026-03-09
半导体行业之ICT技术简介
时间:2026-03-09