深度解读关于单片机的车用数字仪表系统技术

2020-12-25

在汽车的仪表板上安装有各种仪表、指示灯及报警灯,用于帮助驾驶人观察和掌握汽车及各系统的工作情况,提示异常现象和故障,以便及时消除安全隐患。

  汽车仪表是用以监测汽车各系统工作状况的装置。汽车上常用的仪表包括机油压力表、冷却液温度表、燃油表、车速表、 转速表和里程表等。随着汽车电子技术的发展,多功能、高精度、高灵敏度、读数直观的电子数字显示及图像显示的仪表已不断应用于汽车上。汽车仪表的功能已不仅仅是单纯的显示,而是通过对汽车各部件参数的监测和微机处理相配套,从而达到控制汽车各种运行工况的目的。

  1 引言

  车用仪表作为汽车的一个重要组成部分,使驾驶员能够迅速地掌握行驶信息,及时有效地采取相应操作,保证车辆正常安全工作。目前,在我国汽车电子市场中,70%以上的份额为国外企业的产品,国内企业产品所占市场份额不足30%,绝大部分车辆仪表仍以模拟式为主。由于模拟仪表表头的体积较大、指示内容单一,使得仪表显示系统占用了较大的空间,影响了车辆内饰的美观;另外,模拟仪表故障率高,降低了车辆行使的安全系数,增加了维护费用。现代车辆仪表系统不仅要求仪表耐用、耐振、指示准确、读数方便以及受温度、湿度的影响小,还要求轻巧、舒适、美观并具有良好的互换性。而车用数字仪表恰恰满足了这些要求。本文提出用51系列单片机和新型传感器等对传统车用仪表进行改进的新型数字仪表系统的设计方案。

  2 车用数字仪表硬件电路设计

  车用数字仪表主要由五个部分组成,即CPU主控制模块、温度采集模块、速度采集模块、E2PROM存储器模块以及LCD显示模块。

  2.1 系统总体设计

  作为车用仪表,其基本功能即为向用户提供车速、里程、车内温度等信息。从技术上说,其工作流程应为:系统启动时,单片机软件初始化,从0000H开始执行程序,开中断,单片机按工作周期输入霍尔传感器、温度传感器信号并进行处理,计算出行驶实时车速、行驶里程,并开中断,与温度数据一起输出到LCD显示模块AT1602A显示,且将里程信息存储信息到E2PROM存储器中。同时,为减少电磁干扰,采用抗干扰电源、光电隔离等措施保证系统正常稳定地运行[1]。

  图2.1给出了基于AT89C51单片机的车用数字仪表系统的框图,本系统功能由硬件和软件两大部份协调完成。整个系统主要包括:AT89C51控制模块、LCD显示模块TC1602A、温度传感器模块DS18B20、霍尔传感器模块A44E及E2PROM存储器模块AT24C02。其中AT89C51主要完成外围硬件的控制以及信息处理功能;温度传感器完成温度信号的采样及转换;霍尔元件采集汽车行驶的圈脉冲信号;E2PROM存储器模块存储当前里程信息;LCD显示模块TC1602A完成字符/数字转换、驱动及显示功能。

  2.1.1系统保护

  

深度解读关于单片机的车用数字仪表系统技术

  图2.1 基于单片机的车用数字仪表系统框图

  一个稳定而完善的系统离不开一套完整的保护控制方案。这里根据单片机运行特点将其运行中可能出现的故障及相应控制措施列表如表2.1所示。

  故障情况相应控制措施

  市电输入过压(》5V)由限流电阻和稳压管组成的过压保护电路防止高压进入CPU受干扰无法正常工作软件复位、掉电保护,电源受干扰,输出电压不稳定经型电路滤波,78L05变压后得到稳定电压

  2.1.2 控制模块I/O口

  AT89C51单片机有3个8位的并行双向口,计有24根输入/输出(I/O)口线;一个全双工串行接口(UART)。本系统中TC1602A用P1.0~P1.7,P3.3~P3.5与单片机通信;DS18B20用P2.0与单片机通信;AT24C02用P2.5,P2.6与单片机通信;A44E用P3.2与单片机通信。

  2.2 CPU主控制模块和51单片机系统的扩展

  

深度解读关于单片机的车用数字仪表系统技术

  CPU主控制模块主要采用AT89C51单片机完成霍尔传感器的信号采集、温度信号的采集,以及里程信号、速度信号、温度信号的显示工作。基于设计要求,要进行系统扩展。论文大全。

  AT89C51系列单片机芯片可构成图2.2所示的三总线结构,即地址总线(AB)、数据总线(DB)和控制总线(CB)。所有的外部芯片都通过这三组总线进行扩展[2]。

  在本系统中,温度、速度及里程信息的实时性要求很高,而一般串行接口器件速度较慢,在需用高速应用的场合,还是并行扩展法占主导地位,所以在本系统中采用以并行方式扩展E2PROM存储器和LCD显示模块。

  2.3 LCD显示模块

  2.3.1 引脚与内部结构

  LCD显示模块主要采用TC1602A字符型液晶显示芯片显示车内温度、车速及里程信息。

  TC1602A共有16个引脚,其引脚及功能如表2.3所列。

  引 脚符 号输入/输出功 能 说 明

  1Vss电源地:0V

  2Vdd电源:5V

  3VO对比度调整,驱动电压范围为VDD~VO当VO 接地时,对比度最强

  4RS输入寄存器选择:“0”为指令寄存器; “1”为数据寄存器

  5R/W输入“1”为读操作;“0”为写操作

  6Enable输入使能信号:E=1时,使能;E=0时,禁能

  7~10D0~D3输入/输出数据总线的低4位,与4位MCU连接时不用

  11~14D4~D7输入/输出数据总线的高4位

  15~16LED+/LED-电源背光

  TC1602A内部主要由DDRAM、CGROM、CGRAM、IR、DR、BF、AC等大规模集成电路组成[3]。

  2.3.2 TC1602A与单片机接口电路

  

深度解读关于单片机的车用数字仪表系统技术

  图2.3 TC1602A与AT89C51单片机的接口电路

  在本系统中,LCD显示设置在第1行依次显示2位数字的车内温度,3位数字的时速及9位的行驶里程,且相邻信息以1个空字符为间隔,相关单位可标记在仪表外壳上。

  TC1602A与单片机AT89C51的P1口传输显示数据,相关控制线分别与P3口的控制引脚连接,接口电路如图2.3所示:

  2.4 温度采集模块

  温度采集模块主要采用美国Dallas半导体公司的DS18B20温度芯片对车辆内部温度进行采集。

  2.4.1 内部结构

  DS18B20内部结构主要由四部分组成:64位光刻ROM、温度传感器、非挥发的温度报警触发器TH/TL和配置寄存器。

  光刻ROM的作用是使每一个DS18B20都各不相同,以实现一根总线上挂接多个DS18B20的目的[5]。DS18B20温度传感器的内部存储器包括一个高速暂存RAM和一个非易失性的可电擦除的E2PROM。用户可自设定非易失性温度报警上下限值TH和TL(掉电后依然存在)。DS18B20在完成温度变换后,所测温度值将自动与贮存在TH和TL内的报警值相比较,如果高于TH或低于TL,DS18B20内部的告警标志就会被置位。

  2.5 速度采集模块

  在本系统中采用轴向磁极方式设置磁体,将它和霍尔开关电路组合起来可以构成旋转传感器。转轴每转1圈,霍尔传感器发出8个脉冲[6]。

  测速传感器的工作原理是将霍尔开关和磁铁分别安装在车架、车轮的适当位置,其产生的脉冲信号输入到单片机的P3.2端,单片机对其进行计数,算出速度、里程并输出到LCD显示器,实现车速、里程的数字显示。

  由于A44E属于开关型的霍尔器件,其工作电压范围比较宽(4.5~18V),其输出的信号符合TTL电平标准,可以直接接到单片机的I/O端口上,而且其最高检测频率可达到1MHz。

  霍尔传感器集成芯片A44E有信号转换、电压放大、整形输出等功能。为增加其抗干扰能力,通过光偶后送入P3.2引脚。如图2.10所示[7]。

  图2.10 霍尔开关脉冲的检测  

深度解读关于单片机的车用数字仪表系统技术

  2.6 E2PROM存储器模块

  为了实现里程显示的连续性,系统必须选择掉电存储器存放里程信息。掉电存储单元的作用是在电源断开的时候,存储当前的里程信息。这里可以采用掉电保护的E2PROM存储器AT24C02。

  3 车用数字仪表电路软件设计

  为使数字仪表系统更优化,本节以51系列单片机为核心设计了各部分的软件控制。

  3.1 主程序

  控制模块AT89C51的程序流程图如图3.1所示。

  

深度解读关于单片机的车用数字仪表系统技术

  图3.1 主程序流程图

  3.2 温度传感器子程序

  本系统对DS18B20进行的操作主要包括两个子过程:(1)读取DS18B20的序列号。主机首先发一复位脉冲,等收到返回的存在脉冲后,发出搜索器件的序列号命令,读取DS18B20的序列号;(2)启动DS18B20作温度转换并读取温度值。主机在收到返回的存在脉冲后,发出跳过器件的序列号命令,跟着发出温度转换命令,再次复位并收到返回的存在脉冲后,发送DS18B20的序列号,读出数据。

  3.3 里程脉冲中断子程序

  里程表的速比表示的是:输入与输出速度之比,里程表转轴(软轴)在汽车行驶1公里时所转过的转数。论文大全。这种里程表转轴每转1圈,霍尔传感器将感应发出8个脉冲。现在以速比为1:624的车型为例:汽车行驶1公里,则霍尔传感器发出的脉冲数共为8&TImes;624=4992个,或者说,每个脉冲代表了1/4992公里的里程。霍尔传感器将这些脉冲信号当作外部中断源输入给单片机,使每个脉冲产生1个中断,并通过中断服务程序对每个脉冲进行计数。这样,当计满4992时,表明汽车行驶了1公里,然后再给累计单元加1,并存入E2PROM单元,最后通过刷新LCD液晶显示器,即可实现里程计数功能,本设计选用边沿触发方式,即采用负跳变引起中断。

  软件实现:控制模块在关闭脉冲中断之后,当脉冲数达到1公里所需数目后修改里程记数单元并关中断、返回。

  3.4车速测量子程序

  用脉冲发生器(霍尔开关)实现车速表。

  与上相同,以速比为1:624为例。在单位时间内(以1s为例),对霍尔传感器发出的脉冲信号进行记数,通过计算即可得出实时速度。具体如下:

  在单位时间内(本系统设定为1s)记霍尔开关的脉冲数,用单位时间所行的距离即可计算出单位时间内的平均速度(如图3.6)。若单片机1s内收到了n个脉冲,则1s内车辆行驶的距离为:(1000n)/4992,速度为[(1000n)/4992]m/s,把它转换为km/h。每隔1s输出时速并刷新LCD液晶显示器,即可实现车速显示功能。

  E2PROM存储器AT24C02能与I2C总线兼容,遵守I2C总线协议。

  3.5 LCD显示子程序

  LCD显示模块采用TC1602A。由于本系统只显示温度、车速、里程等信息,单片机不读入LCD信息,所以本系统只用到其中设置输入模式指令、显示开关控制指令、系统初始化设置、DDRAM地址设置指令、忙状态检查指令、写数据指令。

  4 辅助电路

  作为一个完整的数字仪表系统,除主控制单元外还必须有许多辅助电路。例如提供保护的抗振措施、过压保护电路、看门狗电路等,这些电路是一个完整的单片机数字仪表系统必不可少的,下面将分别介绍。

  4.1 抗振措施

  车载电子设备的抗振措施主要是以下两个方面:

  (1)加固设计

  提高电子设备结构上的薄弱环节。对薄弱环节进行加固,使其容许的冲击应力和疲劳极限高于其实际响应值,保证电子设备的正常工作;

  (2)采用隔振缓冲系统

  对电子设备整机进行隔振缓冲设计,使外部激励通过隔振缓冲系统的减弱后,传递给设备的实际作用力,小于设备的许用值。

  4.2 过压保护电路

  本系统在输入通道上也设计了过压保护电路,1脚为电压输出,8脚为电压输入,它由限流电阻和稳压管78L05组成,加在单片机电压输入之前,防止引入高电压,损害单片机系统。


湖北英索尔电子有限公司     地址:湖北省襄阳市高新区佳海工业园A42-2号    电话:0710-2095719    传真:0710-3529078    鄂ICP备15018634号-1