历史上的今天
返回首页

历史上的今天

今天是:2025年02月15日(星期六)

2020年02月15日 | 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所示:


 
图2 主程序流程图


    汽车仪表在工作过程中环境变化无常,在设计上通过硬软件综合考虑,实现抗干扰和数据可靠存储设计。在软件抗干扰措施方面,首先考虑到数字信号在传输过程中受到干扰易引起码元波形变坏,传输到接收端后,可能发生错误的情况,在编码设计时,着重考虑编码结构,采用抗干扰性强的交织卷积码的编码方式;为了杜绝程序在使用过程中出现死循环或死机的现象,设计了看门狗电路,以实现硬件对软件的保护作用;为了消除对数据采集带来的误差,对变化缓慢的油位传感器等信号采样值使用了算术平均法数字滤波,以消除油位波动给采样值带来的影响。

推荐阅读

史海拾趣

ETC1公司的发展小趣事

华铭智能是一家在ETC领域具有深厚技术积累的企业。为了推动ETC行业的发展,华铭智能积极寻求跨界合作的机会。公司与多家汽车制造商、智能交通系统提供商等建立了紧密的合作关系,共同研发和推广ETC技术。通过跨界合作,华铭智能不仅拓展了自身的业务范围,还推动了ETC技术在更多领域的应用。

安森德(Ascend)公司的发展小趣事

安森德公司自创立之初,便以技术创新为核心竞争力。在半导体工艺领域,公司研发团队不断攻坚克难,成功研发出具有自主知识产权的超结MOSFET技术。这一技术的导通损耗和开关损耗均达到行业领先水平,为电源设备带来了更高的效率和更低的能源消耗。凭借这一技术突破,安森德的产品迅速在市场上获得认可,为公司的快速发展奠定了坚实基础。

General Magnetics Inc公司的发展小趣事
如确认有元件损坏(如二极管、电容、电感等),应及时替换为同型号或性能相近的元件。
Crane Connectors公司的发展小趣事

随着国内市场的逐步饱和,Crane Connectors公司开始将目光投向国际市场。公司制定了详细的国际化战略,包括设立海外分支机构、拓展销售渠道、加强与国际知名企业的合作等。通过不断努力,公司的产品逐渐打入欧美、东南亚等地区的电子市场,实现了销售收入的快速增长。国际化战略的成功实施,不仅提升了公司的国际影响力,也为公司的长远发展奠定了坚实的基础。

Conditioning Semiconductor Devices Corp公司的发展小趣事

为了进一步提升技术水平和扩大市场份额,CSDC积极寻求与国际半导体巨头的合作。通过与这些公司的技术交流和合作研发,CSDC不仅获得了先进的技术支持,还成功打入了国际市场。这一合作不仅提升了CSDC的品牌影响力,也为其带来了更多的商业机会。

Bellnix Co Ltd公司的发展小趣事

随着国内市场的逐渐饱和,Bellnix开始将目光投向海外市场。公司制定了国际化战略,通过设立海外分公司、建立销售网络等方式,积极拓展海外市场。同时,Bellnix还加强与国际同行的交流与合作,引进先进的技术和管理经验,提升公司的国际化水平。这些举措使Bellnix在国际市场上取得了显著成绩,为公司的发展注入了新的动力。

问答坊 | AI 解惑

常见的嵌入式操作系统

DOS     微软一开始选用了派特森的Q-DOS “QUICK AND DISK OPERATING SYSTEM ”为基础然后再扩充功能而成 MS-DOS,主要是采用由IBM 提供的使用8088 微处理器的计算机作开发平台,它是以16 字节单人单工操作系统,特别适合一些功能简单 ...…

查看全部问答>

请教关于PXA270唤醒源的设置

专家好:    我的PDA前两天在公司测试部门发现,按键进入深度休眠后,不能马上按键唤醒,只有等5~6秒(大约值)后才能马上唤醒 我的按键休眠是设置的GPIO0,唤醒源也是GPIO0 具体的设置如下:          &nbs ...…

查看全部问答>

如何在win ce下设置图片的3D凸起效果?(C#) 谢谢了!

如何在win ce下设置图片的3D凸起效果?(C#) 谢谢了!…

查看全部问答>

关于TAPI的lineInitializeEx的困惑

Windows Embedded CE 6.0帮助文档中介绍,Establishing a Modem Connection的流程如下: lineInitializeEx      ↓ lineOpen      ↓ lineMakeCall      ↓ lineGetMessage & ...…

查看全部问答>

串口输出 程序调试

#include #include void main() { int i=7,j=2; float f=(float)i/j; SCON = 0x50; TMOD |= 0x20; TH1 = 0xf3; TR1 = 1; TI = 1; printf(\"%f\",f); while(1) {} } 这个程序为什么在运行的时候 在串口输入串口 没看到东西啊 ...…

查看全部问答>

全球首个太空机器人

$(\'swf_vSx\').innerHTML=AC_FL_RunContent(\'width\', \'550\', \'height\', \'400\', \'allowNetworking\', \'internal\', \'allowScriptAccess\', \'never\', \'src\', encodeURI(\'http://www.tudou.com/v/IJy11e9LXmk/v.swf\'), \'quality\', ...…

查看全部问答>

一个让人纠结的结果

最近玩单片机的时候谢了一个小代码,但是实在不知道出错在哪里。代码如下         ORG 0000H         ;程序从000H地址开始运行         LJMP        ...…

查看全部问答>

求教!新手求指点

若我有一台17KW  600V的无刷电机,控制器的驱动部分因该选用哪种IGBT和驱动芯片呀,求个型号以供参考,谢谢了…

查看全部问答>

Quartus II的用法

我写了两段不同的verilog代码来实现同一个功能,现在我想比较哪个代码在FPGA上跑的更快,我在Quartus II里如何看出来呢,请各位指导我一下,谢谢。…

查看全部问答>