基于HMS30C7202处理器和CAN总线实现客车液晶显示系统的设计

描述

混合动力汽车HEV(Hybrid-Electric Vehicle)在解决能源利用和环境保护上具有广阔的前景,目前在国内的研制尚处于起步阶段。由于涉及到两套系统(发动机与电动机)的协调工作、发动机的动力性能的控制、降低能源消耗以及污染气体排放等问题,需要对客车的内部参数进行实时观测,以详细了解它的运行状态。因此,一款能够直观地显示客车运行状态的仪表是必不可少的。对于这样一个集内燃机动力和电动机动力为一体的高复杂的系统,若要显示其内部大量的状态参数,仅依靠传统的传感器来传递信息显然是不切实际的,因此充分利用其内部现有的CAN(Controller Area Network)通讯网络,开发一款CAN通讯接口的液晶显示系统尤为重要。

系统结构

该系统使用ARM芯片作为主控芯片,从CAN总线上获得数据并通过液晶屏快速、形象地显示客车的运行状态,因此该系统应包括基本的硬件电路、数据通讯、操作系统和应用程序等4个组成部分。其系统框图如图1。

CAN总线

针对结合混合动力客车对仪表的要求,该系统的硬件电路应具有以下特点:

1)高度集成的主控芯片,要集成LCD控制器、触摸屏控制器、两个CAN总线控制器及PWM控制器等,该芯片应有较高的工作频率,能在温差较大、环境比较复杂的条件下工作;

2)具有容量较大、数据读取速度较快的存储器;

3)稳定可靠的电源系统,保证安全供电的同时,能有效避免输入电压波动带4)采用CAN通讯方式,在整车通讯系统异常时应具有适当的自我保护能力。

根据以上特点,Hynix公司生产的基于ARM构架的HMS30C7202芯片可满足这种高集成化的要求,该芯片集成了两个CAN控制器,可满足仪表需要两路CAN信号的要求。此外,HMS30C7202还有以下特点:集成LCD控制器,支持STN/TFT液晶显示,可直接驱动VGA显示器;5路10位A/D,可直接把触摸屏或话筒音频设备接上;工作温度-40℃~85℃,工业级别的温度范围;SDRAM控制器,DMA控制器等,这些特点都满足对主控芯片的要求。在电源系统和数据通讯方面,为了适应比较恶劣的工作环境,必须设计专用的模块来保证系统安全稳定的运行。

操作系统方面选用嵌入式Linux操作系统,利用其强大、稳定的工作性能,大量开放的源代码,不仅给应用程序提供了安全稳定的运行平台,而且大大缩短了产品的开发周期,降低了开发成本。

应用程序的编写是基于Linux操作系统的,需要在Linux下开发。本仪表应用程序的主要工作是对信息的接收以及显示,在Linux操作系统的支持下,使图像在液晶屏上的显示非常容易。

系统硬件设计

硬件电路结构

仪表的硬件电路结构示意图如图2所示。

CAN总线

HMS30C7202及其他核心芯片

HMS30C7202是基于ARM720T的高集成度32位处理器,其CPU与内部模块之间采用了基于AMBA(Advanced Microcontroller Bus Architecture)总线标准的高级模块连接设计;RISC核,运行速率可达70 MHz,适合于控制;8K的指令数据缓存;内部2K的SRAM主要用于中断服务程序,大大提高了中断响应速度;MMU单元,16位访问宽度的内存接口,可连接两个16、64、128或256Mbit的SDRAM设备;ROM、FLASH、SRAM和SDRAM控制器,支持突发ROM处理,可以让操作系统直接从ROM启动(ROM是32位的数据宽度,与SDRAM分离),指令运行和DMA操作SDRAM可以并行;HMS30C7202外围功能模块包括支持DMA的LCD控制器,可使用单色或彩色STN和TFT(薄膜工艺学)LCD,最大为640*480(VGA)的解析度,16位颜色,单色直接产生16个灰度级别;模拟功能块有A/D、D/A和PLL等,片内ADC接口模块可用于电池检测、音频输入和触摸屏;它还为外围设备提供了UART、USB、PS2和两路CAN等串行通讯口。HMS30C7202几乎包括了PC机的所有基本功能,是替代工控机的最佳方案。

除了主控芯片HMS30C7202,核心设备中还包括以下芯片:

FLASH:2片Intel的E28F640J3A,容量8MB,32位数据带宽,用于存储操作系统代码。

SDRAM:2片现代的HY57V561620LT,容量32MB,用于应用软件运行和调试。

EPROM:1片AM29F040,容量512KB,用于装载Boot-Loader代码。

CAN通讯模块

CAN(Controller Area Network)也就是控制器局域网,是一个串行的、异步的、多主机的通讯协议,它是全数字化、双向的现场总线。CAN具有以下主要特性:多主站依据优先权进行总线访问;无破坏性的基于优先权的仲裁;借助接收滤波的多地址帧传送;发送期间若丢失仲裁或由于出错而遭破坏的帧可自动重发送;配置灵活。这些特性使CAN总线得到了广泛应用。

在此模块中使用82c250为核心芯片,以典型的CAN通讯电路为基础,考虑到在混合动力客车运行过程中有可能出现通讯异常的情况,因此在电路中加入自恢复保险丝R16和R17对模块进行过流保护。当CAN总线上电流过大时,自恢复保险丝就会自动断路,从而保护CAN模块不被损坏;当电流正常时,自恢复保险丝会自动恢复通路,继续与总线通讯。其电路图如图3所示。

CAN总线

电源模块

针对转换压降大,输入范围宽的特点,选用的开关电源型号为LM2575-ADJ。LM2575-ADJ输出电压可调,由反馈电路控制输出5V或者12V,最大电流输出为1A,从24V电源转换为5V时转换效率达到80%。同时为了加强电压的稳定性,仪表还采用了芯片7805做二级稳压。仪表的核心电源电路如图4所示。

CAN总线

仪表从车载电池获取24V电源,经过电容C23滤波进入开关电源芯片LM2575-ADJ,输出端接二极管D4、滤波电感L3和滤波电容C28。该开关电源从输出取样作为反馈,R26、R28组成分压电路,为芯片反馈引脚提供参考电压。R26、R28的阻值分别为5.1K、1.2K,决定了二次稳压前电源电压为6.5V。在该电路中,仪表的输出电压可用以下关系式计算:

VOUT=1.23×(1+R26/R28)

二次稳压电源7805的输入、输出端分别接滤波电容C24、C25。输出电容C25兼顾储能缓冲作用。本仪表内部电源部分包含如图4所示的两个电源模块,为液晶屏背光提供12V电压,其电路结构与图4相比省略了二次稳压,通过更换R26、R28的阻值,使电压输出为12V。由于HMS30C7202需要使用2.5V和3.3V的工作电压,因此还要使用LM1117-3.3和LM1117-2.5把5V进一步降压。

系统软件设计

开发环境的建立及内核配置

本系统使用嵌入式Linux操作系统作为应用程序运行的平台,因此应用程序的开发应建立在Linux操作系统上。首先应在安装了Linux的PC机上建立交叉编译环境,在此使用购买芯片时附带的开发环境HLDK,只需将光盘中的压缩文件解压到 /home文件夹下即可完成交叉编译环境的安装,然后在命令提示符下输入登陆命令、账号和密码,显示进入/home/hms720目录下,说明已进入开发环境,这样就可以进行内核和文件系统的配置了。

内核与文件系统的配置与其他ARM芯片的配置大同小异,在此不再赘述,需要注意的就是在配置内核时,一定要选中CAN、LCD以及触摸屏等模块,这样才能让内核获得这些模块的驱动程序,确保硬件接口正常使用。配置好的内核和文件系统通过特定的工具下载到硬件中即可上电运行。

应用程序的开发

仪表应用程序的开发主要是对信息显示方案的设计,它体现了混合动力汽车的特点并发挥了本仪表的特长,显示方案流程如图5所示。

CAN总线

仪表开机后首先进入开机画面,停留1秒钟后进入待机页面,通过触摸屏控制可进入系统介绍、系统帮助、系统查询及能流页面,在系统查询和能流页面中,可点击相应区域进入发动机信息页面、电机信息页面、变速箱信息页面、电池信息页面和整车信息页面,在这些页面中可以清晰地显示客车的相关信息。此外,如客车某部分出现故障,无论仪表在哪个页面显示,均可弹出故障页面,直到故障排除为止。

结语

基于ARM7内核的HMS30C7202为混合动力客车液晶显示系统的开发提供了较好的解决方案,它高度的集成化特性不仅完全满足了混合动力客车对仪表的需求,改进了旧式仪表的缺陷,而且简化了硬件的电路设计和仪表的安装步骤,同时降低了系统成本;针对仪表实际使用条件而专门设计的电源模块和CAN通讯模块使仪表能够在恶劣的环境中稳定工作;嵌入式Linux为仪表提供了稳定的软件运行环境、丰富的底层驱动程序,从而增强了仪表的性能,缩短了驱动程序开发周期。

责任编辑:gt

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分