2.5测试系统硬件搭建
ECU的输入信号一般是传感器采集的整车环境变量(如油压信号、水温信号等模拟信号)或者是开关输入信号(如换档旋钮开关、E/P开关等)组成。首先,在SCU的需求定义文档中查找所有输入信号的类型和数值范围,就可以确定如图6所示的模拟信号发生器和开关信号发生器的参数和通道数。如果不使用模拟和开关激励信号发生器,也可以采用实车上的开关和传感器直接动作得到输入信号(输入信号复杂或者信号数量过多建议使用激励信号发生器)。BOB跳线盒是为了方便连接I/O信号和模拟传感器故障使用。
SCU通过既定的内部程序对输入信号进行逻辑判断,获得驾驶意图和整车状态,并将对应的控制信息以串行电平信号(即CAN消息)发送到车载总线上,通过总线广播或者点对点通信来控制目标对象。为了便于对总线信息的解析和监控就需要相应的车载网络分析仪。图6搭建的总线模块选用的是由Vector公司开发的一款CAN总线分析仪。
2.6测试系统软件设计
CANoe软件是集总线仿真、记录、测试于一体的汽车网络开发软件平台,主要由数据库编辑器(CANdb++ Editor)、 CAPL浏览器(CAPL Browser) 、主窗口、面板编辑器(Panel Editor)、 CAPL程序生成器(CAPL Generator)、面板生成器(PanelGenerator)等模块组成。利用数据库编辑器可以创建行业上通用的DBC数据库,通过对象链接功能可以在信号与消息、消息与网络节点、消息信号与网络节点之间建立树形关系。利用面板编辑器提供的控件可进行可视化测试界面的设计。CAPL语言是CAN总线访问编程语言(CAN Access ProgrammingLanguage),应用于该工具节点编程,类似于C语言,同时CAPL是基于事件建模的语言,方便易学容易掌握。
使用CANoe软件搭建虚拟仿真环境。网络结构中包含ECUI仿真节点、ECU2仿真节点、ECU3仿真节点,SCU为该网络真实节点。为了实现测试结果的可视化和测试过程的自动化,使用面板编辑器(Panel Editor)进行测试面板设计,使用CAPL语言进行测试脚本的编辑。
2.7进行测试
将设计出的所有测试用例在搭建好的测试系统下执行测试并记录测试结果。然后,分析测试结果对测试对象SCU进行评价,给出功能缺陷表和修改建议。
3 结束语
本文以SCU为例,介绍了一种基于状态转换的车载电子控制单元功能测试用例设计的方法,解决了传统车载ECU功能测试用例设计方法中无法兼顾到的输入条件组合与有序状态转移的问题。并给出了一种实用性强、性价比高的测试系统搭建平台,主要是利用激励信号发生器和CANcase搭建测试系统硬件部分,使用CANoe软件进行节点仿真、测试监控面板设计以及脚本编辑,很好地解决了搭建车载ECU功能测试系统所面临的系统搭建困难、时效差、高投入等问题。在大部分车载ECU功能测试过程中值得借鉴和参考。