基于C8051F020单片机的汽车故障诊断仪的研究
随着我国经济建设的不断发展,装有计算机控制系统的新型汽车已越来越多的应用于人们的日常生活中,这使得汽车的动力性,经济性,安全性,可靠性等有了极大的提高。但同时也使得汽车的结构复杂多了,也使一般汽车维修诊断与排除汽车故障困难多了,而利用汽车电脑存储的信息,诊断与排除汽车故障的方法也应运而生。仪器诊断是在经验的基础上发展起来的现代检验方法。它是与车载故障自诊断系统配套使用的,从本质上看,它相当于自诊断系统的终端设备,起到人机交互的作用。该方法可在汽车不解体的情况下,用仪器或设备测试汽车性能和故障参数,曲线或波形,甚至能自动分析和判断汽车的技术状况。随着电喷发动机汽车的普及,汽车故障诊断仪已作为一种必备的维修工具被大多数行业人士所接受。
本文设计的汽车故障诊断仪采用的是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 可以通过微控制器的端口引脚来控制。
图3 LIN总线与单片机的接口电路
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电平互相转换。 图 4 串行总线接口电路
2.5 键盘显示及存储器电路
本设计主键盘采用4X4键盘输入模块,其驱动模块采用的是SK5278,它是福州贝能科技有限公司推出的采用PIC内核的键盘控制器。该芯片采用4线串行接口,可与任何种类的单片机接口;它具有按键有效指示输出,可用中断方式管理键盘;其行线X0~X3与列线Y0~Y3可构成4×4键盘矩阵;SK5278的16键键盘控制器内含去抖动处理电路,因而可直接输出键值,并采用串行方式与单片机或微处理器进行接口。系统设计的功能键采用中段方式输入,整个工作流程通过不断的扫描按键的状态,判断是否有健按下,当有任意键按下时,即产生中段,CPU执行相应的中段子程序,若没有健按下时,继续扫描键盘的状态,直到有健按下,用键盘中断处理程序完成一切和用户之间的的信息交流。
显示电路选用的OCMJ5X10是160×80点阵的中文图文液晶图形显示器模块。该模块的内部由于含有国标一级简体字库,使得汉字的显示异常方便;同时,该模块与单片机的硬件接口除数据总线外,仅使用了REQ/BUSY两根握手信号线,简化了与单片机的硬件接口电路设计。上述特点对软件、硬件资源均十分紧张的单片机系统来说是十分重要的。
加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW
或用微信扫描左侧二维码