【车载开发系列】车载总线的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,计数器清零

相关推荐
Cho1yon6 小时前
【第15期:车机CarPlay使用中语音唤醒失效问题分析与解决方案】
macos·车载系统·objective-c·cocoa
小羊子说2 天前
Android ANR 原理浅析
android·性能优化·车载系统
Cho1yon2 天前
【AI Agent 第十期:基于 scrcpy + PyTorch 的车载系统多屏自动化测试工具开发】
人工智能·pytorch·ui·车载系统·自动化
半个西瓜.3 天前
车联网安全:GPS定位测试.(静态欺骗)
网络·安全·网络安全·车载系统·安全威胁分析
半个西瓜.3 天前
车联网安全:GPS定位测试.(动态欺骗)
网络·安全·网络安全·车载系统
Cho1yon5 天前
【第14期:多屏播放dvr视频和其他三方视频黑屏分析思路闪屏
车载系统·音视频
Cho1yon5 天前
【AI Agent 第五期:使用AI实现车载智能座舱屏幕异常检测(黑屏、闪屏、花屏、卡顿):从零到一的实战方案】
人工智能·车载系统
Oflycomm6 天前
Wi-Fi 7汽车领域应用全景解析:智能座舱的“超高速神经中枢”如何重塑未来出行?
人工智能·车载系统·汽车·高通·wifi7·wifi模组
道长爱睡懒觉7 天前
后端中级开发转行学车载测试的第一天(参与者、车型、电源类型、电源模式车辆模式)
车载系统
千里马学框架8 天前
Android Automotive CarService 和 CarManager 源码剖析
android·车载系统·framework·系统开发·car framework