吕霞付,张爽,王乾永,沈斌斌
(重庆邮电大学自动化学院,重庆 400065)
随着时代的进步,在发动机控制工作方面,ECU愈加凸显出它的核心作用。同时,ECU的价格昂贵且技术要求越来越高,ECU的测试技术因此变得越来越重要[1]。以往的人工检测方法不仅效率低,也存在准确性差的问题,有时还会导致ECU的损坏。因此,如何提高汽车发动机ECU的测试技术和故障诊断水平则变得至关重要[2]。
本文作者首先给出了汽车发动机ECU诊断检测系统的总体方案,然后详细介绍了汽车发动机ECU诊断检测系统的硬件设计以及上位机的设计。硬件设计主要是对发动机ECU诊断检测设备的设计,主要以STM32F405VGT6为主控芯片,外加相应的功能模块。软件部分主要是在RS232工控机上用C#编写的一款测试软件。通过Kline线把检测设备与检测软件连接起来,从而实现对ECU状况的检测。
该系统的设计关键点主要在于如何实现对各类输入信号的模拟以及怎样对ECU的输出信号进行采集。因此,需要综合考虑ECU的硬件测试需求,并对ECU的信号进行研究。最终,将需要检测的ECU信号分为了两类:数字信号和模拟信号[3]。系统的整体结构主要由三层组成:上位机软件、汽车发动机ECU诊断检测设备以及待测ECU。上位机部分为RS232工控机,在工控机上安装一款具有检测功能的测试软件,这样更加方便展示检测的过程以及最终的结果。发动机ECU诊断检测设备是以STM32F405VGT6为主控芯片,功能模块包括数字量测试模块、模拟量测试模块、CAN通信模块、RS232模块、电源模块等[4]。待测ECU通过A线束、K线束与汽车发动机ECU诊断检测设备连接,汽车发动机ECU诊断检测设备通过RS232通信接口和RS232转Kline模块与工控机进行连接。系统总体结构如图1所示。
图1 系统总体结构
在此系统的设计中,待测ECU与发动机ECU诊断检测设备之间的通信采用的是CAN通信。系统中采用的CAN通信模块是ISO4050,其工作电压为3.3 V[5]。CAN收发器的电路设计如图2所示。
图2 CAN总线收发器
TL718转换器主要针对于解决汽车通信问题,用于连接硬件设备和上位机。TL718转换器在协议方面做了扩充,可跟现在的极大部分汽车的各种控制模块进行诊断通信[6]。此系统中主要通过将主控板的K线接入OBDⅡ接口,再采用TL718转换器接入上位机,通过在工控机上对测试软件进行操作就可以实现对待测ECU的精准检测。
在对硬件部分进行设计时,首先对主芯片进行选择,文中选择的是STM32F405VGT6,然后对其最小系统进行设计,再按照对信号的分类情况对检测模块进行模块化,接着设计相关的外围模块电路,如CAN通信模块、RS232转Kline模块和RS232通信接口。图3为硬件系统结构。
图3 硬件设计结构图
本文作者主要是针对ECU的数字量信号和模拟量信号进行模拟设计,其中数字量信号主要包括低怠速开关信号、排气制动开关信号、主刹车开关信号、T50启动开关信号、诊断请求开关信号、T15开关信号和油中有水信号等,模拟量信号主要包括加速踏板信号、轨压传感器信号、机油压力和温度传感器信号、冷却水温度传感器信号等[7]。另外,模拟量信号中有一类信号是对温度信号进行模拟的,如燃油温度信号、冷却水温度信号等。具体的电路设计见下面的介绍。
以低怠速开关信号为例,图4为低怠速开关信号的电路设计。该电路的设计原理为继电器原理[8]。利用继电器的开关来控制信号,当继电器接通时,K5开关将和5脚接通,否则会接6脚。同样的,排气制动开关信号等也是根据这个原理设计的。
图4 低怠速开关信号电路
以加速踏板信号为例,图5为加速踏板信号的电路设计部分。首先在TIM2CH4一端输入脉冲信号,然后通过滤波电路、跟随电路、放大电路后得到加速踏板的模拟量信号[9]。轨压传感器信号等的设计原理同理。
图5 加速踏板电路
以进气温度传感器信号为例,图6为进气温度的电路设计部分。此系统采用74HC4051八路电阻芯片来进行温度的模拟[10]。不同的电阻值表示不同的温度值,因此电阻值的改变可以模拟温度值的变化。冷却水温度等信号的电路设计同理。
图6 进气温度电路
此系统的上位机软件是在RS232工控机上用C#开发的一款测试软件,可以实现对检测过程的展示过程和对数据的存储。图7所示为上位机的程序流程图,可以看出此系统首先对通信进行测试,其中包括CAN线和Kline线的检测,当测试通过之后开始进行模拟量的测试,若测试未通过则软件界面会显示failed;在对模拟量测试后若是测试通过则开始对数字量进行检测,若测试未通过则软件界面显示failed;在数字量测试通过后整个系统的测试结束,若数字量测试通过则整个系统的检测结果为通过,否则软件界面显示failed。
图7 上位机测试流程
图8所示为整体系统的实物图,可以看出:待测的ECU通过A端子线束和K端子线束和汽车发动机ECU诊断检测设备进行连接,汽车发动机ECU诊断检测设备与LED连接,并且通过RS232通信接口和Kline转232模块与工控机连接。为该系统设计了一个特殊的箱子,将发动机ECU诊断检测设备和工控机合理地放置在箱子内,同时,该箱子可以放置线束等,可以实现便捷携带。
图8 系统的整体实物
在对检测结果进行验证时,首先用此检测系统对待测的ECU进行检测,ECU硬件测试系统的测试过程如图9所示,该系统会依次对各个模块进行检测并给出具体的检测结果,最终的检测结果界面如图10所示,系统会给出failed和pass两种结果。然后再对每个ECU进行人工复检,再将两次的检测结果进行对比。大量的测试证明:此系统可以很好地实现对ECU的诊断检测。因此可以证明该汽车发动机诊断检测系统的工作性能良好,系统的整体设计较为合理,结果可靠。
图9 系统的测试过程
图10 系统的测试结果
此系统已经实际应用于ECU生产测试中。试验和使用表明:该汽车发动机ECU诊断检测系统能够有效地完成对ECU的工作性能和可使用性的评价,试验结果准确可靠,可以很好地应用于ECU的生产过程,降低测试人员工作强度的同时又增加了测试结果的准确性。