数字汽车仪表的设计与实现外文翻译资料
2022-11-18 19:45:39
英语原文共 6 页,剩余内容已隐藏,支付完成后下载完整资料
数字汽车仪表的设计与实现
守成丁
兰州理工大学电气与信息工程学院,甘肃兰州
摘要 - 研究了基于89C51的数字汽车仪表总体解决方案。 该解决方案采用模块化设计,将播放器分为核心模块,传感器和信号处理模块,显示模块,音频模块,电源模块等。测试数据表明系统实现了汽车速度和机油的3位数字显示容量和里程的5位数字显示。 该系统具有稳定性好,可视化显示,安全系数高,实用价值高等特点。
索引术语 - 数字汽车仪表。 硬件设计。 软件设计。 结构模块。
- 介绍
汽车仪表是驾驶员与其汽车之间最重要的信息交换接口。 它通过提供所需信息及其在安全和节约方面的重要性,在人机对话中发挥重要作用。 随着电子技术的进步,新型传感器和显示元件的发展,车载控制系统中的电子计算机得到了广泛的应用[1]。 汽车仪表的电气化和数字化为驾驶员提供了高精度数据,避免了传统机电机械仪表带来的诸多弊端,已成为必然趋势。 因此,它越来越受到全世界的关注。
- 系统硬件组件
数字汽车仪表硬件电路的设计包括主控模块,传感器和信号处理模块,显示模块,电源模块,报警模块和复位电路等的设计。硬件组成框图如图1 。
图l硬件框图
速度传感器的输出脉冲信号通过预脉冲处理电路滤波器的处理后成为放大后的标准方波信号。
然后,它被发送到SCM完成测速和里程计算。 通过燃料液位传感器输出的模拟信号经过预电压信号处理电路的转换过程被发送到用于89C5l的内部AID转换器的输入端口。 然后,LED模块显示由89C5l发送的测量结果。
- 系统硬件设计
速度传感器和信号处理电路
车速传感器将测试汽车速度。 目前在汽车上的应用主要是功率转速磁传感器,光学速度传感器,速度传感器和离心霍尔传感器。 磁传感器结构简单,抗干扰能力强,广泛用于汽车发动机转速的检测。 然而,它是自发的,并且它在低速时输出非常微弱的信号。 因此,当速度接近零时不能使用。 光电传感器具有高分辨率,但易受外界影响:灰尘,振动和其他干扰很容易导致无效。
然而,霍尔传感器是根据霍尔效应制造的,并安装在旋转轴上。 当汽车工作时,随着轴转动而转动。 传感器转子上的凸齿由永磁材料制成,通过间隙交替布置,霍尔器件(半导体)中会产生变化的磁场,使霍尔电压产生脉冲信号。 然后,根据脉冲的数量可以检测到速度。 因此,霍尔传感器的高分辨率克服了这一弱点,并以非常低的速度保证了强信号。 因此,具有良好的低速性能和抗干扰能力的霍尔传感器的选择较好。
根据霍尔传感器的输出特性,我们知道速度信号是一个恒定的脉冲信号,其频率与速度成正比。 但是,传感器输出信号不是标准的方波信号,通常有干扰。 预信号处理电路的主要任务是去除干扰信号,将信号整形为标准方波; 然后将其输入到微控制器。 预信号处理电路如图2所示。 在图2中,R5和C6构成差分电子电路,改善输入波形使得更陡峭的脉冲上升沿可以
获得; 晶体管Ql工作在开关状态以完成信号的放大和驱动,并与电阻器R7,R8和Optcoupler UlO构成光电隔离电路以增强抗干扰能力; 调节器二极管D3限制输入信号的幅度,以保护晶体管Q1发射节点不被正向反向电压[2]击穿。
图2预信号处理电路
预信号处理电路的输出信号是标准方波脉冲。 同时,使用89C5l中断端口进行计数,同时由T1端口计时,这样做,速度和里程将通过计算1秒内的脉冲来计算。
燃料传感器和信号处理电路
该传感器主要用于检测燃油箱。 它是结构原理如图3所示的兴奋剂输出液位传感器。当传感器浮子4随油位上下运动时,叶片2在电阻l上滑动。因此,浮动器被改变,使得检测电路产生不同的信号。 当整个电阻连接到外部固定电压时,油膜就可以通过叶片的电压变化来测量到地线[3]。
l
3
2
4
图3浮子式燃油液位传感器
石油信号有一个相对缓慢的变化率,但不可避免会有一些干扰。 为使输入电压符合ADCO8O9A ID转换器输入要求,设计了前端调整信号处理电路。
剩余油箱容积测量电路如图4所示。
图4燃料水平预处理电路
当表面稳定时,传感器输出稳定的电压。 R4和C5构成一阶惯性滤波器
模块具有阻尼系数,目的是消除行驶时的颠簸表面冲击。
微处理器
汽车仪表结构应尽量简洁,微处理器的尺寸应尽量减小到极限。 同时,他们应该满足实时测量精度需求。 此外,微处理器必须具有更快的计算速度,灵敏的反应和更高的精度。 里程数据是以前速度的计算数量,并且每个操作程序必须调用上次操作的结果。 因此,CPU必须具有快速擦除存储器容量,并且当CPU断电时,数据不会丢失。 ATMEL公司生产的AT89C5l是一款单片机,其突出的优点是适用于单片机快速擦除存储器。 它还可以利用系统开发过程,轻松改变修改程序,系统的开发周期将大大缩短。 同时,在系统开发过程中,即使电源断电,它也可以有效地保存数据并保护它们失去[4]。
89C5l列表切片机的8位微控制器采用先进的CMOS工艺制造,其性能为8位CPU; 4 KB闪存,用于存储过程和原始数据; 256字节的片上RAM; twol6位定时I计数器,可实现定时和计数功能; 四个八个IIO接口(PO,P1,P2,P3),具有实现并行数据输入和输出的功能; 一个全双工可编程串行接口,可以在单片机和其他外设之间传输串行数据,并具有产生MCU时钟脉冲信号的内部时钟电路; 五个中断源,包括两个外部中断源INTO和INTl,三个内部中断源,即两个常规I计数中断,一个串口中断。 综上所述,采用89C5l微处理器可以大大简化硬件电路设计,提高系统可靠性[5]。
LED显示电路
汽车经常在野外或相对苛刻的运行条件下运行。 因此,它要求电子显示设备具有高可靠性。 由于其良好的性能和显示效果,通常选用发光二极管(LED),真空荧光显示器(VFD)和液晶显示器(LCD)。 VFD和LCD作为小型显示器正朝着大型仪表板发展。
在特殊条件下工作,汽车需要低驱动电压和功耗的显示设备。 LED具有功耗低,容量大的特点; 高亮度,抗震性能强,LED无辐射,无污染,满足现代社会的需求。 显然,选择汽车LED显示屏是理想的选择。 图5所示为应用8255通过驱动阴极动态LED显示汽车速度的接口电路。
图5 8255驱动LED阴极电路的动态显示
图C在8255的扫描口中,由反向驱动器驱动控制非常公开的电位,完成LED频闪; 8255B数据口作为同一驱动口的74O7输出的LED控制码显示。
电源电路
任何电子设备的电源质量都直接影响电子设备的性能,汽车仪表也不例外。 汽车电器设备种类繁杂,开关频率高,主要对电路系统产生欠压和过压干扰。 欠电压主要是由于电池电量不足,或者在低温下长时间不行驶。 而过电压的原因比较复杂,可分为瞬态和非瞬态过压。 使用传统的过载,过电压保护已无法满足需求。 系统的电源设计首先要考虑宽电压输入环境。 因此选择结合DC-DC转换器MAX726H集成开关电源和微功率稳压器LP295O以获得稳定的 5 V,如图6所示。
图6电源电路
ADCO8O9转换模块,语音报警模块,电源和手动复位电路等。
- 系统软件设计
系统选用89C51单片机,内核为8C51,以汇编语言为编程语言,编程简单,实现速度快等特点。
仪器的软件设计作为硬件设计使用相同的模块化设计理念使得应用软件标准化,模块化。 一是可以有效提高系统的可靠性和可维护性; 第二,它为软件系统的扩展提供了方便; 第三,它提高了编程的速度和质量。
系统分为初始化程序,Tl中断,速度,里程,燃油测量,显示,双字节乘法,双字节除法操作,单字节BCD码转换和双字节代码转换BCD lO模块化设计。 主要模块设计如下[6]。
主程序模块
主程序模块的主要任务是设置单片机系统复位后的正确变量,并加强各子模块之间的协调。 最后,完成信息收集,处理和显示功能。 图7显示了主程序流程图[7]。
图7主程序流程图
设置定时器T1工作在模式l下,晶体振荡器频率为6MHz。 这个时间在设计中是100毫秒。 定时初始值计算如下(1)。
(2l6-T1)times;2(mu;s)= 100(ms) (l)它得到:TH1 = 3CH,TL1 = OBOH
高速计算模块
速度计算算法分析
速度预处理电路的输出信号为标准方波脉冲。 通过89C5l的TO中断端口进行计数,同时,通过T1端口计时,通过计算一秒钟内的脉冲来计算速度和里程。
假设一秒脉冲为N,霍尔传感器齿数为Nm,汽车轮胎半径为R,计算速度公式为(2)。
V =(NINm)times;2times;3.14times;R(mIs) (2)
从上面,设置参数Nm = 12,R = 0.5m。 为了便于计算,所有数字都取整数,而对话速度单位为KmIh,车速计算公式为(3)。
V =(Nxll2O)Il2OO(KmIh) (3)
速度计算子程序进程
速度计算模块完成速度计算并将计算结果转换为可以显示的非压缩BCD码。 单字节BCD码转换子程序被调用,转换结果也被存储。 速度计算子程序流程图如图8所示。
开始
读取计数值
调用双字节乘法子程序
调用双字节乘法子程序
写乘法器3l4
里程数据,以及它的BCD码,以方便下次计算和显示的呼叫。 由于里程数值相对较大,此处使用双字节存储。 里程数据存储库地址分配为表1。
表1
里程数据储存地址分配
里程 |
16位数据 |
BCD码数据 |
|||||
数据 |
高 8位 |
低 8位 |
10K位 |
lk位 |
100位 |
10位 |
l位 |
地址 |
72H |
73H |
53H |
54H |
55H |
56H |
57H |
里程计算子程序进程
里程计算子程序流程图如图9所示。
开始
读取计数值
写乘数ll2O
写除数l2OO
速度gt; l6O? NY
里程=里程 1
Y
N
存储里程碑值
累计里程计算
蜂鸣器报警
将压缩的BCD码转换为非压缩的BCD码
调用单字节BCD码转换子程序
调用单字节BCD码子程序
调用双字节除法子程序
写除数l2OO
返回
图8速度计算子程序流程图
里程计算模块
里程计算算法分析
因为速度是车辆的单位时间行驶距离,而每秒的速度值是每秒车辆的里程数值。公式(4)告诉我们车辆每秒的里程数值的公式是:
S =(Nx314)Il2OO(m) (4)
累积每个测量的步速,累积结果除以1000,如果商数为l,则里程值自动加l,剩余部分用于下一累加; 否则,结果将继续加入下一个累积。 因此里程值的结果是km,里程值的上限是65535km。
里程数据库地址分配
因为里程计算必须调用最后一次操作的结果,所以在本模块中需要存储这些结果
返回
图9里程计算子程序流程图
双字节乘法模块
由于从16位计数器读取的数据是双字节数据。 在计算里程时,系统本身的乘法指令不能直接使用。 因此,双字节乘法模块的设计可以完成双字节里程的乘法。 导入参数和导出参数存储在工作寄存器中,导入参数:R2R3存储被乘数,R6R7存储乘数; 出口参数:R4R5R6R7存储产品。
双字节乘法算法
89C5l乘法指令:MUL AB,执行A * B --- BA,即完成单字节乘以单字节的计算,结果为双字节。 将其扩展为双字节乘法,即以垂直乘法为单位的字节编程过程。
双字节乘法子程序进程
图10显示了双字节乘法子程序流程图。
INT1Interruption子程序进程
图11显示INT1中断子程序流程图。
部分产品向右移动
清除部分产品注册并将l6设置为移位寄存器
部分产品和乘数一次向右移动
N 乘数= 1? (从低位判断)
Y
部分产品添加
被乘数
N
度-L = 0?
<p
剩余内容已隐藏,支付完成后下载完整资料</p
资料编号:[24311],资料为PDF文档或Word文档,PDF文档可免费转换为Word