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

相关推荐
合兴软件@1 天前
芯片适配快讯:合兴软件ISDT成功适配瑞萨RH850全系列MCU
测试工具·车载系统·时序数据库·嵌入式实时数据库
码界奇点1 天前
基于Spring Boot的内容管理系统框架设计与实现
java·spring boot·后端·车载系统·毕业设计·源代码管理
码界奇点2 天前
基于Spring Boot和Vue.js的房屋出租管理系统设计与实现
vue.js·spring boot·后端·车载系统·毕业设计·源代码管理
徐安安ye2 天前
Flutter 车载系统开发:打造符合 Automotive Grade Linux 标准的 HMI 应用
linux·flutter·车载系统
码界奇点2 天前
基于Spring Boot的后台管理系统设计与实现
java·spring boot·后端·车载系统·毕业设计·源代码管理
车企求职辅导2 天前
新能源汽车零部件全品类汇总
人工智能·算法·车载系统·自动驾驶·汽车·智能驾驶·智能座舱
杰克崔3 天前
localtime接口与localtime_r接口
linux·运维·服务器·车载系统
冬奇Lab3 天前
Android稳定性&性能深入理解专栏介绍
android·性能优化·车载系统·系统架构
码界奇点3 天前
基于微服务架构的企业身份与访问管理系统设计与实现
微服务·云原生·架构·车载系统·毕业设计·源代码管理
码界奇点5 天前
基于Gin+Vue的前后端分离权限管理系统设计与实现
前端·vue.js·车载系统·毕业设计·gin·源代码管理