APP下载

基于一种干扰机制的车载CAN网络BUSOFF测试方案

2014-02-20李攀蔺春明李霞成金峰林国干

汽车实用技术 2014年11期
关键词:网络管理报文总线

李攀,蔺春明,李霞,成金峰,林国干

(安徽江淮汽车股份有限公司技术中心,安徽 合肥 230022)

基于一种干扰机制的车载CAN网络BUSOFF测试方案

李攀,蔺春明,李霞,成金峰,林国干

(安徽江淮汽车股份有限公司技术中心,安徽 合肥 230022)

整车CAN总线测试工作是整个平台架构的重要部分。本文基于美国Vector公司的CANOE和CANSTRESS测试工具实现了一种对整车CAN网络BUSOFF进行系统级的测试方案。首先测试每一节点的BUSOFF恢复机制是否符合预定义的规范。其次使用最高优先级报文或网络管理报文的干扰机制来测试在CAN网络BUSOFF时各个节点的互不干扰性。本文重点阐述了此干扰机制的原理,从理论上说明此干扰机制的正确性,通过编写测试用例验证了此干扰机制以及整体测试方案的准确性、高效性与有效性,并且完善了整车CAN网络的测试方案与测试规范。

CAN 总线;BUSOFF;干扰机制;测试方案

CLC NO.:U462.1Document Code:AArticle ID:1671-7988(2014)11-29-04

引言

随着汽车越来越多的功能需求,整车CAN网络系统应运而生,为汽车的发展提供了新的方向 [1]。整车CAN网络承载着各个控制器之间的信号传递的功能,只有这些信号正常的发送和接受,才能保证汽车正常运转。所以为了确保汽车各项功能正常,整车CAN网络的测试验证的是十分必要的 [2]。同时,在采用当前普遍的CAN网络V型开发模式中,CAN测试诊断阶段在整个平台化设计中扮演着重要的角色[3]。

在整车CAN网络测试中,BUSOFF进行系统级测试的重要性显得尤为突出。进行整车BUSOFF测试的目的是要确保在CAN网络中单个节点发生故障引起的总线关闭状态,不能影响其他节点的正常通信。例如,当整车中的某个节点(车身控制器)发生故障时,不能发送和接受任何信号,就会导致车的部分功能丧失,但是其他的功能(发动机)仍然正常工作,这样可以确保驾驶员可以开到维修站进行维修。

鉴于此,本文基于美国Vector公司的CANOE和

CANSTRESS测试工具实现了一种对整车BUSOFF进行系统级的测试方案。方案使用最高优先级报文或网络管理报文的干扰机制来测试在CAN网络中某个节点总线关闭时,其他节点通行的互不干扰性。如果选取某个节点的全部报文进行干扰,可能带来的影响是整车CAN网络瘫痪,其他正常节点都不能正常通信,造成故障节点不明确,BUSOFF恢复的困难,测试效率低下。

然而本文的干扰机制不是单纯的选择某个节点的所有报文进行干扰,对于不带网络管理的节点应该选择单个最高优先级的报文(有的重要报文的优先级别相同)进行干扰;带网络管理得报文选择干扰网络管理报文就可以干扰该节点的所有报文。本文所阐述的干扰机制有如下的优势:

(1)减少了不相干错误发生的机率,提高测试的效率;

(2)保证了整车网络各个节点相互独立,互不影响,在发生故障时也不影响整车网络通信,提高测试的准确性与有效性;

(3)完善了整车CAN网络的测试方法与测试规范。

1、测试方案系统的框图

测试方案的框图包括如下几部分,如图1。发动机控制单元、仪表控制单元、车身控制单元和胎压控制单元组成了整车的CAN 网络。CANCASE和CANSTRESS是测试的硬件设备,软件测试模块主要由CANOE提供 [4]。CANOE是用来监测报文和分析报文用的 [5],CANSTRESS是模拟CAN总线的故障发生器,干扰节点的报文使其出现BUSOFF故障。CANSTRESS干扰多个报文的机制是:多个报文的ID“与”之后,得到一个共同的序列号,只要满足这个序列号的报文都会被覆盖,受到干扰。数据库是CANOE与CANSTRESS用来记录整车通信的所有信号、报文和节点,以及他们之间的收发关系。

接下来重点介绍CAN总线的各个节点报文、CAN总线控制器的错误状态。

1.1 各个节点及其相应报文ID

整车CAN网络的各个节点及其相应报文ID如表1所示。

表1中,EMS:发动机控制单元,ICM:仪表控制单元,BCM:车身控制单元,TPMS:胎压控制单元,0X102和0X101为相应节点的网络管理报文,其他报文为周期性报文。

CAN总线“与”通信模式 [6]是通过各个节点的报文ID进行仲裁,显性位能够覆盖隐性位,即报文ID值越小,报文优先级越高。

根据CAN总线“与”通信模式,可以得到EMS、ICM、BCM、TPMS各个节点的报文ID的优先级,如表2。

表1 节点及其相应报文ID

1.2 CAN总线控制器的BUSOFF状态

CAN控制器即ECU内部的两个8位计数器,取值范围是0~255。如果在发送(或接收)报文的过程中产生错误,TEC(或REC)的数值会增加。根据ISO11898规范,REC与TEC的数值来界定CAN控制器状态:主动错误、被动错误或总线关闭。当发送错误计数器的值大于255时CAN控制器应该进入BUSOFF(总线关闭)状态 [6]。

在ISO 11898里明确规定,当某节点处于总线关闭时,不能发送也不能接受任何信号,所以一旦某节点处于BUSOFF,该节点的功能就会全部丧失。所以对BUSOFF恢复机制的测试也就尤为重要。

带网络管理的节点符合OSEK网络管理规范,OSEK对网络管理的要求是从BUSOFF恢复后的第一帧报文必须是网络管理报文。

2、整车CAN网络BUSOFF的测试方案

CAN总线的BUSOFF测试方案包括单个节点测试和系统级测试 [4]。

2.1 单个节点BUSOFF测试方法

需要对单个零部件节点进行BUSOFF 测试的目的是测试各个节点的BUSOFF 恢复机制与预定义的恢复机制是否一致。

CANOE CAN 是用来总线监测报文和分析报文,CANSTRESS 是模拟CAN 总线的故障发生器。使用

CANSTRESS来干扰待测节点某一帧报文的RTR位,使其发生总线关闭故障,同时通过CANOE观察此节点发出的错误帧个数和恢复时间,得到如图2所示的BUSOFF的恢复时序图。表3表示此节点出现总线关闭后的请求BUSOFF恢复的时间间隔。

表3 请求BUSOFF恢复的时间间隔

图2和表3说明:

(1)在BUSOFF COUNTER值小于6时,每100ms左右尝试恢复,BUSOFF COUNTER值等于6时,每1000ms尝试恢复。

(2)当BUSOFF COUNTER达到6时,此后,如继续检测到BUSOFF, BUSOFF COUNTER仍保持为6。

(3)在5000ms时间内未检测到BUSOFF,则BUSOFF COUNTER清零,BUSOFF恢复成功,故障类型由当前故障转换为历史故障。

结果分析:对于不带网络管理的节点,使用CANOE能监测到的错误帧和上述规定恢复方式一样。那么可以判断单个节点的BUSOFF恢复策略符合预定义的要求。

2.2 整车CAN网络BUSOFF系统级的测试

本文使用两种思路来对整车CAN网络BUSOFF系统级的测试。第一种是采用干扰其中一个节点所有报文的机制,第二种是使用最高优先级报文或网络管理报文的干扰机制。

2.2.1 采用干扰节点所有报文的测试机制

在整车CAN网络的BUSOFF的测试中,采用干扰某节点所有报文的测试机制,测试结果见表4。

表4 采用干扰某节点所有报文机制的测试结果

(“√”表示该帧报文正常发送,“×”表示该帧报文不能正常发送)

从表4的测试结果可以看出:

(1)当干扰ICM、BCM、TPMS的全部报文时,都不影响其他节点的通信。

(2)当干扰EMS的全部报文时,其他所有节点的报文也不能正常发送,影响了整个网络的通信。

这种测试机制是不符合ISO11898标准的,一个节点出现BUSOFF故障,影响其他正常节点正常通信,这种测试方法不利于完善整车BUSOFF测试规范。

2.2.2 采用最高优先级报文或网络管理报文的干扰机制

在整车CAN网络的BUSOFF的测试中,采用最高优先级报文或网络管理报文的干扰机制。测试结果见表5。

从表5的测试结果可以看出:

(1)干扰其中一个节点的一帧报文的时候不影响其他节点正常通信,也不影响整个网络的通信。

(2)干扰某个节点优先级比较高的报文时,该节点优先级比较低的报文发不出来;干扰其中一个节点的优先级比较低的报文的时候,该节点优先级比较高的报文依然可以正常发送。

(3)同时干扰EMS两个最高优先级的报文,EMS节点所有报文被干扰,但是不影响其他节点通信,同时也不影响整个网络的通信。

(4)干扰BCM和ICM的网络管理报文,本节点的其他应用报文无法发出。

这种测试机制是符合CAN网络协议规范的。通过采用最高优先级报文或网络管理报文的干扰机制,达到了只干扰网络中某个节点的目的,不影响CAN网络的其他正常节点的通信。测试结果验证此干扰性机制的有效性与准确性。

表5 采用最高优先级报文或网络管理报文干扰机制的测试结果

(“√”表示该帧报文正常发送,“×”表示该帧报文不能正常发送)

3、分析整车CAN网络BUSOFF的测试结果

本节的目的:分析采用干扰某节点所有报文的测试机制,影响其他正常节点正常通信的原因;分析采用最高优先级报文或网络管理报文的干扰机制时的有效性与准确性。

在CANSTRESS干扰多个报文的机制下,多个报文的

ID“与”之后,得到一个共同的序列号,然后凡事符合此序列号的报文ID都会被覆盖,受到干扰。使用CANSTRESS多报文干扰机制得到报文ID“与”分析的结果,如表6。

表6 CANSTRESS多个报文干扰机制

相同的就是“0”或“1”,不相同的就用“X”

3.1 分析干扰节点所有报文的测试机制

由表6,选择EMS这个节点的所有报文时,得到的干扰序列为“0XX XX0X XXXX”。而此干扰序列可以同时覆盖EMS全部报文和ICM、BCM、TPMS优先级比较高的报文或是网络管理报文,所以干扰EMS的所有报文导致整个网络无法通信,只能监测到错误帧的现象,而正常节点的通信信号被覆盖在干扰信号中检测不到。

3.2 分析最高优先级报文或网络管理报文的干扰机制

以EMS高优先级的报文为例来分析第二种干扰机制时的有效性与准确性。

由表2可以得出EMS高优先级的报文是0x10C和0X117,所以使用CANSTRESS干扰报文0x10C和0X117得到的干扰序列号是“001 000XX1XX”,由表6中报文ID的二进制码可以发现此序列号不会覆盖其他节点上的报文ID,所以此干扰序列号不会影响其他节点(BCM、ICM、TPMS)的正常通信。但是根据EMS报文ID的优先级或者EMS的控制器工作流程可知,EMS的其他两个报文ID0x256、0x280也无法正常通信,使EMS节点的所有报文无法发到总线上。所以出现如表5的测试结果。

同理,分别干扰ICM、BCM节点的网络管理报文0x102、0x101也会产生如表5的结果。

因此在进行整车级的BUSOFF测试时,不应该单纯的选择某个节点的所有报文进行干扰,对于不带网络管理的节点应该选择单个ECU最高优先级的报文进行干扰;带网络管理得报文选择干扰网络管理报文就可以干扰该节点的所有报文。

4、结论与总结

本文基于美国Vector公司的CANOE和CANSTRESS测试软件工具实现了一种对整车BUSOFF进行系统级的测试方案,包括单个节点测试和系统级测试。方案使用最高优先级报文或网络管理报文的干扰机制来验证在总线关闭时CAN网络中各个节点的互不干扰性。分析了此干扰机制的原理,从理论上说明干扰机制的正确性,通过测试用例验证了此干扰机制以及整体测试方案的准确性、高效性与有效性,并且完善了整车CAN网络的测试方案与测试规范。为下一步构建一个CAN网络自动化测试平台做准备。

[1] 叶强生,陈书明.CAN总线在汽车网络系统中的研究与应用[ J].微计算机信息.2008.(14).

[2] 吴海峰. 重型卡车总线检测技术研究[J]. 汽车实用技术. 2011, (4):40-43.

[3] 蔺春明,孙永锋,俞燚等.商用车车载CAN网络系统设计思考[J].汽车实用技术.2013,(12).

[4] 马继周,杨涛.车用CAN总线自动化测试平台的研发与应用[J].汽车实用技术.2012,(10).

[5] Vector Informatik GmbH. CANoe User Manual. Version 7 [M].

[6] 邬宽明. CAN总线原理和应用系统设计[M].北京:北京航空航天大学出版社,1996.

A BUSOFF Testing Scheme of Vehicle CAN Based on The Interference Mechanism

Li Pan, Lin Chunming, Li Xia, Cheng Jinfeng, Lin Guogan
(The Center of Technology of Jianghuai Automobile Co. Ltd. Anhui Hefei 230022)

Test work of vehicle CAN bus plays an important role in the overall platform design. Based on the testing tools CANOE and CANSTRESS of Vector Company, the paper achieves a system-level BUSOFF testing scheme of vehicle CAN. First, verify that BUSOFF recovery mechanism of each node meets predefined Standard. Second, the scheme uses interference mechanism of the highest priority packets or network management packet to test each node in the network. The paper focuses on the principle of this interference mechanism, and theoretically interferes wi th the accuracy of this mechanism. By writing test cases, the paper verifies the accuracy, efficiency and effectiveness of this interference mechanism and improves the testing scheme and testing specifications of the vehicle CAN networks.

CAN BUS;BUSOFF;Interference Mechanism;Testing Scheme

U462.1

A

1671-7988(2014)11-29-04

李攀,就职于安徽江淮汽车股份有限公司技术中心。

猜你喜欢

网络管理报文总线
基于J1939 协议多包报文的时序研究及应用
以太网QoS技术研究及实践
时间触发通信总线监控技术研究
数控机床DNC网络管理平台在智能制造中的应用
关于CAN总线的地铁屏蔽门控制思路论述
浅析反驳类报文要点
基于OpenStack虚拟化网络管理平台的设计与实现
基于CAN/LIN总线的LED车灯控制研究
网络管理技术的应用分析
流量分析在网络管理中的应用探析