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

相关推荐
汽车仪器仪表相关领域7 天前
动态诊断充电中枢:DCA-8000型动态诊断充电系统 4S店/维修连锁/新能源服务站/车队维保全场景实战全解
人工智能·车载系统·汽车·负载均衡·压力测试·可用性测试
杰克崔7 天前
android的lmkd的实现及代码分析
android·linux·运维·服务器·车载系统
进击的横打10 天前
【车载开发系列】入坑RH850芯片
c语言·车载系统
进击的横打10 天前
【车载开发系列】GPIO核心概念理解
车载系统
进击的横打12 天前
【车载开发系列】Renesas Flash Programmer (RFP) 反向读取功能
车载系统·编辑器·rfp
进击的横打13 天前
【车载开发系列】瑞萨RH850芯片基础介绍
车载系统
进击的横打15 天前
【车载开发系列】Renesas Flash Programmer (RFP) 使用教程
车载系统
进击的横打16 天前
【车载开发系列】浮点数与整型数的转换
c语言·车载系统
进击的横打17 天前
【车载开发系列】C语言浮点数入门
c语言·车载系统
王夏奇19 天前
自动泊车技术-入门理解
车载系统