APP下载

汽车ECU测试系统的研究与实现

2014-03-08莫太平蔡习文张明志

自动化与仪表 2014年7期
关键词:总线模块测试

莫太平,蔡习文,张明志

(1.桂林电子科技大学 电子工程与自动化学院,桂林 541004;2.桂林电子科技大学 计算机科学与工程学院,桂林 541004)

控制器、传感器和执行器等电子器件被越来越多地运用到汽车上,得益于近年来汽车电子的飞速发展。由于消费者对车辆的可靠性、安全性、舒适性的不断追求,使得汽车电控系统变得越来越复杂,造成了车内线束剧增和诊断难度不断加大[1]。为此CAN总线应运而生,成为最受欢迎的现场总线之一,代表汽车车载网络的主流发展方向。由于它具有成本低、可靠性高、抗干扰能力和实时性强等优点[2],被汽车制造商越来越多地应用于汽车控制、诊断和通信[3]。因此基于CAN总线的故障诊断越来越重要。为解决故障诊断系统独立于CAN网络,造成系统成本增加和内部网络变得复杂等问题,欧洲汽车厂商推出一种基于CAN总线的诊断系统通信标准ISO15765,它以ISO14229-1定义的服务为基础,规范了基于CAN总线的诊断服务(UDS on CAN),包括网络管理、网络定时、应用层定时等详细内容,使得该协议的适用性和可操作性更强,而且兼容ISO14230应用层的服务和参数。

本文就是在ISO15765的基础上,研究和设计了汽车下线管理系统,该系统通过与待测汽车通信,读取电控系统的故障码和数据流,来判断下线汽车的电子器件(包括传感器和执行器)是否正常,如果不正常,需要进行调整维修,这样能够保证汽车的质量。最后还要打印测试结果并保存至数据库,便于以后的跟踪和维护。

1 测试系统结构

根据诊断设备和不同层次结构车载网络的接入位置,大体有3种结构[4]:

(1)诊断设备与服务器(ECU)在同一个网络,诊断设备与服务器直接相连。

(2)诊断设备通过网关间接与服务器相连。

(3)诊断设备在主网中,而需要诊断的服务器在子网中,诊断设备与服务器的通信通过带有网关功能的服务器来实现。

由于后面2种属于远程故障诊断,在诊断时,需要远程控制信息,帧资源消耗大。所以本文选择第一种诊断结构,诊断设备与ECU处于同一个网络。ISO15765的应用越来越广泛,因此该系统也是基于该协议设计。系统主要有两部分:

(1)USB-CAN的标准诊断接口与汽车相连;

(2)USB-CAN的USB端与上位机诊断软件相连。测试系统的结构如图1所示。

图1 测试系统结构图Fig.1 Testing system structure

USB-CAN总线适配器带有USB2.0接口和1路CAN接口,可进行双向传送,完全不用了解复杂的USB通讯协议。这里它有2个主要功能:

(1)接收上位机的数据,将数据转换为CAN帧的格式发送给汽车内部的CAN网络。

(2)接收汽车内部的CAN帧,将CAN帧转换为上位机可识别的数据。

2 ISO15765协议分析

ISO15765协议是在CAN总线上实现了KWP2000,它把KWP2000应用层的服务移植到CAN总线。参照ISO/OSI模型,它分为4层:物理层、数据链路层、网络层、应用层。链路层采用了ISO11898-1协议[5],该协议是对CAN2.0B协议的进一步标准化;应用层采用了ISO15765-3协议[6],该协议完全兼容基于K线的应用层协议14230-3,并加入了CAN总线诊断功能组;网络层则采用ISO15765-2协议[7],规定了网络层协议数据单元(N_PDU)与底层CAN数据帧以及上层KWP2000服务之间的映射关系,并且为长报文的多包数据传输过程提供了同步控制、顺序控制、流控制和错误恢复功能。ISO15765的体系结构如图2所示。

图2 ISO15765体系结构图Fig.2 ISO15765 architecture diagram

3 上位机软件设计

3.1 功能模块设计

根据需求,可设计出4个功能模块:下线检测模块、系统配置模块、用户管理模块、数据管理模块。模块如图3所示。

图3 功能模块图Fig.3 Functional module diagram

其中,下线检测模块主要是实现汽车ECU的检测,并将结果保存至数据库。用户管理模块是实现用户的增加、删除,秘密的变更,权限的修改。系统配置模块主要是在下线检测前,对系统的配置,包括标准值的输入和修改,VIN和ECU的对应关系,还有底层USB-CAN的比特率的设置。数据管理模块实现数据的查询和统计功能。还有其他功能,如打印支持,在需要打印的时候,发挥作用。

3.2 USB-CAN通讯设计

上位机通过调用USB-CAN提供的DLL动态链接库函数,可实现与底层通信,完全不需要理解CAN帧在CAN总线上的传输机制。调用VCI_OpenDevice()打开设备;连接设备成功后,调用VCI_InitCan()初始化CAN相关参数;上一步完毕之后,通过VCI_Start CAN()启动CAN转换功能,下线检测系统即可与CAN总线进行数据的发送和接收。在接收来自总线上的数据时,利用VCI_Receive()获取接收缓冲区中的数据。如果要发送数据给总线网络,则在设置好发送的参数和内容后,通过VCI_Transmit()将数据帧发送到总线上。最后使用VCI_CloseDevice()关闭与总线网络的连接,结束通信。函数调用如图4所示。

图4 DLL函数调用图Fig.4 DLL functions calling diagram

3.3 测试流程设计

系统配置完毕后,引车员登录,身份验证后,系统进行初始化,进入下线检测界面,开始汽车故障诊断。检测流程为

(1)采用Window认证方式启动检测程序;

(2)待测汽车进入检测工位,然后输入引车员号;

(3)检测系统扫描汽车的VIN码,根据VIN调出VSN及相应的数据流标准;

(4)引车员将检测系统的接口接入车辆诊断接口;

(5)持续检测水温,直到水温合格。由于ECU中可能存在一些软故障,这些软故障并不一定是硬件系统本身的问题,而可能是由于历史的原因而存在。所以在水温合格后,要首先清除ECU的故障码,而后读取的故障码就可以代表ECU电控系统的硬故障,这些数据可以表明当前的电控系统是否存在问题;

(6)开始诊断,在界面上显示故障码和数据流,并存储数据至后台数据库;

(7)检测完成后,检测系统综合所有信息得出结论,若检测过程中没有故障码出现,且检测到的参数值均在合格的范围内,则该辆汽车合格,否则为不合格,不合格要返回检修。最后还要自动打印检测结果;

(8)检测系统进入下一辆车的检测流程。

检测流程图如图5所示。

4 系统测试与结果分析

4.1 实车测试

实车测试所用的车型为某国产车,该车为全新标准用车,内部ECU实现了ISO15765协议,各个电子器件通过CAN总线相连。测试所需条件和相关步骤如下:

(1)车辆保持静止,全车通电,启动发动机,其他电子设备根据需要依次打开。

(2)将CAN-USB适配器一端标准诊断插头(16pin)接入汽车OBD-II接口,发送DiagnosticSessionControl(0x10)服务,使车载诊断网络处于诊断模式。

(3)发送 ClearDiagnosticInformation(0x14)服务清除故障码[8],然后发送其他服务与ECU通信,将响应的数据存入数据缓冲区。

图5 检测流程图Fig.5 Detection flowchart

(4)分析数据缓冲区中的数据,与数据库的参数信息进行匹配,得出结果并输出显示。

图6显示了下线检测系统通过发动机ECU通信后获得的数据和测试结果。

图6 测试结果图Fig.6 Interface of testing result

4.2 结果分析

通过实车测试,可以看出系统能够读取故障码和数据流,显示数据读取状态,并且对测试的故障码和数据流的不合格个数进行统计,得出合格还是不合格的结论,测试结果正确,达到了测试的目的。而且通过对实际数据进行解析,获得汽车实时信息,该信息能够反映汽车电控系统所处的状况和运行性能,说明所设计的系统在技术和实际应用中是可靠的。

5 结语

本文介绍了诊断测试标准ISO15765的体系结构。在此基础上,设计了汽车下线管理系统。该系统通过与汽车内部电控系统进行通信,发送相应的诊断请求,接收响应消息帧。通过解析获取的帧,得到故障码和数据流,判断汽车电控系统是不是处在正常工作状况下。该系统最后部署在某汽车生产线上,对下线汽车进行电控系统检测,将检测的数据存入数据库,便于以后统计和维护,在提高企业生产效率的基础上,大大增强了汽车的可靠性和安全性。

[1] 刘丽丽,徐皑冬,宋岩,等.车辆通用故障诊断协议的研究与开发[J].计算机工程,2012,38(16):9-13.

[2] 王桂荣,钱剑敏.CAN总线和基于CAN总线的高层协议[J].计算机测量与控制,2003,11(5):391-394.

[3] 张宏,詹德凯,林长加.基于CAN总线的汽车故障诊断系统研究与设计[J].汽车工程,2008,30(10):934-937.

[4] 李锐,王晶莹,姚燕,等.基于ISO15765的车载CAN网络诊断设计[J].计算机工程,2012,38(4):35-36,39.

[5] International Standard Organization(ISO).Road Vehicles Interchange of Digital Information Controller Area Network (CAN)for High-speed Communication,ISO 11898[S],1993.

[6] International Organization for Standardization.ISO 15765-3-2004 Road Vehicles-Diagnostics on Controller Area Networks(CAN)-Part3:Implementation of Unified Diagnostic Services (UDS on CAN)[S],2004.

[7] International Organization for Standardization.ISO 15765-2-2004 Road Vehicles-diagnostics on Controller Area Networks (CAN)-Part2:Network Layer Services[S],2004.

[8] 颜伏伍,刘陶然,胡杰.汽车故障诊断系统通信协议栈的研究与应用[J].武汉理工大学学报,2011,33(6):986-990. ■

猜你喜欢

总线模块测试
28通道收发处理模块设计
“选修3—3”模块的复习备考
幽默大测试
“摄问”测试
“摄问”测试
“摄问”测试
一种基于CAN总线的误码测试方法
CAN总线并发通信时下位机应用软件设计
基于CAN总线的水下通信系统设计
宝马F02车总线系统