李静
(南京铁道职业技术学院,江苏南京,210031)
现代汽车故障诊断技术要求在不解体汽车的前提下,通过某种外部诊断设备按照通信协议要求与汽车进行通信,获取汽车的故障信息甚至运行参数,并以文字或图形方式直观地显示给汽车维修人员。这种外部故障诊断设备就是基于车载自诊断系统(On Board Diagnostic,简称 OBD)的汽车故障解码器[1]。
OBD-II标准诊断接口支持4种诊断协议:ISO9141、ISO14230(KWP2000)、ISO15765和 SAEJ1850[3]。本文提出一种基于ARM7处理器的汽车故障诊断仪的硬件系统设计,能够支持采用ISO9141、KWP2000及ISO15765协议车型的诊断支持。
一个嵌入式最小系统必须具备电源、时钟和复位电路,本文解码器最小系统如图1所示。图1(a)、(b)所示电源模块将12V的汽车电平转换成系统所需的三种电压(5V、3.3V和1.8V)。采用了专门的微控制器电源监控芯片SP708S来产生复位信号,如图1(d)所示。
为了使串口的波特率更精确,使用了11.0592MHz的外部无源晶振,如图1(c)所示。由于LPC2294处理器对电源的稳定性要求较高。
图1 嵌入式最小系统外围电路
由于汽车故障解码器需要处理大量数据,片内存储器无法满足存储需求,因此本文外扩了一个16Mbit的Flash和一个4Mbit的SRAM,如图2所示。
图2 外扩存储器电路
图3 ISO 9141和KWP2000诊断接口电路
图4 CAN接口电路
ISO 9141和KWP2000诊断协议均为串行通信,具有两根诊断线:K线和L线。其中K线是主要的数据传输线,L线仅在初始化期间作为辅助线使用。本文将K线通过电平转换电路与LPC2294的UART相连,L线连接至LPC2294的通用输入输出口,如图3所示[4]。支持ISO15765协议的CAN接口电路如图4所示。
SD卡有两种驱动方式,一种是通过SD卡接口,一种是通过SPI口。由于LPC2294没有SD卡接口,因此选用SPI口驱动SD卡,如图5所示。
图5 SD卡接口电路
硬件系统是实现复杂软件功能的基础,硬件系统的正确性和可靠性至关重要。遵循按模块焊接和调试的方法,每焊接完一个功能模块后就对其调试,排除虚焊、短路等故障。首先焊接电源模块,因为电源是硬件系统基础,确保电源模块能够输出稳定的5V、3.3V和1.8V的电压,在电源模块调试成功后再焊接其它功能模块。
参考文献
[1]Toepper Stephanie, Kricke Claus, Lebert Klaus, et al.On-Board-Diagnosis(OBD) Automatic testing[J]. ATZ Automobil technische Zeitschrift, 2002, 104(9): 48-51.
[2]Rothlein B, Gail K. Introduction of OBD and emission control monitoring in Heavy Duty vehicles[J]. VDI Berichte,2007, 34(1986): 97-112.
[3]International Organization for Standardization, ISO 9141,Road vehicles-Diagnostic systems-Requirements for interchange of digital information[S], Switzerland: ISO, 1989.
[4]杨其校,刘昭度,齐志权等. ISO9141通讯电路及其与RS232串行通讯转换电路的设计[J].仪器仪表学报,2005, 26(8): 534-537.