APP下载

基于CAN 通信自适应的商用车诊断系统开发及应用

2020-08-28徐家明牛方兴王高举刘双平

汽车电器 2020年8期
关键词:诊断系统适配器电控

邓 莹, 徐家明, 牛方兴, 王高举, 刘双平, 刘 壮

(东风商用车技术中心, 湖北 武汉 430056)

随着汽车五化时代的到来,越来越多的车载电控单元应用到了整车中,虽然整车控制更加智能和精准,但整车网络拓扑结构也更加复杂,这意味着需要处理更多的电控系统故障[1]。诊断系统作为售后维修工具,很好地解决了这个问题,可以实现多个电控系统的故障诊断[2]。但整车网络拓扑结构不仅具有复杂性,还具有多样性。一方面为了满足不同细分市场的需求,车型种类和车型配置在不断增加,一方面也需要不断调整来适应新的法规要求。因此,诊断系统也应该满足适应不同车型、不同配置以及不同网络拓扑结构的要求。

1 诊断系统介绍

1.1 诊断系统构成

诊断系统由上位机诊断仪和下位机适配器组成,如图1所示,诊断仪通过适配器与各大车型平台OBD接口连接,实现常规诊断功能、高级诊断功能和数据服务功能等。常规诊断功能包括读标识、读故障、清故障、信号采集等;高级诊断功能包括执行器测试、IO功能测试等;数据服务功能包括车载电控单元的程序刷写和EOL数据刷写,刷写数据由诊断仪从售后服务器获取,诊断仪通过网络连接到售后服务器,并通过车型底盘号找到对应的刷写数据并下载。该诊断系统具有集成度高、界面友好、易操作、携带方便的优势。

图1 诊断系统构成

1.2 诊断系统功能实现

1.2.1 诊断系统架构设计

诊断系统架构如图2所示,采用分层式架构设计,从运行环境分为诊断软件和适配器软件。诊断软件由用户界面层、诊断逻辑层、诊断协议层、诊断传输层、数据访问层、SAE J2534接口、USB驱动和网络接口这几个部分组成,适配器软件由USB基础软件、USB应用软件、适配器基础软件和适配器应用软件4个部分组成。

图2 诊断系统架构

在诊断软件中,诊断逻辑层实现读标识、读故障、清故障、数据测量、执行器测试等诊断功能的逻辑运算、策略判断等。诊断协议层集 成 有SAE J1939 -73、 ISO 14229 -1、 ISO 15765 -3、 ISO 14230-3、ISO 15031-5五大诊断应用层协议,供诊断逻辑层调用。诊断传输层集成有与诊断协议层对应的诊断传输层协议,分别是SAE J1939 -21、 ISO 15765 -2、 ISO 15765-4、ISO 14230-2[3]。USB驱动是适配器的设备驱动程序,由诊断传输层调用SAE J2534接口实现。数据访问层中的数据库管理了电控系统单元的配置信息,包括诊断协议、请求及响应ID、波特率、CAN通道、故障码、诊断命令等。网络接口采用webservice接口,通过网络接口实现与售后服务器通信。

在适配器软件中,USB基础软件提供与诊断仪软件进行USB通信的驱动接口,同时还提供与适配器基础软件进行SPI通信的驱动接口,并且为USB应用程序软件提供底层调用接口。USB应用程序实现数据转换和异常处理功能。适配器基础软件一方面实现与USB基础软件进行SPI通信,另一方面实现与外部进行CAN线通信,同时还为适配器应用软件提供底层调用接口。适配器应用软件完成适配器基础软件传来的数据处理、异常检查等。

1.2.2 诊断系统功能实现原理

诊断系统功能实现原理如图3所示。用户通过诊断系统界面选择车型平台和需要诊断的车载电控单元,诊断系统连接车载电控单元时,首先通过数据访问层从数据库中读取对应车载电控单元配置的CAN通信参数,包括CAN通道、波特率、请求ID、响应ID、诊断协议等,基于此配置初始化软件,然后在此运行环境下向将要连接的车载电控单元发送连接控制命令。如果车载电控单元返回肯定响应命令则表示连接成功,可以继续选择读标识、读故障、清故障、数据测量等诊断功能,否则提醒用户连接车载电控单元失败。其中,为了便于数据管理和使用,数据库中的车载电控单元配置的CAN通信参数通过既定的唯一名称标识符进行锁定。

2 CAN通信自适应功能开发

2.1 功能需求分析

汽车控制系统按功能可以划分为不同的域,主要包括动力域、底盘域、车身域、安全驾驶域以及HMI域,对应的整车CAN网络拓扑结构主要分为动力总成CAN、底盘控制CAN、车身控制CAN、诊断CAN和信息娱乐CAN[4]。由于不同网络分工不同,因而对信号传输速率要求也不相同,使得不同CAN总线波特率不一致[5]。

图3 诊断系统功能实现原理

处于不同网络的车载电控单元通过OBD接口实现与诊断仪进行CAN通信,对于固定CAN通道和波特率的车载电控单元,诊断软件可以为其配置确定的OBD通信接口和波特率,从而定位到对应网络的通信对象,完成整个通信机制。但是随着车辆性能提升的需要及法规需求,车型及配置不断增加,需要不断升级与优化车辆网络架构,车载电控单元的通信接口和波特率也在不断调整,导致处于不同车型的同一车载电控单元的通信网络可能不同。根据车载电控单元的CAN网络配置需求不同,将车载电控单元分为5类,诊断系统运行时车载电控单元的CAN网络配置需求分析如表1所示。

表1 诊断仪CAN网络配置需求

2.2 功能逻辑实现

图4 诊断系统CAN通信参数自适应功能实现流程

根据诊断系统CAN网络配置功能需求,诊断CAN通信自适应功能实现流程如图4所示。用户选择车型平台后,诊断系统会初始化CAN通道和波特率参数切换次数上限,然后用户在该平台上选择相应车载电控单元进行连接。选择完成后,诊断系统软件首先从数据库中读取CAN通信参数并初始化软件运行环境,然后发送相应连接测试命令。如果车载电控单元返回肯定响应命令,则显示控制器连接成功,表明诊断系统CAN网络配置正常。如果车载电控单元返回否定响应命令,需要判断车载电控单元是否为I类控制器,如果车载电控单元不是I类控制器,则还需要进一步判断CAN通道和波特率参数切换次数是否达到上限,若没有达到上限则根据控制器的类型进行相应切换,若达到上限则显示控制器连接失败。其中,CAN通道和波特率参数允许切换次数由控制器类型决定。

3 CAN通信参数自适应功能测试

3.1 单元测试

分别选取控制器VECU、ABS、BCM为单元测试对象,设置VECU为II类控制器、ABS为III类控制器和BCM为Ⅳ类控制器,单元测试初始化设置如表2所示,数据库初始网络配置信息如图5所示。

表2 单元测试初始化设置

控制器VECU、ABS、BCM连接测试成功,结果表明:在控制器的实际网络配置与诊断系统初始网络配置不匹配的情况下,诊断系统可自动将其配置到对应的网络,从而成功与控制器进行通信,实现控制器相应诊断功能。

图5 单元测试数据库初始网络配置信息

3.2 台架测试

如图6所示,利用上述控制器搭建台架,以便对以上控制器进行台架测试,从测试结果来看,诊断系统可以快速连接到相应控制器,执行测试后查看数据库配置信息如图7所示,测试结果与期望值保持一致。

图6 台架测试

3.3 实车测试

以东风商用车车型平台为实车测试对象,针对多个车型平台进行实车测试,进一步验证诊断系统CAN通信自适应功能是否能满足要求,确保连接可靠。诊断系统连接实车成功后,对多个控制器进行一系列功能测试,包括读标识、读故障、清故障、数据测量、执行器测试、数据刷写等,测试诊断功能面向不同CAN通道和波特率的车型平台时能否正常工作,测试结果表明,CAN通信自适应功能能满足诊断系统CAN网络配置的功能需求。

图7 VECU/ABS/BCM数据库配置信息更新状态

4 结论

目前市场上车辆种类繁多、配置各异,无法通过车型明确区分车载电控单元网络配置,为诊断系统连接整车带来困难。本文提出的基于CAN通信自适应的商用车诊断系统,实现了车载电控单元CAN通信参数自动配置,可以适配不同车型、不同网络拓扑结构的整车诊断,能快速响应整车诊断需求。该系统大大改善了售后车辆电控系统维修效率、保障了车辆运行时效性,为用户创造了价值。

猜你喜欢

诊断系统适配器电控
基于3D打印的轻型导弹适配器
PLC技术在煤矿提升机电控制系统中的应用
基于故障树分析的液压挖掘机的故障诊断探索
断路器检测系统与诊断系统研究
电源适配器怎么选
数控机床故障诊断系统的设计与实现
电控汽油发动机故障诊断误区浅析
简析井口操车电控与操车信号系统
6款电力线网络适配器横向评测
美国麦格普公司新型M—LOK相机三脚架适配器