基于ISO 14229协议的汽车ECU自动诊断测试平台开发
2020-06-04费毅杰
何 默,费毅杰,孙 竞
(泛亚汽车技术中心有限公司,上海 201206)
1 概述
随着消费者对车辆的可靠性、安全性、舒适性的要求日益提高,汽车电控系统变得越来越复杂,电子控制单元(ECU)的故障诊断复杂度也相应加大。图1是一种典型的汽车CAN总线拓扑结构。
图1 典型汽车CAN总线拓扑
汽车ECU的日益复杂,使汽车ECU诊断测试变得越来越重要。汽车ECU诊断测试是车载网络处于诊断拓展模式后,检测汽车ECU与电子元件性能好坏的一种重要测试[1]。因此,构建高效的汽车CAN总线自动化诊断测试平台在ECU的开发验证过程中是非常重要的。
目前汽车行业内通用的一款诊断协议ISO14229[2-4],它定义了通用诊断服务UDS (UnifiedDiagnosisSpecification)[5-7],将各种基于不同总线网络的诊断服务进行了统一规定,从而使得在不同物理介质下,车辆的相关诊断服务的开发和应用变得更为便捷,目前已经成为汽车电子领域的通用诊断标准[8]。
2 协议与分析
ISO 14229协议统一了应用层的诊断服务,该协议规定诊断服务报文的首字节是服务标识符SID(Service Identifier),不同SID号对应不同类型的诊断服务,由于GM的开发需求只要求ECU实现12种诊断服务,因此,此测试平台只针对要求的12种诊断服务进行开发。
本文开发的测试系统基于美国Intrepid Control Systems公司开发的neoVI FIRE2工具,研究和设计了基于ISO 14229协议的自动化诊断测试平台,该平台通过与测试台架上的ECU通信,由上位机发送各种UDS诊断命令,采集ECU的反馈,最后判断ECU的状态。测试完成后,最终生成本次测试报告,记录测试状态。
3 测试系统结构
测试平台的构建以满足GM规范定义的ECU诊断测试的所有需求为主要目标[9]。测试平台应包括整车所有ECU的CAN ID,且具有良好的拓展性。为了提高测试效率,满足ECU开发过程中产生的大量回归测试的要求,测试平台旨在实现自动化测试。
测试系统整体框架包括3部分:上位机仿真和测试单元;CAN网络和底层待测ECU模块。测试系统整体框架如图2所示。
图2 测试系统整体框架
测试平台的硬件由美国Intrepid Control Systems公司开发的neoVI FIRE2硬件设备为核心,其他主要有工业计算机、可编程电源、信号通断转接盒等工具设备。
4 上位机软件设计
4.1 测试系统软件构成
本测试台架主要测试内容为电控单元能否正确反馈ISO 14229协议下的各种诊断命令,并测试在各种压力工况下ECU反馈的稳定性。
4.2 功能模块设计
选择以Intrepidcs公司开发的VehicleSpy为软件平台实现ECU的诊断与通信测试。上位机软件整体分为:参数配置界面、UDS诊断服务测试界面、DID List测试界面。
参数配置界面同时作为欢迎界面,用于选择测试平台,诊断ID类型 (功能寻址/物理寻址)及测试ECU,如果在测试模块的下拉菜单中无法找到目标CAN ID,可以在Customer CAN ID中手工设置诊断ID。
UDS诊断服务测试界面,此界面包括了所有架构定义的诊断服务,实现一键自动化测试,也可以对每个诊断服务进行个性化定义测试,测试完成后,点击save按钮,自动生成当前界面的测试报告。
DIDList测试界面测试了所有模块常用的一些DID命令,可以通过DID ALL开关实现所有DID命令的一键化测试,也可以在DID List中选择需要发送的诊断单独发送。诊断自动测试系统示意图如图3所示。
图3 诊断自动测试系统示意图
4.3 自动化诊断测试流程设计
测试程序开发工具主要基于Spy软件。该软件集成了脚本编程环境FunctionBlock和人机交互界面设计GraphicalPanels等多项工具。FunctionBlock可以实现诊断命令的顺序控制、条件响应、逻辑运算等编辑操作,最后实现诊断的自动化测试。
在设计自动化诊断测试上位机软件时,同时设计了针对诊断过程中否定响应的处理机制。根据GM的需求定义,涉及的否定响应有7种,分别提示不同的诊断失败的原因。目前自动化诊断测试平台只测试12种诊断服务 (Service),一些服务还有多个子功能 (Sub-Function),诊断服务测试中诊断命令发送流程如图4所示。
根据对图4的分析可知,诊断服务测试界面测试流程可以分为两个阶段。
根据请求类型的区别,分为功能寻址和物理寻址两种。如果发送的CANid≠$10DBFEF1,则为点到点请求,属于物理寻址;如果CANid=$10DBFEF1,则为功能性请求,属于功能寻址。
图4 自动化诊断测试流程
测试顺序按照ISO14229定义的诊断服务分类以及网络安全定义的要求,各诊断服务的测试按照一定的顺序进行。
5 测试平台应用分析
本测试系统以Intrepidcs spy为开发环境,设计并开发出了基于ISO14229协议的自动化诊断测试平台。
在保证CAN总线报文传输的实时性的前提下,一般要求CAN总线负载不大于70%。总线负载分析是系统级测试的一项重要内容。可以用CAN总线干扰仪将总线负载加至70%左右,观察在极端压力下模块对诊断的反馈情况。图5是自动化测试平台实例图。
自动化测试平台通过OBD接口转换后连接到测试系统上进行调试与使用。ECU的自动诊断测试结果如图6所示。
图5 自动化测试平台实例图
图6 ECU自动诊断测试结果
6 结束语
本文通过构建并应用CAN总线测试平台,90%以上的测试用例实现了自动化测试。通过该测试平台,平均每个电控单元的一轮测试时间约为2~3h,节省了大量的测试时间,大幅度提高了测试效率,可在新车型项目开发过程中,以较短时间完成大量的测试工作,保证了ECU的交付状态,为整车各电控系统的高效运行奠定了坚实的基础,更有力地保证了新车型项目的顺利开发。