CAN Busoff原理/快慢恢复的介绍以及利用Vector VH6501 CAN干扰仪触发Busoff

目录

 

一、什么是CAN Busoff和快慢恢复的介绍:

二、利用VH6501 CAN Disturbance Interface触发CAN Busoff:

三、结尾:


 

一、什么是CAN Busoff和快慢恢复的介绍:

在《ISO 11898-Part 1-Data link layer and physical signalling-2015.12.15》中有对CAN Busoff进行描述,如下图:

 

如果节点的传输错误计数器(TEC:transmit error counter)大于255(8位发送错误计数器时的进位条件),那么管理者应请求物理层将节点设置为Busoff状态。

处于Busoff状态的节点对总线没有影响。 它不应发送任何帧,也不应确认数据帧或远程帧。这样的节点是否接受来自总线的数据帧取决于实现。

在重新启动请求后,处于Busoff状态的节点应集成到CAN通信中(请参见10.9.4),并且在监视总线上128个空闲情况的发生后,其错误计数器都将置为零,变为错误节点(请参见图28)。

 

通俗地说:

ECU一直在往CAN总线上发送CAN报文,但不知道什么原因一直发送不出去,如果这个发送错误计数累计到255( ECU发送失败:发送错误计数 + 8 ECU发送成功:发送错误计数 - 1),ECU进入Busoff模式。ECU在Busoff期间不妨碍总线上的其它节点。

一些主机厂对其系统供应商的设备提出了相应的Busoff后恢复时间需求。例如:当ECU 进入Busoff 模式后,首先,ECU 执行快恢复模式,连续n次(TBD值,不同厂商次数要求不一样)快速恢复后,ECU 进入慢恢复模式

注:所谓的快慢恢复,即进入CAN BUSOFF状态后,ECU重新初始化CAN模块,并等待t(tBusOffQuick 或 tBusOffSlow)后,重新使能总线报文的发送。如果报文发送成功,则CAN BUSOFF恢复成功。

当ECU进入Busoff状态后,因为接收不到其它ECU(相关ECU:至少从该节点接收一条报文)的报文,会产生超时错误,故此时应只存储bus-off故障,不应存储其他ECU的报文超时故障。在ECU从Busoff状态恢复后,立即重新启动报文超时监测功能。

 

二、利用VH6501 CAN Disturbance Interface触发CAN Busoff:

BusOff所需的测试环境:

  1. 硬件工具VH6501 CAN Disturbance Interface(CAN干扰仪);
  2. 上位机软件CANoe 11.0.55 SP2

本次VH6501 CAN Disturbance Interface(CAN干扰仪)的操作手册以CANoe 11.0.55 SP2中的Demo为例,进行的busoff测试,具体操作步骤如下:

 

步骤一:打开“Disturbance(CAN)”的DEMO,如下图所示:

 

步骤二:通道配置。VH6501需要与真实ECU连接,并且ECU所在CAN网络中需要有终端电阻:

 

步骤三确认连接的通道信息,然后点击Start开始运行,此时trace窗口是正确的报文。

 

步骤四通过Panel打开MainConfigPanel面板。

 

 

步骤五:点击MainConfigPanel面板中的Trigger Configuration打开对应如下的配置面板TriggerConfigurationPanel,选择触发位置AckSlot,并且针对特定帧(以Trace中的CAN ID:0x305为例)触发Busoff。

修改前:

 

修改后:

 

步骤六:点击MainConfigPanel面板中的Sequence Configuration打开对应如下的配置面板SequencePanel,配置显性/隐性干扰。

修改前:

 

修改后:

 

步骤七:回到MainConfigPanel面板,CANoe软件运行时,配置面板中干扰的次数和循环次数,再点击面板中的Enable On Device,就可以看到错误帧的出现,只有当计数器超过255,才会进入到busoff。

修改前:

 

修改后:

 

注意:

Cycles一般默认设置为32

Repetitions表示总线断开的次数,对应AutosarCANSM模块中的CanSMBorCounterL1ToL2,根据实际的项目需求选定,Repetitions中设定的值小于CanSMBorCounterL1ToL2,触发对应节点的通信快恢复;而Repetitions中设定的值等于CanSMBorCounterL1ToL2,触发对应节点的通信慢恢复。CANSM模块中也定义了快恢复时间CanSMBorTimeL1 和慢恢复时间CanSMBorTimeL2时间参数,这两个参数根据实际的项目需求选定。

CAN干扰仪干扰后的效果如下图,出现一些错误帧。

 

三、结尾:

猜你喜欢

转载自blog.csdn.net/qfmzhu/article/details/107335763
CAN