基于ADμC845的车用数字仪表的设计
车用仪表是车辆上最重要的人机交互设备之一,主要用来向驾驶人员提供与车辆运行状态有关的信息。随着电子技术的广泛应用,传统汽车仪表必将逐步被以微处理器为核心的电子控制数字仪表所取代。
1 系统的工作原理和功能框图
本文中提出用ADμC845单片机及相关传感器器件对车用数字仪表系统进行设计。
本系统功能由硬件和软件两大部份协调完成。硬件部分主要完成各种传感器信号的采集、转换以及各种数据信息的显示等;软件主要完成信号的处理及控制功能等。系统功能框图如图1所示。ADμC845单片机获取各个传感器的输出信号,经自身模数转换器转换。转换后的数据由LCD液晶屏及LED指示灯显示输出,当部分数据达到或超过设定的峰值时。输出告警信号。
图1系统功能框图
2 硬件设计
2.1主控模块
本系统采用ADμC845作为主芯片.它是ADI公司新推出的高性能24位数据采集与处理系统.它内部集成有两个高分辨率的△-∑ADC、10/8通道输入多路复用器、一个8位MCU和程序,数据闪速/电擦除存储器。同时可提供62KB的闪速/电擦除程序存储器,4KB闪速/电擦除数据存储器和2304B的数据RAM。
ADμC845可通过一个片内锁存环PLL产生一个12.58MHz的高频时钟,以使之运行于32KHz外部晶振。该时钟可通过一个从MCU核心时钟工作频率分离的可编程时钟发送。片内微控制器是一个优化的单指令周期8052闪存MCU。该MCU在保持与8051指令系统兼容的同时。具有12.58MIPS的性能。两个独它的ADC(主ADC和辅助ADC)由一个输入多路复用器,一个温度传感器和一个可直接测量低幅度信号的可编程增益放大器PGA组成。主、辅ADC都采用高频“斩波”技术来提供优良的直流(DC)失调和失调漂移指标。ADμC845同时具有串行下载和调度模式.可通过EA引脚提供引脚竞争模式。
本系统的模数转换部分就采用此单片机本身的24位乏一∑-△型ADC。它可被设置成4/5个全差分输入通道或8/10个伪差分输入通道。主通道有缓冲器和内部缓冲禁止功能,输入范围在±20mV~±2.56mV之间分成8个挡,使用时可以任选一挡,这些通道用于直接转换来自传感器的信号。辅助通道用于接收辅助信号的输入此通道无缓冲器,只有一个固定为±2.56V的输入范围。
2.2传感器模块
2.2.1温度传感器。本系统的温度传感器采用的是精密级铂电阻温度传感器PTl000.它的线性好,温度系数分散性小,性能稳定。此传感器装在冷却液回路中以测量冷却液的温度,测温范围为-40~+130℃。PTl000的输出电压经过电压调理电路直接接到单片机的模数转换的模拟通道。当冷却液温度过高时。输出告警信号。
2.2.2霍尔传感器。车速传感器和发动机转速传感器采用霍尔传感器。当车轮开始旋转时,霍尔传感器开始产生一连串脉冲信号,通过在单位时间对其计数计算出车辆行驶的瞬时速度和发动机转速,累计脉冲信号可计算出车辆行驶的里程。由于脉冲位置的占空比在任何速度下保持恒定不变,为了改善波形,我们通过RC滤波和三级管放大的处理方法对脉冲信号进行整形放大的。
2.2.3油量传感器。油量信号为模拟信号,所以我们通过高精度的电容式油鼍传感器得到脉冲信号,并经过滤波、放大和线性化电路的处理,送人单片机模数转换的模拟通道。由于车辆运行中的颠簸使得邮箱内燃油的液位也在不断的摆动,所以其调理电路中的元件参数尤为重要。合理的电路将有助于软件中的数据处理。到转一周的时间-由此算出运行速度。
2.2.4机油压力传感器。压力传感器采用电子式机油压力传感器,它安装在发动机的主油道上.压力范围为0.01~0.6Mpa。当发动机运行时。压力测量装置检测机油的压力并将压力信号转变为电信号送,经过电压放大和电流放大,通过信号线将放大后的电信号送入单片机模数转换的模拟通道。单片机将转换后的数值与预设的告警电压值进行比较。当低于告警电压时.输出告警信号。
2.3显示模块
显示模块包括LED指示灯和LCD液晶显示。液晶采用有20个外部引脚的图形点阵液品显示器LSDl2864CT。它采用8位数据总线和5条控制线与单片机连接.如图2所示。可显示图形和8x4个(16x16点阵)汉字。采用带有汉字库的液晶显示屏.使得各项显示的数据更加直观和清晰易懂。LED显示的内容包括机油压力过低、冷却水温度过高、燃油过少、手刹车未松、车门未关好、后备箱未关严、请系上安全带等。LCD液晶显示的内容包括车速、里程、发动机转速、冷却液温度、燃油量、机油压力等等。
2.4键盘控制电路
键盘控制电路由ADμC845的P3.0~P3.5构成。其接法如图2所示。该键盘有2行4列共8个
- 嵌入式汽车数字仪表设计(02-08)
- 基于RlTOS和ISP功能的数字仪表系统设计与实现(10-29)
- 一种嵌入式汽车数字仪表设计方案(02-25)
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)