汽车发动机控制器(ECU)中待测项目综述fficeffice" />
2 K! d7 w: B3 u1 L; C E$ A 汽车发动机控制器(ECU)是汽车中最为复杂且功能最为强大的计算机,它包含电源、MPU、通信链路、离散输入、频率输入、模拟输入、开关输出、PWM 输出和频率输出等9大模块,了解这些模块以及待测试的项目,对于(中国)测试工程师参与汽车ECU的测试具有一定的指导意义,同时也有利于设计工程师从测试角度去全盘考虑汽车发动机控制器的设计问题。 $ Z+ [5 A* L! R) ^8 j% m
发动机电子控制装置,也称作发动机控制器(ECU),于20世纪70年代诞生。当时,由于石油危机,人们正在寻找一种提高燃油经济性的方法,他们想要找出一种能够使发动机在更为清洁和污染更少的条件下运行的方法。当时的工程师运用一种叫做燃料分配器的机械装置来控制火花定时,使用化油器来控制燃料混合。这种机械系统的调整能力较差。20世纪70年代微处理器诞生了,这种技术可以实现控制火花定时和燃料混合所需的复杂、高速的运算。在80年代早期ECU成为了大多数车辆中的标准部件。ECU是设计用于解决具体问题的计算机。通常ECU是汽车中最为复杂且功能最为强大的计算机。
$ j$ O( E& J8 M 车辆中通常含有一个以上的电子控制模块(ECM)。ECU是负责发动机控制功能的电子控制模块,其主要用途是对发动机中的燃油和点火系统进行闭环控制,从而提高燃油经济性并减少发动机产生的气体污染物。
8 p0 x% I2 ~* M& _9 s4 I. T 一、为何要测试ECU? * l- P% [. a5 F/ X9 K! K
测试通常被认为是一项不会增值的工作。在理想的世界中确实如此,因为在理想的世界中,生产工艺从来都不会产生缺陷,系统设计永远没有瑕疵,软件永远正常运行,从来不会有客户退货,产品和原材料质量问题为零,由于不会出现任何故障,测试就显得毫无必要。但是世界并非完美,因此需通过测试来实现可测量的、可重复的和可跟踪的最低质量标准。质量确实有价值,尽管它的价值无法直接衡量。
" y" H2 x, p% F& Z+ @6 ^* b 测试的必要性还体现在其它方面。汽车制造商有自己的质量要求和标准(如QS-9000)以及长期跟踪和规章要求。汽车制造商通常都要求元件供应商在将其元件发往B&A(组装)工厂(元件在此处组装成整车)之前对元件进行测试。B&A工厂是劳动密集型工厂。由于供应商的元件故障造成汽车返工是不可接受的,它会造成极大的损失。供应商合同中通常都包括由于供应商的原因造成的元件缺陷相关的罚款条款。
9 N+ U5 E( w! x6 i! R) k3 ? ECU生产商需要证明其产品符合客户的规范,这需要通过DV(设计验证)测试来实现。 生产商还需证明其生产工艺可以正确生产出产品,这需要通过PV (生产验证)来实现。质量标准通常都要求对一定比例的ECU进行质量评估,以确保生产工艺没有缺陷。这种质量评估通过连续一致性(小型设计验证)测试进行。 * u" e" d6 q! V8 i
二、测试系统开发人员面临的挑战 4 O& }" B, X9 U+ s: h
如前所述,测试常常被认为是一项不会增值的工作,虽然测试是提高生产流程各阶段质量水平的重要手段。这一状况使测试机构面临着极大的压力,它们必须确保测试过程稳固、全面、快捷且性价比较高。
, d" o1 }( _4 O9 B$ L4 Y7 H1 L) j 测试系统必须稳固。测试系统必须能够全天候运行。大多数汽车元件供应商都有高产量生产线,停产会对带来巨大损失。JIT(准时)生产不允许分批发货、发货延迟或数量短缺。根据质量控制程序和流程的要求,出错会导致停产。由于这些原因,测试设备必须可靠且精准。 3 q( G( L6 E) { A
测试范围必须全面。测试系统的测试范围应尽可能广而且测试必须精确。测试系统应尽可能防止生产流程的下游出现缺陷。一般而言,越是在下游出现的问题,修复的成本越高。 ! }4 b" h0 r6 u" ^ `
测试系统必须快速运转。高产量生产要求生产流程的每一阶段都不能比最慢的流程慢。测试过程不应成为一个瓶颈,尤其是在测试被视为不会增值的工作时。测试系统的速度应比最慢的上游流程快。
7 Y1 {) p, _0 _8 T 测试系统必须具有高性价比。测试系统设计人员必须比较性能和成本。一个测试系统的成本不仅仅是其购买价格。测试系统会产生其它明显的短期成本,如设备、培训、维护、升级、支持以及连接等。测试系统的长期成本较不明显,它取决于开发时间、灵活性、可量测性、可再利用性、模块性和便携性等参数。这些因素与测试系统中使用的软件和硬件直接相关。
4 L$ B" i1 ~$ u' d7 M" ` 除了以上这几点,测试系统设计人员还必须在有限的预算和越来越短的时间内完成设计。开发新产品越来越难,产品的生命周期越来越短,新的规则、技术和客户需求不断涌现。面临这一切,测试系统设计人员必须找到一种使其开发的系统既可满足当前需求又可满足未来需求的方法。 1 |1 ^2 n- g! Q7 D* d ] l+ t
三、ECU 如何工作? ! o+ Y) b5 i& x2 L
简单地说,ECU的工作方法就是根据与发动机相连的传感器的反馈来控制燃油混合(空气燃油比)和火花定时(点火提前及持续时间)。燃油混合和点火定时的控制相当复杂。ECU需要从多个传感器获取数据以实现系统的最佳控制。ECU需要了解地速、发动机转速、曲轴位置、空气质量(氧气含量)、发动机温度、发动机负荷(如空调(A/C)打开时)、油门位置、油门的变化率、变速齿轮、废气排放,等等。前面我们已经讲到,ECU是一种用于解决具体问题的计算机。计算机通常无法直接与模拟世界进行交互。因而需要使用一个信号调理/数据采集接口,以将来自传感器的模拟信号转换为计算机可以理解的数字信号。而为了控制燃油系统和点火系统,必须将数字信号转换为模拟信号。 |2 |. |, u/ Q
四、ECU功能模块
- X' d: a) E1 g+ A. r ECU包含以下几个功能模块:
% l E0 X, B2 c" _& |: S9 g* { 1.电源 - 数字和模拟(模拟传感器的电源)。
1 f0 t3 ~$ ?' l' X+ n) H3 s 2.MPU - 微处理器和内存(通常为闪存和RAM)。
9 p. I q- ^7 T. w# q7 A @ 3.通信链路 - (如CAN总线)。 _3 E& o0 `/ a; Q4 |5 D) U
4.离散输入 - 开/关型输入。 2 q0 e9 Y( L# C
5.频率输入 - 编码器型信号(曲轴或车辆速度)。
: G! _' G2 g$ ]/ V+ N 6.模拟输入 - 来自传感器的反馈信号。 ) ^2 d) n5 x( P! f& z
7.开关输出 - 开/关型输出。
, t7 ? c. `/ ] y 8.PWM 输出 -变频和占空比(如喷射器或点火器)。
% g8 U. x* \7 B* H' W 9.频率输出 - 恒定的占空比(如步进电机 - 怠速控制)。 % K+ E4 O5 J, g" E6 I2 E- E
五、电源
6 N/ Z# G2 V. A8 F% @ ECU的电源是一个直流-直流转换器。电池电压被转换为适合MPU和其它数字电路的电压。在某些情况下,ECU提供模拟传感器的电压源。在这种情况下,ECU提供一个或多个模拟电源电压(源于电池电压)。典型的测试包括: / d$ K* A* f" ?7 H4 w, G6 }
开关检查- 检查电源和接地之间是否短路或开路。
- c; n. h# `# s! C. ?2 E 电源负载测试- 如果ECU采用模拟电源,则在最大负载条件下验证电源电压。 ) t$ T, V& J1 q; d
电源噪声测试-如果ECU采用模拟电源,则检查输出噪声大小。 ( F2 v, M n6 D% k. f
睡眠电流-在点火键处于“关”位置时检查VBATT上的电流。
0 n* _* @( Q. U$ x P 唤醒电流-在点火键处于“开”位置时检查VBATT上的电流。 4 M; f# C J9 t) V. N( r$ [
六、处理器 1 ]# W- K2 c3 C) G1 \
MPU内含有处理器和内存组件。在大多数情况下用闪存存储应用软件(有时称作应用码)。应用软件中包括校准查找表。这些表根据输入的反馈设定最佳燃油混合和点火定时参数。利用闪存你可以在任何时候对ECU进行重新编程。在某些情况下,应用软件包括用于生产测试的特定测试模式。典型的测试包括: ) }1 j {& g N5 l6 g, e0 q
RAM测试-通常为某种形式的写和读。 1 \9 v8 ]* S, X# Z; ?. ?0 `
Flash测试 - 检查制造商/产品编号,校验总和。 & ~. D, E7 x- N! I9 l' F" n o
“看门狗”计时器测试。
6 _6 ]: z. ?5 K' c" `7 N 将应用软件和/或嵌入式测试码下载到闪存中。 2 ]4 ^5 v) {) X* A
生产测试通常采用以下的一种或多种方法:
5 a& b. X1 w6 t( D$ f 应用码包括用于ECU的外部控制的内置式测试分支。
( W2 W& D6 M$ x$ _ 将测试码下载到闪存中。测试码能测试所有的输入和输出。
# F, Y0 L0 e) ~- A. U' o 下载与测试相关的代码(如仅下载用于读取模拟输入的代码)。 7 d6 I4 }1 l9 }& b
七、数据链路
5 o1 n$ V3 c4 R" {8 E" J ECU具有与外界相连的通信链路。ECU协议和标准的种类很多,而且每隔几年就会出现新的协议和标准。通信链路具有多项功能。其中最主要的一项功能是满足板上诊断(OBD) 的要求。OBD对车辆排气系统进行故障探测。 ECU对废气排放进行监测;当废气排放量超出容许标准时,ECU会记录数据以供技术人员使用。技术人员通过通信链路获取数据,并可运用其它与通信链路相连的诊断工具找出故障部件。现今的车辆通常都使用一个以上的ECM (ABS,车身控制,远程信息处理等),这些ECM一般都通过通信链路连接在一起。为了能够正确运行,ECU可能需要与发动机不相关的电子或机械系统的状态信息。类似地,其它ECM也需要来自ECU的状态信息以确保正常运行。 ) p% ]1 @/ e+ k, Z4 R: n
ECU的测试通常需通过频繁的通信链路输入/输出来完成。由于和ECU通信要占去实际测试时间的30%至40%,用于通信链路的设备对系统性能具有很大的影响。 设备的吞吐时间(如将RS-232转换成CAN 或将CAN 转换成RS-232)会影响测试系统的总体性能。根据协议的不同,选择范围会受到限制。但是在进行选择时,还是应该进行比较,以找出最快的方案。
6 o* ~* }$ W0 B$ O+ U7 Y" g 通过一个简单的例子可以说明你的选择带来的影响。假设你有一个用于将RS-232 转换为CAN的车辆通信接口(VCI)设备。如果VCI设备的RS-232侧在9600波特和每波特1位的条件下运行,则RS-232侧的传送速率为9.6kbps。 , E- ]6 x3 Q3 y7 l! k
此处是11字节或88位。在9600kbps的速度下传送数据需要9.17 ms。这一时间看起来似乎并不长,但是要知道在ECU设备的测试过程中通常要传送200条甚至更多信息,仅仅单向传送200条信息就需耗时1.83秒。当然,信息通常需遵守命令/响应协议, 因此传送200条信息的实际时间为2 ×1.83 秒,即3.66秒。这还未包括将数据由RS-232转换为CAN,由CAN 转换为 RS-232以及ECU或测试系统控制器处理数据的其它等待时间。如果选择RS-232侧的运行速度达到18.2kbps 的VCI设备,就可将测试时间缩短1.83秒。在必须将测试码或应用码下载至ECU的情况下,选择慢速的设备会造成更大的影响。
7 @9 i6 v8 a7 Z6 ] 八、离散输入
! c; i9 E1 j' i3 }) A0 n6 a3 W 离散(或开关)输入监测汽车中各组件和附件的开关状态。最重要的离散输入是点火开关。ECU需要知道点火开关的位置(起动,运行,关闭,辅助)以确定何时和如何控制燃油和点火系统。其它离散或开关输入还有停车开关、制动开关和A/C 开关。
' Q9 T+ L: X' \# n 在ECU 测试系统中,通常由通用和/或矩阵继电器组成的负载/激励模块将一个测试源(VBATT, BATT_GND, DAC, DIO)与ECU上的离散输入相连接。典型的测试包括:
* V3 s' Q% ]+ g5 d8 e5 E9 a" L 移动1/0——对于移动1,先将所有离散输入置0,然后再将输入由高切换为低,一次输入一个。移动0则与此相反。 3 H1 M. K' f# \- F
模式测试 (如0xAA, 0x55),读取ECU的状态。
0 Q M+ h3 j2 P) D. B* S: n) R" K, d 将每个输入与VBATT相连,读取ECU的状态。 ; D$ s8 x9 e( f; F' \" \& n* r5 t
将每个输入与BATT_GND相连,读取ECU的状态。 5 S- |3 i5 y0 Q% e$ P, @4 |
在开路条件下进行测试。 * ^# p5 C5 b, _: O2 e
九、频率输入 . U8 T0 r! Y @7 a0 {
频率输入通常用于监测测试速度(如车辆速度)或速度和位置(如曲轴)的传感器。对于ECU最为重要的反馈信号是曲轴信号。在有些发动机应用中,曲轴和凸轮信号都被用于向ECU提供速度(转速)和位置(曲轴角度)信息。曲轴和凸轮传感器可以采用可变磁阻型(VAR)传感器或红外传感器(IR)。这两种类型的传感器都能产生编码器信号,ECU通过这些信号来确定燃油和点火输出参数。 Y; k! s# g/ X7 o( D6 ?
典型的频率测试包括: + j! {* g; _: v7 o
用具有可变振幅和/或频率和/或占空比的信号来驱动ECU频率输入。 3 L& P( q$ ~ c' Z! [( O E+ v
对输入进行开路测试。 6 {9 ^) e% q0 v2 q
在VBATT和/或BATT_GND与输入短接的条件下进行测试。
3 n$ L! y6 F8 B3 ] 十、模拟输入
# _- j4 J4 F) Q# k( f4 ] 模拟输入监测汽车中数量众多的传感器。有多种类型的传感器,每一信号都由ECU调理。温度(发动机温度)、压力(MAP-集流腔绝对压力)、流量(EGR)和空气质量(氧气)等是至ECU反馈回路的组成部分。
& m! S' d8 ?& ^8 {0 ?1 e6 ?& H3 ~ 典型的模拟输入测试包括:
: x3 p( P( u; ^) p; r' L$ C 开路-没有源或负载与输入相连。 : ~3 d$ ^! u) t
与VBATT和/或BATT_GND短接。 ! r6 H8 j. o1 E% }1 H3 x
模数线性变换(如用量程的5和95%的输入信号进行测试)。 ' Q2 e' a9 N* C7 J1 M8 Q
十一、开关输出 ) @* Q; f) I) V
开关输出,有时也称作离散输出,通常为小电流驱动器(<2 A)。用于控制行驶控制离合器和燃油泵的信号就属于开关输出。有时根据开关输出向系统中的其它组件提供参考电源还是参考地而将其分为大电流驱动器和小电流驱动器。这些输出驱动的负载可以是电阻性负载(如检查发动机灯),也可以是电抗性负载(如气动电磁阀)。 ; C1 i* H" s1 ]; }
十二、脉宽调制 (PWM)输出
) I0 ^: W$ {: u0 w8 _1 O& C PWM输出是ECU输出中最为复杂的。而在PWM输出中,喷射和点火(或EST-发动机点火定时)输出可能是计算上最为复杂的。决定喷射和点火输出的定时、频率和占空比的主要因素是曲轴速度(转速)和位置(曲轴角度,0至360度)。用于确定燃油和点火参数的其它因素有车辆速度(mph)、油门位置(加速、减速、不变)、EGR(废气再循环)、发动机温度、歧管压力、燃油温度/压力,等等。简单地说,发动机应用码使用所有这些反馈进行一些运算,然后在校准表中查找并选出最佳的燃油混合和火花定时(火花提前和滞后),以优化发动机的性能。一般而言,PWM输出驱动电感性负载,如点火线圈和喷射器电磁线圈。大多数负载均小于5A,但有些负载,如点火线圈,则根据发动机设计的不同可为5至20A。
4 s, Q5 N! L) U1 K9 V 典型测试包括:
, R) A& D& @0 E ?6 @& t Voh = VBATT ±0.5 VDC, Vol = BATT_GND ±0.5 VDC。 & l; C2 R) B3 A% o" O
箝位电压/回扫电压,大多数均<100 V,点火线圈的回扫电压可达450 V。 - D2 _8 K1 M6 M7 {' d5 ~- n
输出漏电流。
`: o. h+ w$ [1 e9 h9 Q: ~! I, V 诊断。
- I; ^! p2 W+ b 将输出同VBATT和/或BATT_GND短接· 开关时间、上升时间/下降时间、占空比、频率。 ! X3 o+ ?6 T* S& Q1 Z0 w& r: y
曲轴位置和喷射/点火/EST之间的定时/同步(如相对于TDC的上升或下降沿延迟)。
1 ?- D$ h3 F4 o) Z6 a2 c$ Q3 G. n 电流与电压比(如在I=500 mA 时 的Vsat-电压)。
' _) R7 o) ~ |6 b 十三、频率输出 0 G" B: f, \. ?, v+ ]& h6 }
频率输出通常为恒定频率和/或占空比输出。它们常用于控制步进型设备。频率输出的例子有ISC,即怠速控制,它调整进入燃油系统的空气流量,从而改变怠速。
8 R9 K5 `- p3 S" F& P$ J3 d. M0 H 十四、ECU测试软件
" q, x% M- N3 f- O0 K 软件是测试系统的主要组成部分。通常需使用两种类型的软件:
$ |& Y6 H% B; F3 h4 _ 应用程序开发环境(ADE) - 用于编写测试码。 : n9 }- m# E. d/ O
测试执行程序- 用于管理测试序列。 9 e3 X9 t5 U5 G
ADE的选择非常重要,因为它会对系统的长期和短期成本产生重大影响。测试执行程序也会对成本产生影响。 任何测试应用程序都需使用某种类型的ADE来创建测试代码。ADE对开发时间有直接的影响,因而对系统的成本也会产生直接影响。选择ADE时需考虑ADE的成本、易用性以及其所包含的工具和程序库。 除此之外,能否从ADE供应商或第三方软件供应商处获得附加软件或软件包也是值得考虑的因素。随ADE一起提供的标准程序库和附加软件通常决定必须编写多少代码。一般而言,开发人员需要编写的代码越少,软件开发时间就越短,开发成本也越低。 ! e/ K6 I0 H$ y0 B" p: o% L
传统上测试代码和测试执行程序要结合在一起。每次需要为新产品开发测试程序 时,开发人员都必须编写新的测试执行程序或将测试执行程序代码从旧产品导入到新产品的测试码中。如果因为新产品的要求而需要更改测试执行程序部分的代码,则必须对每个采用该测试执行程序的系统进行相应的修改,或者为新产品编写其自己的测试执行程序。这样常常会导致同一测试执行程序有多种版本,从而增加软件维护和软件文件编制的成本。 ! |( b" q& ^, J% W _3 G) w+ h
现在市场上已出现了商用现成(COTS)测试执行程序。采用COTS测试执行程序后,测试系统开发人员只需将精力集中在测试码上,而无需担心测试执行程序。TestStand是市场上最好的COTS测试执行程序之一,它可以与几乎所有ADE中的测试码相连接,并可以与运用LabVIEW 和 LabWindows/CVI生成的代码无缝集成。 ( f$ ^+ }( y+ v f1 ?: t" K
此外,NI为多种平台,如PCI、PXI和PCMCIA提供CAN (控制器区域网)设备,这些设备几乎可用于需要CAN接口的任何汽车测试应用中。 ]) V1 \8 n0 }! a' N/ w
十五、本文小结
$ n9 i4 a) z2 C# i4 ? ECU是具有多功能输入和输出的复杂电子设备。测试工程师在设计和开发用于ECU测试的系统时面临着许多挑战。基于计算机的测量设备(如PXI)与虚拟仪器的结合为ECU测试应用提供了理想的硬件和软件平台,使得系统开发人员可以开发出满足现今和未来需求的测试系统。
, @8 f( b( E4 o1 { |