基于虚拟仪器的程控FIU设计
2016-08-23蔡永祥丁光林张云龙
蔡永祥 丁光林 张云龙
基于虚拟仪器的程控FIU设计
蔡永祥 丁光林 张云龙
(中国汽车技术研究中心,天津 300300)
使用自行开发的故障注入板卡组成故障注入箱,串联在ECU与硬件在环(HIL)系统之间,通过CAN总线或串口控制,实现任一通道的开路、对地或对电源短路及任意两通道之间短路故障注入。基于NI公司的LabVIEW软件编写上位控制界面,支持一键导入各通道故障注入模式配置文件,使用灵活可靠。
程控 FIU HIL LabVIEW
引言
为提高车辆动力性、舒适性与排放性,大量电控模块被应用到汽车上。HIL系统是ECU开发工作中必不可少的平台,应用该技术可有效地缩短开发周期、降低开发成本。[1]
故障注入单元(Fault Injection Unit,FIU)是一种升级仿真系统的简便方法,其可串联在ECU与HIL系统之间,通过程控实现任一通道的开路、对地或对电源短路及任意两通道之间短路故障注入,而无需额外配置。
本文使用自行开发的故障注入板卡组成故障注入单元,该FIU提供90个通道,单通道上允许通过的电流可达10A,具有7种故障注入模式,可用于执行器故障注入,也能用于传感器故障注入。
图1 带FIU的HIL系统简图
1 系统方案
该FIU主要由9块故障注入板卡组成,开关类型为继电器,使用12V电源。依据测试需求,编写了MCU控制程序。
基于NI LabVIEW编写上位控制界面,包括导入测试用例配置文件、多通道故障注入、监控故障注入后的ECU相应状态等。上位控制界面通过RS232或CAN与FIU通信。
2 硬件设计
故障注入单元可整合到大型测试机柜内部,也可作为单独的设备使用。
故障注入单元的前面板如下图所示:
图2 故障注入单元前面板
故障注入功能通过板卡实现。每块板卡上有20个继电器和10个通道,每个通道中使用2个继电器。一个继电器中有两个开关,即单个通道由4个开关控制。板卡一端接ECU,另一端接负载,其原理简图如下:
图3 故障注入板卡原理图
当K42、K11、K40和K41四个开关均断开时,ECU与负载接通,此为正常状况。其余开关状态与故障模式的对应关系如表1所示:
表1 开关状态与其所对应的故障模式
3 软件设计
3.1 板卡MCU程序
故障注入板卡的核心是微处理器。本文选用16位微处理器,用C语言编写其控制程序。基于此程序,所有的板卡可以通过CAN或串行通信端口RS232来控制。各个板卡之间通过不同的地址来识别,地址通过板卡上的拨码开关设置。为了避免在一条线中传输多个信号,必须先设置板卡地址,才能实现故障注入功能。
图4 FIU故障注入板卡
RS232串行通信格式为9600波特率、1起始位、1停止位、无奇偶校验位。用串口通信控制时,有两种故障注入方式:
故障注入方式一:故障能够持续任意时间,直至人为停止故障注入。故障注入方式二:故障持续特定时间,然后自动恢复为正常状态。开关切换的速度很快,其动作时间的典型值为3ms、释放时间的典型值为1.3ms,能够仿真松动的触点、或在十分精确的时段内注入故障。
用CAN通信控制时,可实现故障注入方式一。CAN报文共有8个字节,其中前7个字节用于设置寄存器状态,每个字节的高四位为板卡通道,低四位为相应通道状态,最后一个字节为命令字节,无效时设置为0xFF。0xF0用于板卡所有通道状态寄存器清零、继电器恢复正常,本报文其他指令同时也为无效。0xFE用于设置状态寄存器响应到继电器输出。
3.2 上位控制界面
通过串口通信控制时,微控制器仅能够识别数据位形式的指令。这种指令十分抽象,不便于测试人员使用。为了直观、方便操作、提高测试效率,本文使用LabVIEW软件编写了故障注入单元的上位机控制界面。
图5 FIU上位机控制程序
控制界面左侧上方用于配置测试信息,包括测试设备配置文件和测试用例表格;左侧下方用于输入控制指令,包括延时任意时间、延时特定时间、清除故障等。
ECU的诊断功能必须在指定时间内检测每个故障。该程序提供FIU状态追踪显示,可以测量或标绘FIU状态,从而监控故障注入之后ECU的故障码和相应状态。因此,控制界面右侧能够选择并显示所有通道的故障状态。
其程序框图如图6。
图6 FIU程序框图
手动版测试程序具有导入测试用例表格的功能,优点如下:
(1)测试人员能够按照一定的格式更改测试项信息,增加程序应用的广泛性;(2)方便测试人员实时掌握测试项信息;(3)防止因误操作而引起的硬件损坏:测试人员需要选择某一通道的某个故障注入功能是否可用。被禁用的故障注入功能不会出现在故障状态选项中,防止特定通道电流过大而烧毁被测件或其他设备,从而达到保护硬件的目的。
测试开始时,首先导入测试设备配置文件和测试用例表格。点击延时任意时间,然后点击某一通道,即可选择该通道的正常状况和7种故障状态(若故障注入功能均未被禁用)。对某一通道进行故障注入后,再选择正常状况,该通道即正常接通。点击清除故障,则所有通道复位,故障被全部清除。此为故障注入方式一,可以按顺序对多个通道进行不同的故障注入。
导入文件后,点击延时特定时间,完成对通道故障状态的选择,接着在相应通道右侧输入故障持续时间,故障即被注入,在此期间任何命令不起作用。到时间后所有通道自动复位。该功能可以在精确的时间内对多个通道进行不同的故障注入。测试用例文档如图7所示。
图7 诊断DTC测试用例表格
测试用例表格中未使用的通道在程序界面上同样被禁止,防止对测试工作造成干扰。
4 结束语
本文所述的基于虚拟仪器的FIU,一方面可以集成到HIL测试系统中,完成对ECU的故障注入,增加ECU测试的完整性和可靠性,缩短ECU的开发周期。另一方可以用于诊断功能测试,大大提高测试效率,测试人员能够将精力集中在测试用例上。而完善的诊断功能测试可以提高车辆维修的效率,增加整车的可靠性。
利用LabVIEW软件编写的FIU上位机控制软件,具有故障注入状态追踪显示、多通道故障注入、防止误操作等功能,能够帮助测试人员高效地完成对ECU的诊断测试。
目前,该FIU及其上位机程序已成功应用于某主机厂新车型的功能与诊断DTC测试中。
[1]魏胜锋,王绍銧等.发动机实时模拟系统中的发动机模型及其应用[J].内燃机工程,2002,24(6):62-64.
[2]胡建军,赵玉省,秦大同.基于CAN通信的混合动力系统硬件在环仿真实验[J].中国机械工程,2008,19(3):300-304.
[3]孙宏军,张涛,王超,等.智能仪器仪表[M].北京:清华大学出版社,2007.
[4]陈树学,刘萱.LabVIEW宝典[M].北京:电子工业出版社,2011.
Design of Remote-Controlled Fault Injection Unit Based on Visual Instrument
CAI Yongxiang, DING Guanglin, ZHANG Yunlong
(China Automotive Technology & Research Center, Tianjin 300300)
The fault injection unit composed of self-developed fault injection boards can be interconnected in series between ECU and HIL system. The unit controlled via one serial communication port RS232 or CAN is able to make the channel an open circuit, shorted to the ground, to the UBat or to any user-defined channel. The host computer program written by NI LabVIEW supports importing the configuration file for fault injection mode of each channel by one click, proved to be flexible and reliable.
programmable control, fault injection unit, hardware-in-the-Loop, labview