随着我国经济建设的不断发展,装有计算机控制系统的新型汽车已越来越多的应用于人们的日常生活中,这使得汽车的动力性,经济性,安全性,可靠性等有了极大的提高。但同时也使得汽车的结构复杂多了,也使一般汽车维修诊断与排除汽车故障困难多了,而利用汽车电脑存储的信息,诊断与排除汽车故障的方法也应运而生。仪器诊断是在经验的基础上发展起来的现代检验方法。它是与车载故障自诊断系统配套使用的,从本质上看,它相当于自诊断系统的终端设备,起到人机交互的作用。该方法可在汽车不解体的情况下,用仪器或设备测试汽车性能和故障参数,曲线或波形,甚至能自动分析和判断汽车的技术状况。随着电喷发动机汽车的普及,汽车故障诊断仪已作为一种必备的维修工具被大多数行业人士所接受。
本文设计的汽车故障诊断仪采用的是CYGNAL公司的低功耗单片机C8051F020作为核心,具有数据存储,通讯以及LCD显示等各种功能。该仪器具有低功耗,高精度,携带方便适用于多种场合等特点。
1、诊断仪原理与功能
1.1 硬件原理及作用
(1)诊断电子控制系统的传感器、执行器状态以及ECU的工作是否正常。通过判断ECU的输入、输出电压是否在规定的范围内变化时,可以判断电子控制系统工作是否正常。
(2) 当电子控制系统中的某一电路出现超出规定的信号时,该电路及相关的传感器反映的故障信息以故障代码的形式存储到ECU内部的存储器中,维修人员可利用该诊断仪来读取故障码,使其显示出来。
1.2 硬件支持的主要功能
(1) 通过CAN、LIN通信模块可以实现与车载内各电子控制装置ECU之间的对话,传送故障代码以及发动机的状态信息。
(2) 通过单片机的同步/异步收发器可以与PC机进行串行通信从而完成数据交换,下载程序,以及诊断仪升级等功能。
(3) 通过液晶显示器来显示汽车运行的状态数据及故障信息。
(4) 通过键盘电路来执行不同的诊断功能。
(5) 通过一种具有串行接口的大容量FLASH存储器来保存大量的故障代码及其测量数据。
2、硬件电路及接口电路的设计
2.1 硬件电路的总体框架
该诊断仪硬件系统主要包括以下模块:C8051F020处理器及其外围扩展电路模块,键盘、液晶显示模块,外扩存储器模块,CAN、LIN,通信模块;与PC机的串行通信模块;另外还有电源电路以及系统复位电路。总体框图如图1所示。
图1 系统电路图
2.2 C8051F020单片机电路
设计中CPU选择的是Cygnal公司的C8051F020单片机,它采用具有与MCS-51指令集完全兼容的Cygnal公司的专利CIP-51微处理器内核,峰值速度可达25MIPS。并且在一个芯片内集成了单片机数据采集或控制系统所需要的几乎所有模拟和数字外设及其他功能部件(包括PGA、ADC、DAC、电压比较器、电压基准、温度传感器、SMBus/I2C、UART、SPI、定时器、可编程计数器/定时器阵列、内部振荡器、看门狗定时器及电源监视器等)。CIP-51对指令运行实行流水作业,从而大大提高了指令运行速度。另外C8051F020单片机最独特的改进是引入了数字交叉开关。允许将内部数字系统资源映射到P0、P1、P2和P3的端口I/O引脚,同时C8051F020还在内部增加了复位源,从而大大提高了系统的可靠性,完全可以满足诊断仪的功能要求。
2.3 CAN、LIN总线接口电路的设计
2.3.1 CAN总线接口电路
CAN总线接口电路包括CAN 通信控制器与微处理器之间和CAN总线收发器与物理总线之间的接口电路的设计。C8051F020与CAN驱动芯片SJA1000T的接口电路如图(2)所示本设计选取PHILIPS公司的SJA1000 CAN控制器以及82C250总线收发器。SJA1000 在电路中是一个总线接口芯片,通过它实现ECU与微处理器之间的数据通信。该电路的主要功能是完成CAN总线与单片机之间的通信。PCA82C250为CAN控制器和物理总线之间的接口,它可以提供向总线的差动发送能力和CAN控制器的差动接收能力,TXD和RXD引脚分别发送经过驱动后的发送和接收信号。具体连接如图2所示。
图 2 CAN总线与单片机接口电路
2.3.2 LIN通信模块的设计
LIN总线收发器选用PHILIPS公司的TJA1020,它直接与单片机的串口相连,电路连接图如图3, TJA1020 收发器是一个物理媒体连接,适合用于最高 20kBaud的LIN 传输速率,它的引脚TXD和NSLP 减小了输入阀值, 输出引脚 RXD和TXD 为漏极开路. 因此它可以和使用3.3V 或5V 电源的微控制器兼容, 而且收发器本身不需要额外的VCC电源. 为使引脚RXD和TXD达到高电平,当微控制器的端口引脚没有集成上拉电阻时,要加外部上拉电阻. 微控制器由 TX0向 TJA1020 的 TXD 引脚发送数据,TJA1020的 RXD引脚向微控制器的 RX0 发送数据。LIN 收发器的睡眠控制输入NSLP 可以通过微控制器的端口引脚来控制。
2.4 串行总线接口电路的设计
RS232串行通讯采用全双工的模式,系统中配置一条数据发送线。在同一时刻系统既可以发送数据也可以接收数据。图(4)给出了串行通信电路连接图。通过交叉开关把C8051F020单片机的P0.0,P0.1设置为TX0,RX0.RS232逻辑电平对地是对称的,与TTL,CMOS逻辑电平完全不同。逻辑“1”电平为-5~-15,逻辑“0”电平为+5~+15之间,其与单片机的逻辑电平不一致,必须进行电平转换,图4采用SP3223转换器实现TTL电平与RS-232电平互相转换。