APP下载

从节点丢失故障码的误报浅谈故障码的测试

2019-04-17王邵龙王睿朝徐大成

汽车电器 2019年3期
关键词:测试用例报文总线

王邵龙,王睿朝,徐大成

(一汽轿车股份有限公司,吉林 长春 130000)

随着CAN总线技术的不断发展和电子控制单元ECU(Electronic Control Unit)不断增多,车用CAN总线的负载率不断提高,通信环境越来越复杂,容易出现节点报文丢失的故障情况。某些ECU不能正常接收所需的总线信号时,ECU会进入故障运行模式,为确保安全性而降低性能、增大排放,甚至是禁止车辆行驶[1],同时记录诊断故障码 (DTC,Diagnostic Trouble Code)。

1 故障现象和原因分析

某车型售后反馈以下故障现象:DWCU(举窗控制器)上电后,发现误记了BCM (车身控制器)、GW (网关)、DSCU(座椅控制器)节点丢失故障。

故障排查和原因分析:在排除了熔断丝盒与蓄电池电压对控制器的影响后,通过对多种供电模式下的DTC记录情况分析发现:①对DTC的误记故障发生在整车切换为OFF档约3 min后;②不同控制器对节点丢失DTC的监控周期,存在参差不齐的情况。相关分析过程如表1和表2所示。

以表1、表2为基础,进一步测试发现DWCU控制器误记节点丢失故障的根本原因:正常情况下,整车切换为OFF档,总线休眠条件满足,进入T[wbs][2]时间等待休眠,此时控制器应用报文停止发送,相应控制器应关闭对报文的诊断监测,而DWCU未及时关闭监测,导致记录大量节点丢失故障,如图1所示。

表1 不同供电模式下记录DTC的情况

表2 不同ECU对节点丢失DTC的监控周期

同时,对控制器记录节点丢失故障的监测时间 (表2)统计后发现,各控制器对相应报文监控时间/周期参差不齐,从最短4个报文周期到最长260个报文周期不等。

图1 T[wbs]期间动作情况

2 故障解决与测试用例优化

2.1 故障解决

针对故障现象,对软件进行升级,对T[wbs]期间的总线监测策略进行了优化,ECU在切换到OFF档进入T[wbs]期间关闭监测;同时,对报文的监控周期统一变更为10倍报文周期,如DWCU监测BCM节点丢失的条件为:10倍报文周期时长内未收到BCM报文,则DWCU认为BCM节点丢失。进行软件升级后,故障现象消失。

2.2 测试用例优化

针对节点丢失故障码出现的误报问题,对诊断测试用例进行了优化,见表3。

表3 增加的测试用例

其中,报文监测周期测试的具体方式为:通过CAPL编程,将被监测节点所发送的被监测报文周期分别调整为9倍、10倍报文周期发送,同时读取被测ECU的诊断故障码产生情况。当以9倍报文周期发送时,不记录故障码,当以10倍报文周期发送时,记录故障码,即为PASS。

3 浅谈相关故障码测试

节点丢失故障是CAN总线通信中的常见故障,针对此类故障码的诊断测试应该从两方面考虑:即不误记、不漏记。此类故障码一般有3个相关参数:即被监测报文周期T1、被监测报文丢失周期计数器n(报文丢失T1时长,计数器加1)、报文丢失标志位 (置位时,记录DTC)。

测试中,需对诊断规范规定的计数器n值进行边界测试:分别考察n-1、n、n+1条件下DTC的记录情况,做到n-1时不误记,n+1时不漏记。由于不同ECU的重要程度不同,对n值可以适当进行调整,也可以设置偏差容忍。如音响、空调控制器等ECU,可适当放宽对n值的容忍度,设置比动力系统ECU更大的n值。例如,对n-3~n+3范围内,认为记录DTC是合理的。EMS、TCU等涉及安全驾驶的动力系统ECU,必须严格考察其对节点丢失DTC的记录策略。

对于T[wbs]和T[diag_start]期间的报文监测测试,本文推荐使用HIL或通过CAPL编程进行自动化测试,可以得到更精确的测试结果[3]。同时,应关注实车情况下的测试情况,在点火开关的各种操作中,关注DTC的产生情况。

4 结论

本文通过对节点丢失故障码误报情况的分析和解决,对节点丢失故障码的测试用例优化和侧重点提出建议,也对其他诊断测试工作有一定借鉴意义。

猜你喜欢

测试用例报文总线
基于J1939 协议多包报文的时序研究及应用
基于SmartUnit的安全通信系统单元测试用例自动生成
CTCS-2级报文数据管理需求分析和实现
浅析反驳类报文要点
基于PCI Express总线的xHC与FPGA的直接通信
机载飞控1553B总线转以太网总线设计
基于混合遗传算法的回归测试用例集最小化研究
ATS与列车通信报文分析
基于依赖结构的测试用例优先级技术
多通道ARINC429总线检查仪