基于C8051F020单片机的汽车故障诊断仪设计

2017-03-16 68 0

一、系统概述

针对汽车电控单元(ECU)故障诊断需求,本文以C8051F020单片机为核心设计故障诊断仪,实现参数测量、在线故障诊断与执行器测试等功能,具有结构简单、成本低、体积小、可靠性高的特点。

二、硬件设计

硬件系统包括:C8051F020处理器及其外围扩展电路,键盘与液晶显示模块,外扩存储器模块,CAN、LIN通信模块,与PC机的串行通信模块,以及电源与复位电路。

C8051F020采用与MCS-51指令集完全兼容的CIP-51内核,峰值速度可达25MIPS,片内集成PGA、ADC、DAC、电压比较器、电压基准、温度传感器、SMBus/I2C、UART、SPI、定时器、PCA、内部振荡器、看门狗与电源监视器等。其数字交叉开关允许将内部数字资源映射至P0~P3端口引脚,并内置多个复位源,可靠性高。

CAN接口选用SJA1000控制器与PCA82C250收发器,实现ECU与微处理器间通信;LIN总线采用TJA1020收发器,直接与单片机串口相连,支持最高20kBaud速率,RXD/TXD为漏极开路,可兼容3.3V/5V微控制器,睡眠控制输入NSLP由端口引脚控制。RS-232串行通信采用SP3223完成TTL与RS-232电平转换。

键盘采用4×4矩阵经SK5278键盘控制器(PIC内核、4线串行接口、内含去抖动)接入,以中断方式管理;显示选用OCMJ5X10 160×80点阵中文液晶模块,内置国标一级简体字库,接口除数据总线外仅需REQ/BUSY两根握手线;外扩8Mbit Flash存储器AT45DB081存放故障代码与传感器数据。

三、软件设计

软件采用模块化设计,包括主程序、初始化、定时器中断、诊断协议、串行通信、键盘显示与存储器读写程序,均用C语言编写。主程序完成系统初始化、时钟与功能寄存器设置后循环扫描键盘,按按键转入相应服务程序。

四、抗干扰设计

硬件方面:电源与IC周围配置去耦电容,电源地、MCU外围地与信号地单点接地;低频信号输入采用RC低通滤波抑制串模干扰;PCB上数字与模拟电路隔离、仅一点相连;金属机壳屏蔽射频干扰。软件方面:数字滤波排除随机干扰;设置冗余指令与软件陷阱防程序跑飞;设计软件看门狗防死循环。经实验验证,诊断仪工作稳定、操作方便、抗干扰能力强。

相关文章

BTL桥式推挽功率放大器及其应用
基于MC145026/MC145027的无线鼠标改造电路
基于CD4069/CD4017/CD40174的五路平面彩灯控制器
小型变压器的设计原则和技巧
Protel 99 SE操作环境及特点
热转印法制作PCB板(一):原理与打印设置

发布评论