嵌入式汽车数字仪表设计

分享到:

1 引言

汽车仪表是驾驶员与汽车的信息交流界面,对汽车安全以及经济行驶具有重要作用。近年来,随着汽车电子技术的发展,汽车仪表显示信息也不断增加,而传统机械指针式汽车组合仪表则无法满足现在使用需求。特别是计算机、微电子和各种现场总线通信技术广泛运用,以嵌入式微处理器为核心的智能化数字式仪表将是汽车仪表发展的必然趋势。本文给出一种嵌入式汽车数字仪表设计方案。

2 硬件设计

汽车仪表需要处理的信号主要有:车速、发动机转速、水温、油量、以及各种开关量或报警信号。其中,发动机转速信号和前后灯信号是从CAN总线(发动机电控模块和前后灯电控模块)获取,而车速信号、水温、油量和其他开关量信号从相应的传感器获取。

汽车数字仪表系统结构如图1所示,本系统对车速、发动机转速、水温和油量信息采用步进表头显示,里程信息采用LCD显示,开关量或报警信号采用LED显示,串口EEPROM用于存储里程信息。采用Microchip公司的具有SPI接口的控制器MCP2510与收发器80C250构成CAN节点,用于实现与汽车其他CAN节点间的通信。

 

2.1 MCU、外扩存储器和里程存储电路

系统采用三星公司的ARM7TDMI器件S3C44BOX作为主控制器。S3C44BOX是16/32位RISC处理器,其工作主频可达75 MHz,内部资源丰富。由于S3C44BOX内部无存储器(内部SRAM用于缓存),因此必须采用总线扩展外部存储器,包括程序存储器和数据存储器,采用16 Mbit的:FlashSST39VF160及64 Mbit的SDRAM HY57V641620分别作为程序存储器和数据存储器。系统还采用一片AT24C04存储器件来存储里程信息。AT24C04是4 Kbit的串行存储器,采用I2C总线方式实现里程信息的存储。

2.2 电源和复位电路

该汽车数字仪表系统采用汽车蓄电池供电,汽车蓄电池的电压约为12 V,而该系统需采用5 V、2.5 V和3.3 V工作电压,S3C44BOX内核工作电压是2.5 V,I/O端口的工作电压是3.3 V,调理电路以及一些驱动器件需用5 V的工作电压。因此,系统选用7805稳压器作为5 V电压转换器,选用AS2515AU2.5和AS2515AU3.3分别作为2.5 V和3.3 V电压转换器。掉电时能够及时存储里程信息,电源地需接一只1 000 μF的电容。掉电时,大电容可以确保S3C44BOX工作一段时间,完成里程信息的存储。复位电路采用专用的复位电路IPM811实现系统稳定启动。图2为系统电源电路。

 

2.3 车速、水温、油量以及开关量的处理电路

由于汽车大多工作在恶劣环境下,将干扰车速传感器信号,因此在输入至中断端口EINT0前需要对车速脉冲信号进行处理,这里采用RC滤波、三极管放大以及斯密特整形方法调理车速脉冲信号。车速脉冲调理电路如图3所示。

 

水温、油量信号是电阻信号,须转化为电压信号,再将其电压信号输入至S3C44BOX的AD端口。而其他开关量则经过滤波降压后输入至S3C44BOX的I/O端口。

2.4 CAN总线通信电路

S3C44BOX无SPI接口,但有SIO接口,SIO模块的发送和接收既可在上升沿锁存数据位,也可在下降沿锁存数据位,因此可通过设置S3C44BOX的SIO模块所对应的寄存器实现上升沿发送数据,下降沿接收数据,从而与MCP2510的SPI总线时序相配合。CAN总线通信电路如图4所示。

 

步进电机表头电路等。其中步进电机选用Switec的汽车仪表专用步进电机X15.168,以及专用四通道步进电机驱动器件X12.017。S3C44BOX的I/O电平为3.3LVCMOS电平,而X12.017是5VCMOS电平,需采用74LVX4245电平转换。


3 软件设计

3.1 操作系统

μC/OS-II是Jean J-Labrosse开发的免费的、开源的嵌入式实时操作系统。μC/OS-II是一个基于优先级的可剥夺型内核,系统所有任务都有一个唯一的优先级别,适用于实时性要求较强的场合。μC/OS-II提供多种系统服务,如消息邮箱、消息队列、信号量管理以及时间延时等,实时内核使得CPU的利用更有效。

3.2 μC/OS-II在ARM上的移植及配置

μC/OS-II的源代码除了那些与硬件关系紧密的软件模块需用汇编语言编写外,绝大部分代码都采用C语言编写,所以μC/OS-II的可移植性强。在ARM上移植μC/OS-II主要编写3个源文件,即OS_CPU.H、OS_CPU.C、OS_CPU_A.S。在OS_CPU.H中完成所需的基本配置和定义(定义数据类型、定义使能和禁止中断宏等);OS_CPU.C主要移植OS-TaskStkInit()、OSTaskCreateHook()、OSTaskDelHook()、OSTaskSwHook()、OSTaskStatHook()、OSTimeTickHo-ok()等6个函数;OS_CPU_A.S主要完成OSStartHighRdy()、OSCtxSw()、OSIntCtxSw()、OSTickISR()等4个汇编函数的移植。

3.3 系统任务及分析

对一个具体的嵌入式应用系统“任务划分”是实时操作系统应用软件的关键,任务划分是否合理将直接影响软件设计质量。本系统主要有8个任务,即车速脉冲测量任务、CAN总线任务、水温采样任务、油量采样任务、开关量处理任务、里程记录及LCD显示任务、步进电机驱动任务、WDT任务。任务间通过消息队列和信号量进行通信和共享数据。系统主控程序如下:


 

继续阅读
嵌入式计算机在配网可视化管控系统中的应用

随着电力物联网建设工作的逐步展开,以大数据、物联网和计算机等先进技术为基础的配网可视化管控系统飞速发展,它将设备和用户连接起来,可实现用电集中监控和配网数据信息共享,为智能电网发展蓄力。

如何来形容AMD 2019年的CPU表现?

如何来形容AMD 2019年的CPU表现?可以说今年AMD非常接近完美了,7nm锐龙3000处理器在架构、性能、能效、性价比方面都很完美,美中不足的就是超频和供货问题,拖累了一点后退。

对基于NFC的嵌入式系统进行检测

今天,电子产品堪称无处不在,不管是汽车、白色家电,还是娱乐设备、可穿戴设备,都已融入我们生活的方方方面。电子系统的快速普及应用,归功于大规模集成电子器件的出现,例如,非常复杂的计算密集型微控制器和SoC(系统芯片)。

MIPS或RISC-V:恐难担当华为的未来

MIPS阵营最近的大新闻,是从2018年12月开始,这个架构被其新的拥有者Wave Computing公司宣布开源。该公司在“开放MIPS(MIPS Open)”计划中表示,他们会开放对32位和64位设计最新版本的网络访问,而用户无需像使用ARM或者X86那样,给该公司任何许可或特许使用费。

恩智浦和微软共同展示用于预测性维护的云到端机器学习解决方案

华盛顿州西雅图——2019年5月7日——恩智浦半导体公司今天与微软宣布合作推出基于人工智能 (AI) 和机器学习 (ML) 的Azure IoT异常检测功能。通过将恩智浦的离线机器学习能力和嵌入式处理专长与微软的云专业知识优势互补,联合演示了一个全新的Azure IoT异常检测解决方案。