PIC16C72A在汽车电子智能仪表中的应用
1 设计思想
本设计采用 PIC16C72A单片微型计算机作为仪表的核心,汽车原有传感器无需更换,传感器的输出信号通过信号调理电路后送人CPU,经CPU处理后的信号采用时分技术通过VFD显示器显示出来。实时显示车速、发动机转速、水温、油位、总里程、子里程等车况参数,并对信息进行复杂处理从而为司机提供平均车速、经济油耗、剩余油量能跑里程数等有用信息,同时,还能对瞬时行车信息进行记录存储,实现“黑匣子”功能;对异常情况实现语音报警提示,且为今后功能扩展预留通讯接口。与传统汽车仪表相比,该仪表具有功能丰富、可靠性高、精度高、可视性好、通用性强、且有储存功能、无机械磨损、使用寿命长等优点。
2 硬件结构
轿车用汽车电子智能仪表由传感器、信号调理电路、单片机处理器、语音报警电路、显示驱动电路、VFD显示器等部分构成。如图1所示:
其中:S1为光电式车速传感器,将对应于0~200公里/d,时的车速转变成频率范围为0~136.3Hz的脉冲信号;
S2为脉冲信号式转速传感器,将对应于0~8000转/分钟的发动机转速变换成0~260Hz的频率信号;
S3为热敏电阻式温度传感器,用于测量汽车冷却水的温度,该传感器将水温的变化变换成电阻、电压的变化;
s4为浮子一可变电阻式液位传感器,将油位的变化变成电阻、电压的变化;
Cnl、Cn2为车速测量通道、发动机转速测量通道的信号调理电路,由于车速和发动机转速传感器输出的是脉冲频率信号,所以,与之相对应的信号调理电路的作用是对传感器的输出信号进行整形、嵌位/限幅,以满足CPU对输人信号的要求。水温和油量传感器输出的是模拟信号,其对应的信号调理电路 Cn3、Cn4为电阻传输网络,将传感器的输出信号送到单片机自带的A/D输人端;CPU为微控制器,整个仪表的核心,对信号的采集、处理和输出起控制指挥作用,芯片采用美国Microchip公司PIC16C72A芯片,它是带有8位5通道A/D转换器、4kX 14位的程序存储器、128X8位的数据存储器和3个定时器的8位微处理器;
E2PROM选用93LCA6B型三线串行电擦除可编程只读存储器,其容量为1k×16位,擦除周期1M次,显示速度2ms,数据保持时间长于4O年。在仪表中用于保存子里程、总里程数据以及当前车况,并保证掉电时数据不会消失,起到汽车“黑匣子”的作用;
ISD为语言芯片,储存所有报警语言,驱动报警喇叭;
DR1、DR2 为VFD 显示驱动器/控制器μPD16311芯片,一块用于驱动显示发动机转速、总里程的VFD显示屏,另一块用于驱动显示车速、水温、油量、子里程的VFD显示屏;
SP为喇叭,当车速、发动机转速、水温和油量等测量参数超限时,起语言提示报警作用;
VFD1、VFD2为荧光显示屏,实时显示车速、发动机转速、水温、油位、总里程、子里程等车况参数;
DC/DC电源变换器,将汽车上原有的12V蓄电池供电电压变成汽车智能组合仪表所需要的三种工作电压:即微控制器、语言芯片、信号调理电路所需的+5V电压,VFD显示屏的阳极和栅极所需的一32V电压以及用于VFD显示屏灯丝供电的交流4.2V电压;
功能选择开关用于功能选择,它有两个作用:①切换多功能显示区的显示内容,多功能显示区可以显示子里程(km)、子里程行驶时间(hr:min)和剩油行驶里程(km)3项内容,缺省显示内容为子里程,②对子里程和子里程行驶时间清零,按下按键的时间超过3s,即对子里程和子里程行驶时间清零;
亮度调节开关,对VFD显示器的亮度起调节作用。
3 软件设计仪表的软件由四部分组成:即由系统时钟程序、测控程序、按键/开关处理程序和VFD显示程序构成。系统时钟程序完成对四个软件定时器的处理,实现定时采样时间的设定、子里程/行驶时间清零定时器的设定、多功能显示时间定时器的设定、报警间隔定时器的设定等功能;测控程序主要包括数据采集程序、数据处理程序,完成对于车速、发动机转速脉冲信号和水温、油位传感器模拟信号的采集、数字滤波及其它各种数值的计算;按键/开关处理程序完成对多功能显示区切换、子里程和子里程行驶时间清零的功能;VFD显示程序完成对发动机转速、水温和油量的模拟光柱显示和车速、总里程、子里程、行驶时间、剩油行驶里程等参数的数字显示的功能。系统的主程序框图如图2所示:
汽车仪表在工作过程中环境变化无常,在设计上通过硬软件综合考虑,实现抗干扰和数据可靠存储设计。在软件抗干扰措施方面,首先考虑到数字信号在传输过程中受到干扰易引起码元波形变坏,传输到接收端后,可能发生错误的情况,在编码设计时,着重考虑编码结构,采用抗干扰性强的交织卷积码的编码方式;为了杜绝程序在使用过程中出现死循环或死
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)