【车载开发系列】车载总线的Busoff功能需求

【车载开发系列】车载总线的Busoff功能需求

【车载开发系列】车载总线的Busoff功能需求

  • 【车载开发系列】车载总线的Busoff功能需求
    • [一. 什么是Busoff](#一. 什么是Busoff)
    • [二. Busoff机制需求](#二. Busoff机制需求)
    • [三. Busoff监控开启/关闭条件](#三. Busoff监控开启/关闭条件)
    • [四. 记录故障码条件](#四. 记录故障码条件)
    • [五. 消除故障码条件](#五. 消除故障码条件)
    • [六. 快恢复模式](#六. 快恢复模式)
    • [七. 慢恢复模式](#七. 慢恢复模式)
    • [八. 故障后的超时监测](#八. 故障后的超时监测)

一. 什么是Busoff

BusOff就是总线掉线的意思。当前节点Can线发生短路(物理短接)或发向总线的报文被干扰出错(NO ACK错误也会导致TEC++),这个时候当前节点需要向总线发送错误帧,发送错误计数器(TEC)开始计数(发一帧错误帧TEC+8,成功发送一帧正常帧TEC - 1),当TEC > 255,当前节点进入就进入了BusOff状态,此时节点将不再接收/发送报文。

根据错误计数器值,节点可以分为主动错误状态,被动错误状态以及Busoff发生状态三种。

上面这个就是ECU节点错误的状态图,其中TEC(发送错误计数器)/REC(接收错误计数器) 都是硬件计数器的意思,这些硬件的计数器都是由硬件寄存器来实现的。

二. Busoff机制需求

Bus Off为ECU总线通讯关闭,ECU进入Bus Off故障后报文发送被禁止。通过访问CAN控制器状态识别Bus Off错误,当ECU检测到Bus Off错误后,需进行Bus Off恢复计时,并且CAN控制器要立即执行初始化。

ECU首次进入BusOff需执行快恢复,五次连续的快恢复(连续的快恢复是指两次快恢复之间该ECU未发送任何正常报文)之后再次进入Bus Off故障需执行慢恢复。

三. Busoff监控开启/关闭条件

ECU Bus Off错误监控开启条件一般情况下与网络相关诊断开启条件一致,也就是ECU在唤醒状态下,供电电压范围在网络相关诊断开启电压范围(9-16V)之内,TDiagStart以及TReStart发生超时的时候,Busoff将会被触发。

如果ECU没有唤醒(通讯关闭,报文停止发送),或者供电电压范围在网络相关诊断开启电压范围(9-16V)之外,或者TDiagstart没有超时,那么即便Busoff故障,故障码也不会发生。

四. 记录故障码条件

当ECU进入Busoff之后快恢复要被执行,如果ECU经历三次连续快恢复之后仍然不能恢复,ECU需在第四次进入BUSOFF故障时,记录BUSOFF的故障码(在这里目前常规情况下第八次记录Busoff、故障的比较居多)

ECU处于Busoff故障时网络管理状态必须不能被影响。

五. 消除故障码条件

在快慢恢复计时器满后,ECU尝试在总线发送报文,当成功发送一帧及以上正常报文,表示ECU从Busoff状态恢复。

ECU成功从Busoff状态恢复,且持续100ms内没有再次进入Busoff状态的情况下,ECU需要清除Busoff故障码的当前故障,保持历史故障。

快恢复和慢恢复过程是强制的,所有周期型混合型的报文要在ECU离开Busoff之后尽可能快的发送出来。

根据主机厂的不同,Busoff故障码清除条件也不同。

时间 计时开始条件 标准值
快恢复计时器T_BusoffQuick ECU发送错误计时器达到了255,进入故障时开始计时 100ms±10ms
慢恢复计时器T_BusoffSlow ECU发送错误计时器达到了255,进入故障时开始计时 1000ms±50ms

六. 快恢复模式

进入Busoff之后ECU需要立刻重新初始化CAN控制器,同时开启T_busoffQuick计时器,关闭ACK应答机制(快恢复期间不发送报文)。连续5次快恢复之后进入慢恢复状态。

在ECU初始化CAN控制器完成之后,检测到累计128次11个连续隐性位后控制器可以打开ACK应答机制。

七. 慢恢复模式

进入Busoff之后ECU需要重新初始化CAN控制器,同时开启T_busoffSlow计时器,关闭ACK应答机制。

在ECU初始化CAN控制器完成之后,检测到累计128次11个连续隐性位后控制器可以打开ACK应答机制。

八. 故障后的超时监测

Busoff故障发生之后,ECU内部计数器(NBusOffCount)加1,当计数器累加到NBusOffCount的时候,就记录Busoff的故障码。

当ECU进入Bus Off模式后,ECU应只存储Bus Off故障码,不存储超时故障码。

参数 最小值 标称值 最大值
NBusOffCount - 8次 -

☆当NBusOffCount等于8时,即执行5次快恢复,2次慢恢复后仍然没有恢复通信,在进入第三次慢恢复之前记录Bus Off故障

☆NBusOffCount 清零策略:节点连续5s 未发生Bus Off,计数器清零

相关推荐
码界奇点3 天前
基于Dash+FastAPI的通用中后台管理系统设计与实现
python·车载系统·毕业设计·fastapi·源代码管理·dash
QQ_7781329744 天前
第十二天~ARXML专题:深入剖析E2E Profile 1在CAN Matrix中的守护之道
车载系统
达不溜的日记5 天前
BootLoader—基于CAN的FBL详解
网络·stm32·嵌入式硬件·mcu·车载系统·软件工程·信息与通信
0***R51511 天前
HarmonyOS在智能车载中的车载系统
华为·车载系统·harmonyos
F***c32511 天前
HarmonyOS在智能车载系统中的应用实践
华为·车载系统·harmonyos
c***979812 天前
HarmonyOS在智能车载系统的集成
华为·车载系统·harmonyos
进击的横打14 天前
【车载开发系列】再谈集成测试
车载系统
FrameNotWork14 天前
#RK3588 Android 14 虚拟相机 HAL 开发踩坑实录:从 Mali Gralloc 报错到成功显示画面
android·车载系统
半个西瓜.15 天前
车联网NFC测试:NFC信号嗅探测试.
网络·安全·网络安全·车载系统