APP下载

汽车ECU自动测试系统研究

2019-09-19

测控技术 2019年4期
关键词:自动测试总线车型

(南昌大学 信息工程学院,江西 南昌 330031)

汽车电子控制单元(Electronic Control Unit,ECU)简称电控单元,是用于实现分析数据、处理数据和发送数据等功能的控制装置[1]。在新车型设计制造过程中,为保证ECU性能符合设计要求,需进行ECU性能测试。对ECU性能进行准确的测试,能够提高生产效率及产品的可靠性和一致性[2]。

早期ECU性能的测试均需要工程师使用原始的测试设备进行精细的测量,按照ECU工作流程及其功能要求,逐步进行验证与计算。由于每个功能的实现的影响因素多,原理复杂,难以在有限时间内完成足够多的测试用例,并且原始的测试方式由于人的主观规避特性,难以捕捉到死锁、资源冲突等错误[3]。自动测试系统[4](Automatic Test System,ATS)是将所有测试用例集成到测试系统里面,使用微控制器运行测试程序,自动完成复杂且数量庞大的测试用例数据集[5],能够用于电子设备和非电子设备的自动性能检测、功能检测及故障检测。

本文分析了车载ECU测试需求,探讨并研究了车载总线自动化测试系统的架构,设计了基于WinForm框架的汽车网络仿真ECU测试管理软件系统,解决了当前自动测试系统存在的一些问题。总体来说,将测试系统变为可二次设计,可扩展且可移植的先进测试系统,在汽车ECU模块测试过程中,提高了工作效率。

1 系统总体方案设计

1.1 测试需求分析

本文测试系统的研究对象为车载CAN,从宏观角度可以从网络性能、功能和网络故障3个方面进行测试。其中网络性能测试体现的是健康状态下的网络通信能力,主要测试网络在不同负载状态下通信的误码率和通信速度等;功能测试即判断通信状态下的数据能否正常收发;网络故障测试也可以称为诊断测试,主要对模块的故障诊断能力进行测试,测试其能够准确诊断故障、报告故障码等[6]。依据CAN网络协议的层次划分,将网络性能测试分为物理层、数据链路层、交互层、网管层和应用层[7]。

1.2 测试系统结构设计

在本文中设计了汽车ECU自动测试硬件系统和软件系统,其中硬件系统主要包含被测对象、工控机、CAN总线分析辅助检测仪器和接线盒4个部分。系统框图如图1所示。

图1 测试系统结构框图

在实际的设计中,为方便实现功能测试,设计并采用了一体化测试机柜和测试台架。测试机柜是用于集成测量设备,包含工控机、总线分析仪、示波器和电源模块等,机柜整体结构从上至下为电源管理系统、测试电源系统、总线测试设备系统、示波器和工控机;测试台架是用于安装汽车内部功能模块,包括BCM、ABS和ESP等。

系统软件部分主要是测试管理软件的设计,编程采用的是商用编程语言C#,集成开发环境采用了Visual Studio 2015。测试管理软件主要包含测试部分、文件操作和权限管理等模块。其中测试部分调用Vector公司的CANoe软件的相关程序集,为实现软件模块重用,使用标准的DLL程序集解析不同车型通信规范的DBC数据库文件,DLL技术[8]的加入降低了开发成本并且易于升级和扩展,实现软件的标准化接口设计。系统中设置3个操作权限:管理员、配置员和测试员,主要是允许或者禁止用户对测试工程信息和测试执行前后涉及到的所有信息进行查阅、修改的权限管理。

2 系统硬件构架

所采用的测试系统主要包含了总线测试设备、总线干扰设备、示波器、程控电源、双极性电源、测试环境配置盒和工控机。硬件系统框图如图2所示。

图2 系统硬件框图

总线测试设备采用的是Vector公司的VN1640接口卡,它能够通过USB2.0灵活高速访问CAN网络,支持并行诊断,完成简单的总线分析任务以及复杂的总线在线仿真、校准和诊断等高级功能。

总线干扰设备采用的是Vector公司的CANstressDR干扰仪,它在工作时直接串入CAN总线,在总线上产生干扰逻辑,验证ECU以及CAN总线的抗干扰能力。

示波器采用了PicoScope5444B,其拥有高达200 MHz带宽和1 GS/s的采样率,具备友好的通信接口,体积小巧,方便集成。

TOE8815-32可编程电源主要用于对设备进行供电测试,能够产生阶跃电压、突变电压和脉冲电压等,满足ISO16750-2对供电电压波形测试的需求。NL10V10C38双极性电源具备±10 V双极性电压、±38 A双极性电流。恒流模式下可独立设置电压上下限,实现地偏移与电源偏移测试[7]。

采用了测试环境配置盒,来调整实时的测试条件。该配置盒是由中国汽车技术研究中心专门针对汽车CAN、LIN总线的物理层测试与模块本地事件IO资源分配定制的设备,满足ECU单节点与系统集成测试需求[7]。通过USB2.0或CAN总线自动配置和搭建测试所涉及的硬件设备与测试电路,是实现ECU自动测试系统的关键,其电路原理图表如图3所示,上位机根据测试用例需要的测试环境下发命令改变电路状态,达到自动测试的目的。

时间等不起,造价出不起。只有一个办法,自己动手。工程师刘家林、施工队长李德铭和大家一起,研究出一个新的方案:原设计要求在路基2.5米以下用直径1560毫米的钢筋混凝土保护管穿越路基,改用直径377毫米的钢管代替混凝土管,可把管底深度由4.04米减少到2.88米,穿越长度由70米缩短到35米。但是,长距离穿越,稍有疏忽就会造成弯曲,即使缩短为30多米,仍有相当长的距离,如稍有弯曲就会损伤路基。因此,大家仍是提心吊胆,兢兢业业,采取了非常严密的措施,并自己设计制造了一个24米长的顶推滑道,以避免管道穿弯,还选用D80推土机,挑选驾驶技术最熟练的推土机手,把顶推的位置固定死。

图3 环境配置盒电路图

3 系软件统设计

为简化测试操作流程,提高相关文件的利用率,方便相关参数的保存和查看、测试结果的查看,以及对比和增强测试报告的可读性,设计了测试管理软件。主要分为以下几大模块:账号登录、账号管理、配置管理、测试管理和报告查看。软件集成CANoe的网络测试接口,使用嵌入式数据库SQLite、XML技术和DLL技术,并针对用户技术资料保密需求划分了用户权限,分为三级:管理员、配置员、测试员。

3.1 功能模块设计

① 账号登录模块:规定用户使用系统时必须输入用户名和密码,且两者都与系统已存的数据完全匹配,才能够正常使用本系统,达到保护数据安全的目的。

② 账号管理模块:可以在该界面修改用户密码和上传用户头像照片。

③ 配置管理模块:包含车型管理、任务管理和供应商管理。车型管理有车型创建功能和车型配置功能,其中管理员具有所有权限,配置员只可操作车型配置功能。车型创建包括车型、配置、阶段的创建;车型配置是上传和导入车型相关配置文件的入口,例如上传DBC文件、网络拓扑图、配置表以及用例表。任务管理部分规定只能由管理员或者配置员进行修改,该部分能够创建任务、编辑用例,任务创建是创建已有的某个车型-配置-阶段下模块的单节点或集成测试任务,并且编辑该车型管理中该车型-配置-阶段下已经配置好的用例表,根据测试需要做相关的修改后与当前测试任务绑定,保存到数据库中的任务表中,配置管理界面如图4所示。

图4 配置管理

④ 测试管理模块:允许所有用户使用,是本测试系统的核心部分,负责调用CANoe软件,打开并运行测试脚本,并在界面上展示测试进度及测试结果,并提供打印报告功能,界面如图5所示。

图5 测试管理

将XML和DLL技术相结合应用到本文的自动测试系统中,提高了系统的可配置性和可移植性。

3.2 数据管理子系统设计

本测试系统软件采用了Client/Server(C/S)模式,对数据库的要求是具有较高的读写性能,比如能够快速地处理数据和频繁读/写磁盘文件。因此本系统的数据库设计中采用SQLite+NHibernate的结构。SQLite是一款轻量级关系型数据库管理系统,具有较高的读写速率;NHibernate框架能够把数据库中的表映射成面向对象语言中类描述的对象。

使用SQLite Expert Professional工具查看和编辑数据库,它是一款可视化SQL数据库管理工具,创建如图6所示的数据库表。根据系统功能分析,创建了配置表模板表、DBC文件表、员工表、文件关联表、操作日志表、报告表、模块供应商表和测试任务表。

图6 系统数据库表

配置表模板表是用来存储各个车型的配置表信息,表中包括该车型所有电控单元的具体结构的信息。DBC文件表用来存储各车型的DBC数据库信息,DBC文件是CAN总线的通信规范矩阵,用来解析CAN网络上传输的信号。员工表是用来保存主机厂员工信息和管理软件登录密码。文件关联表是将车型与该车型对应的配置表与用例表关联。操作日志表即是用来存储用户在管理软件上所做的操作,包括对数据库的增、删、改,以及车型模块测试信息等重要操作。报告表存储测试任务完成后得到的解析成JSON串格式的报告,模块供应商记录了要测试的模块的供应来源。测试任务表记录系统中创建的任务信息,也包括该任务下测试模块的用例表信息。

在数据预处理环节,采用了JSON(JavaScript Object Notation)数据格式。JSON是一种轻量级的完全独立于语言的数据交换格式,专门为嵌入式及轻量级系统应用设计,具有良好可读性和友好的数据接口。系统中大量使用了JSON格式,比如报告表中的测试结果和文件关联表中的配置表信息和用例表信息。

4 汽车ECU测试及结果

下面以ECM电控单元的单节点测试为例,自动测试流程如图7所示。按照流程,先后创建车型、管理员授权给配置员、配置文件、上传DBC数据库文件以及网络拓扑图和导入供应商信息,最后根据该款车型的协议规范编写配置表信息、用例表信息。本次测试车型的网络拓扑图如图8所示。

图7 测试流程图

图8 网络拓扑图

管理软件系统操作依次为:① 添加要测试的ECM模块;② 打开测试管理,启动CANoe执行指定路径下的硬件自检的测试脚本文件;③ 单击ECU测试按钮,调用CANoe执行ECM的测试脚本文件,得到测试结果和测试报告。

最后将生成的测试结果(XML报告文件)按主机厂要求测试报告格式解析,得到最终的报告结果,图9为隐性电压差分测试时示波器截图,CANoe监控总线数据如图10所示,图11为某主机厂测试结果报告的部分数据。

图9 隐性电压差分测试示波器截图

图10 CANoe监控总线数据

图11 ECM测试部分报告

在本文的汽车ECU测试实验中,自动测试系统与手动测试相比,线路更加清晰,需要更少的人工参与,测试执行更加智能化,结果可读性更好且花费的时间也更少,仅为手动测试的1/10,人工测试环境如图12所示。

5 结束语

针对目前汽车ECU手工测试方式存在的问题,提出了汽车ECU自动测试系统的解决方案,构架了包含工控机、CANoe和测试环境配置盒的硬件测试系统,设计了数据库、系统软件界面及测试操作流程,实现了基于CAN网络的ECU自动测试,完成对CANoe生成的XML格式的测试结果的解析及生成客户定制格式的测试报告。经实际开发及应用,该自动测试系统的解决方案降低了测试工作量,缩短了ECU开发周期,节约了开发成本,具有很高的实际应用价值。

图12 人工测试ECM环境

猜你喜欢

自动测试总线车型
2022全球期待车型 TOP10
一种高速自由流车型识别系统
JXG-50S型相敏轨道电路接收器自动测试台
关于某型雷达自动测试系统的几点认识和建议
一种基于CAN总线的误码测试方法
车型 (五)
2016年最值得期待的十款国产车型
CAN总线并发通信时下位机应用软件设计
基于CAN总线的水下通信系统设计
基于ATE与BIT组合的NAMP自动测试与故障诊断系统设计