PIC16C72A在汽车智能仪表中的应用
2020-02-15 来源:eefocus
1 设计思想
汽车仪表是司机与汽车之间进行信息交流的窗口和界面,对于提高汽车仪表使用寿命、安全和经济行驶有着积极而重要的作用。本设计采用PIC16C72A单片微型计算机作为仪表的核心,汽车原有传感器无需更换,传感器的输出信号通过信号调理电路后送人CPU,经CPU处理后的信号采用时分技术通过VFD显示器显示出来。实时显示车速、发动机转速、水温、油位、总里程、子里程等车况参数,并对信息进行复杂处理从而为司机提供平均车速、经济油耗、剩余油量能跑里程数等有用信息,同时,还能对瞬时行车信息进行记录存储,实现“黑匣子”功能;对异常情况实现语音报警提示,且为今后功能扩展预留通讯接口。与传统汽车仪表相比,该仪表具有功能丰富、可靠性高、精度高、可视性好、通用性强、且有储存功能、无机械磨损、使用寿命长等优点。
2 硬件结构
轿车用汽车电子智能仪表由传感器、信号调理电路、单片机处理器、语音报警电路、显示驱动电路、VFD显示器等部分构成。如图1所示:
图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位微处理器;
E²PROM选用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所示:
汽车仪表在工作过程中环境变化无常,在设计上通过硬软件综合考虑,实现抗干扰和数据可靠存储设计。在软件抗干扰措施方面,首先考虑到数字信号在传输过程中受到干扰易引起码元波形变坏,传输到接收端后,可能发生错误的情况,在编码设计时,着重考虑编码结构,采用抗干扰性强的交织卷积码的编码方式;为了杜绝程序在使用过程中出现死循环或死机的现象,设计了看门狗电路,以实现硬件对软件的保护作用;为了消除对数据采集带来的误差,对变化缓慢的油位传感器等信号采样值使用了算术平均法数字滤波,以消除油位波动给采样值带来的影响。
下一篇:PIC中断程序的设计技巧