便携式刷写、诊断工具开发

2022-04-09 07:37郑红丽姜长坤刘朝阳张昀琪毕圆浩
汽车文摘 2022年4期
关键词:总线车门控制器

郑红丽 姜长坤 刘朝阳 张昀琪 毕圆浩

(1.中国第一汽车股份有限公司智能网联开发院,长春 130013;2.汽车振动噪声与安全控制综合技术国家重点实验室,长春 130013)

主题词:便携式 ECU刷写 故障诊断 CAN总线

1 前言

随着智能网联技术的快速发展,使得汽车电子系统更加复杂,汽车ECU刷写和故障诊断需求越来越多。目前绝大部分OEM或供应商都从国外设备厂商进行采购CANoe等测试工具对ECU进行刷写和故障诊断,这些测试工具虽然功能强大、性能稳定可靠,但是价格昂贵,一套CANoe售价约15万元左右。为了缓解刷写和故障诊断测试工具紧张的局面,急需开发一款基于国产CAN盒进行ECU刷写、诊断功能的测试工具。赵等开发了一款功能覆盖面广、成本优势明显的测试/诊断工具,其配置了汽车电子通用的CAN(高速、低速)接口,无需连接电脑即可实现对仪表等汽车电子产品的快速测试和诊断。吴等设计了一种基于CAN总线的车载ECU控制器程序刷写系统,能有效的提高车载ECU刷写的可靠性和速度。鲍等设计一种通用型的刷写方法,解决了各类车型的刷写,同时降低了开发成本。崔通过使用以太网链路作为诊断刷写与车辆ECU通信的物理链路,利用以太网高传输速率的特点,大幅度的提高诊断刷写效率。

针对这一问题,本文基于主控核心板模块、CAN总线通信模块、触摸屏模块、电源模块和统一诊断服务协议,利用嵌入式系统开发了一款能够对汽车ECU进行刷写和故障诊断的测试工具。通过触摸屏控制ECU刷写和故障诊断,操作简单。此外,传统的车辆ECU是通过计算机编写上位机控制软件进行刷写和故障诊断的,需要220 V交流电直接给计算机供电。在长时间工作时,用现有的车辆ECU刷写和故障诊断方法会出现计算机电量不足,车内又没有电源可直接给计算机供电的情况,该嵌入式系统通过汽车OBD连接到蓄电池进行供电,能够避免使用计算机实车操作出现电量不足的问题,从而有效提高车辆ECU的刷写和故障诊断效率和准确度。

2 便携式刷写、诊断工具系统概述

系统工作原理图如图1所示,操作系统选用嵌入式Linux系统。用户通过操作人机界面发布ECU刷写和故障诊断指令,测试设备通过接口控制ECU执行相应的指令,ECU执行结果通过接口反馈给测试设备,测试工具通过人机界面显示给用户。该测试工具供电通过汽车OBD连接到蓄电池进行供电。

图1 系统工作原理

3 系统设计

3.1 硬件设计

系统硬件主要实现与用户交互、与汽车ECU通讯、用户提醒功能。为了提升用户体验,人机交互采用LCD触摸屏模块实现。由于汽车ECU需要通过CAN总线刷写和故障诊断,故硬件需要预留CAN通信模块。利用语音模块和LED显示模块提醒用户刷写完成和刷写异常。

系统硬件采用模块化设计,主要包括主控核心板、CAN通信模块、语音提示模块、LED提示模块、LCD触摸屏模块和电源模块,硬件结构框图如图2所示。

图2 硬件结构

(1)主控核心板

主控核心板采用某公司开发的EPC9600I-L开发板,EPC9600I-L基于AM335x系列处理器的工控主板,处理器内核为800 MHz的Arm Cortex-A8。具有一路LCD接口,两路CAN通信接口,2路IIC接口,16路GPIO,满足系统硬件需求。所有接口通过严格的抗干扰、抗静电测试,可在-40℃~+85℃工业级温度范围内稳定工作,满足各种条件苛刻的工业应用。EPC9600I-L开发板支持嵌入式Linux操作系统,开发人员只需专注于编写产品的应用程序,具有开发周期短、系统人性化、软件配套完整的特点,能轻松实现TCP/IP通信、CAN-bus现场总线通信,和大容量存储的复杂功能,使嵌入式系统设计更加简洁方便。

(2)CAN通信模块

CAN总线接口单元实现了系统数据的发送和接收。接口单元包括电路微处理器,总线收发器,输入和输出设备,CAN通信控制器。微处理器完成数据处理,而CAN通信控制器完成数据处理。通过CAN通信协议转换,CAN总线收发器可以延长通信距离,减少射频干扰,提高系统即时抗干扰能力,并提供热保护。CAN总线接口单元的设计是根据CAN总线物理层协议选择总线介质,设计布线方法,然后连接到CAN网络。主要是在CAN总线收发器与物理总线之间以及在CAN通信控制器与微处理器之间的接口电路设计。CAN总线接口电路如图3所示,CAN总线收发器采用TJA1043T/1J芯片,电阻=61Ω,=62Ω,电容=4.7 nF。

图3 CAN总线接口电路

(3)语音提示模块

语音提示模块的主要作用是为了提高操作的便捷性。其通过ISD1700语音模块、控制电路、喇叭可以提示用户操作过程、安全提示性语句,作为一种简单、方便的人机交互方式,智能的语音系统必不可少。语音提示器由驻极体话筒、低通滤波器、精密整流直流放大器、单片机、电源组成(图4)。

图4 语音提示模块系统

(4)LED提示模块

LED是近年来快速流行的一种新型传播媒介,由于其显示亮度高、色彩好、寿命长和视角大,同时具备任意延展性,可以实现大面积的无缝拼接,能增强系统与用户之间的互动。并且可用于环境噪音高的场所,如工厂或需要优先使用静音设备场所。

(5)LCD模块

为了更好便于用户的操作,系统采用LCD触摸屏,支持多点触摸、灵敏度高、反应快、耐用度高、性能稳定、只需触摸、无需按压操作,大大提高了用户的体验感和操作的便捷性。LCD触摸屏色彩偏差度小、无闪烁感、稳定度高、辐射小、对眼睛的损害小、更省电。此显示系统使用7.0寸真彩TFT液晶屏,型号为LCD_TM070RDH12_24B,分辨率可以达到800x480。

(6)电源模块

电源模块输入通过汽车OBD连接到蓄电池,由于蓄电池电压为12 V左右,触摸屏模块、ISD1700语音模块工作电压为5 V,因此需要通过LM7805模块将12 V电压转换成5 V。如图5所示,电源模块主要由高可靠、高性能的模块电源搭建而成,保障设备稳定工作,同时电源模块输入输出完全隔离,并提供过热保护、过流保护、过载保护、过压保护和热插拔功能,增大了电源模块的可靠性。

图5 电源模块系统

(7)可扩展性设计

随着汽车智能化程度增加,总线通信负载率逐渐提升,很多主机厂将整车主干网络通信由CAN总线替换成以太网,EPC9600I-L开发板具有一路以太网,满足未来通过以太网刷写、诊断及标定的需求。

3.2 软件设计

3.2.1 开发工具链及开发流程介绍

本测试工具操作系统采用嵌入式Linux系统,人机交互界面使用Qt Creator集成开发环境开发,此IDE能够跨平台运行,支持的系统包括Linux(32位及64位)、Mac OS X和Windows。使用Qt Creator开发应用程序步骤如下:

第1步,新建工程;

第2步,工程创建好之后,双击其中的UI文件,便可以打开设计器对图形界面进行编辑,将所需的控件拖拽到窗口中实现UI界面的设计;

第3步,UI界面设计好之后,开始编写应用程序,实现程序刷写和故障诊断功能。

3.2.2 应用软件开发

本测试工具应用软件包含3层,包括底层、中间层和应用层,系统软件结构图如图6所示。

图6 系统软件结构

(1)底层

底层为驱动层,驱动软件主要负责系统硬件的驱动和配置,为上层软件搭建连接通道。EPC9600I-L开发板已经集成GPIO、CAN、LCD触摸屏、以太网和AD驱动,用户可以直接使用,提升产品开发效率。

(2)中间层

中间层是应用层和底层驱动层提供信号转换、控制流缓冲工作。为了提升程序刷写及故障诊断通信效率,CAN通信采用多帧传输方式,本项目中间层主要实现CAN总线多帧传输。

多帧传输方式中,将数据拆分成1个首帧、1个流控制帧和多个连续帧,具体传输流程如图7所示。首帧包含了分段数据的总长度信息以及一些数据帧;流控制帧中包含接下来要传输连续帧的个数及2个连续帧之间的时间间隔;每个连续帧的第1个字节包含拆分的顺序序号,后面的7个字节用于存放数据。接收端在接收到连续帧后根据接收数据帧的编号组合成服务数据。

图7 多帧传输流程

(3)应用层

应用层是软件的最顶层,包含刷写功能应用软件和诊断功能应用软件。

a.刷写功能应用软件开发

参照统一诊断服务规范软件刷写流程,刷写功能应用软件包括预编程阶段、编程阶段和编程后阶段。

预编程阶段的具体步骤为:首先开启扩展会话(session);在预编程阶段无需故障诊断,之后禁用诊断故障代码(Diagnostic Trouble Code,DTC)存储;为了保证刷写功能可以正常完成,禁用非诊断通信;最后将会话模式切换到编程模式,相关的流程如图8所示。

图8 预编程阶段流程

编程阶段的具体步骤为:首先解锁所要刷写的ECU;然后擦除ECU中原有的程序,便于后续新程序的输入;最后下载相关应用软件,并检测软件中的应用程序正确性,相关流程如图9所示。

图9 编程阶段流程

编程后阶段的具体步骤为:首先根据编程阶段所编程的软件重置ECU,并启动扩展session,以保持所重置的ECU信息;然后启动非诊断通信,用于ECU的通信;最后启动DTC故障诊断功能,启动DTC故障诊断功能之后清除DTC,相关流程图如图10所示。

图10 编程后阶段流程

刷写功能人机交互界面如图11所示。其具有车型选择、ECU类型选择、ECU选择、文件操作、刷写日期设置、产品序列号设置、刷写进度显示、开始刷写和系统清除功能。在用户选择好配置之后,点击Download Start按钮开始程序刷写,刷写过程中刷写进度条不断更新,刷写完成后,通过语音及LED指示灯提醒用户。为了避免误刷写,刷写完成后通过点击System Clear按钮清除配置信息。

图11 刷写功能人机交互界面

b.诊断功能应用软件开发

诊断功能的人机交互界面如图12所示,其具有通道选择、通信方式选择、物理地址选择、功能地址选择、响应地址选择、会话保持方式、会话保持时间,服务类型选择、服务子功能选择、故障诊断列表发送的功能。用户使用时,首先选择好配置信息,点击要发送的服务,选择对应的子服务、选择是否抑制响应,最后点击立即发送即可。如果用户想同时发送多条指令,用户需要选择相应的服务,点击添加至列表按钮即可将该条指令添加至过程诊断列表中,2条指令可以通过添加延时按钮添加指令之间的时间间隔,同时故障诊断列表可以删除、清空、导出及导入。

图12 诊断功能人机交互界面

3.2.3 QT程序移植到开发板

编写好的应用程序需要移植到开发板中才能运行,移植按照以下3步进行。

第1步,将QT环境设置成在ARM下运行的环境,这样编译出来的可执行文件才能在开发板下运行,具体配置如图13所示。环境配置好之后开始按照自己的意愿编写代码。

图13 QT环境配置

第2步,往开发板上移植基本的QT库。

(1)在虚拟机里安装arm版QT所在的目录下寻找库及他们的相关链接文件。文件包括libQtGui.so、libQtCore.so、libQtNetwork.so和fonts下的字库。为了防止错误,一并把他们的相关链接文件so.4、so.4.7、so.4.7.2都移植过去。

(2)在/opt目录下建立“qt-4.8.5-arm”目录,因为本项目使用的QT版本是4.8.5,所以建立在该目录下。

(3)将虚拟机上拷贝的文件放到U盘中,通过U盘复制到开发板/opt/qt-4.8.5-arm中,包括lib以及lib下的fonts目录。

(4)设置环境变量,在开发板的根目录下执行:vi/etc/profile,然后输入以下指令:

图14 设置环境变量

最后,将编译好的这个可执行文件放到开发板上,执行./xxx-qws命令,在触摸屏中就可以显示QT界面。

4 测试工具应用

本文所开发的便携式刷写、故障诊断测试工具已应用于某系列车型多个产品的刷写及故障诊断测试中。经过多次测试,性能稳定可靠,满足用户需求。测试工具应用的模块和项目如表1所示,图15为某车型实车刷写车门控制器软件。

表1 测试工具应用

图15 实车刷写车门控制器

4.1 刷写时间对比

传统的刷写工具通过CANoe实现,CANoe刷写车门控制器部分LOG如图16所示,便携式刷写器刷写车门控制器部分LOG如图17所示。图16、图17中Time列代表刷写时间戳,单位为秒。图16中第一行代表开始刷写车门控制器,通过CANoe刷写车门控制器起始时间为54.892 314 s,最后一行代表刷写车门控制器成功,通过CANoe刷写车门控制器结束时间为175.030 026 s,使用CANoe刷写车门控制器总计时间为120.137 712 s。图17中第一行代表开始刷写车门控制器,通过便携式刷写器刷写车门控制器起始时间为20.883 714 s,最后一行代表刷写车门控制器成功,通过便携式刷写器刷写车门控制器结束时间为121.030 166 s,使用便携式刷写器刷写车门控制器总计时间为100.146 452 s。对比发现,通过便携式刷写器刷写车门控制器比通过CANoe快20 s,时间缩短16.7%。经过多车型的转向柱控制器、座椅控制器、车门控制器以及后背门控制器大量测试,性能稳定可靠,刷写成功率可达到99.98%,满足实车刷写需求。

图16 CANoe刷写车门控制器LOG图

图17 便携式刷写器刷写车门控制器的LOG图

4.2 故障诊断功能应用

为了方便测试该工具故障诊断功能稳定性,故障诊断功能测试根据故障诊断功能规范通过台架模拟实车故障,故障产生后通过诊断工具读取ECU故障码。读取故障码信息LOG如图18所示,通过LOG分析,读取出的故障诊断信息与实际模拟故障匹配。经过多车型大量测试,故障诊断测试功能性能稳定可靠,满足故障诊断需求。

图18 故障诊断功能测试

5 结束语

综上,本文开发了基于CAN总线通讯的刷写、诊断工具。该测试工具通过汽车OBD连接到蓄电池进行供电,能够避免使用计算机实车操作出现电量不足的问题,成本低、操作过程简单、缩短了刷写时间,且具有较强的可扩展性,从而有效提高车辆ECU的刷写和故障诊断效率。同时,该设备具有定制性的特点,能够根据被测ECU的刷写、诊断功能规范文档定制属于特定ECU的刷写、诊断工具。

猜你喜欢
总线车门控制器
南京溧水电子3款控制器产品
车门集成控制模块系统方案设计
地铁车辆车门安全联锁回路故障判断思路解析
地铁车辆车门安全联锁回路故障判断思路解析
关于CAN总线的地铁屏蔽门控制思路论述
水泥生料立磨压差变参数二型模糊控制器设计
基于NFV的分布式SDN控制器节能机制
开车门保护装置
智能液位控制器在排水系统中的应用
Q&A热线