基于WinCE的智能车载仪表的设计
- 格式:pdf
- 大小:315.97 KB
- 文档页数:4
第19卷第1期
2 0 1 1年2月 电 脑 与 信 息 技 术
Computer and Information Technolozv V01.19 No.1
Feb.201I
文章编号:1005—1228(201 1)01—0034-04
基于WinCE的智能车载仪表的设计
韩琨,郝继飞,周晓飞,赵娟娟
(中国矿业大学信息与电气工程学院,江苏徐州221008)
摘要:针对当前汽车仪表的发展趋势,设计了一款基于WinCE操作系统的智能车载仪表。智能车载仪表可以通过CAN 总线接受汽车各个部件的ECU的信息,并将其显示在液晶显示屏中。系统硬件基于ARM9¥3C2440控制器为核心。设计 了外围硬件,以及CAN总线在WinCE中的底层驱动和上位应用程序。现在车载仪表已经取得成功。 关键词:嵌入式应用;智能车栽 ;WinCE;CAN总线 中图分类号:TP391.42 文献标识码:A
The Development of Intelligent Vehicle Instrumentation Based on WinCE
HAN Kun,HAOji—fei,ZHOU Xiao—fei,ZHAOJuan-juan
(College ofInformation&Electrical Engineering,China University ofMimng and Technology.Xuzhou 221008。China) Abstract:Designed a intelligent vehicle instrumentation based on WinCE operating system for the current development trend of automobile instrument.The Intelligent Vehicle Instrument accepted by all parts of automotive ECU's information through CAN bus and displays the information on the LCD.The system is with ARM9¥3C2440 controller at the core, and design the peripheral hardware,as well as CAN bus.the underlying driver in WinCE and the applications.Now system has been successfu1. Key words."embedded operating system application;intelligent vehicle instrumentation;WinCE;CAN—bus
随着汽车工业与电子工业的不断发展,在现代汽
车上,电子技术的应用越来越广泛。国外专家预测未来
3—5年内汽车上装用的电子装置成本将占汽车整车成
本的25%以上,汽车将由单纯的机械产品向高级的机
电一体化产品方向发展。国内许多有识之士已经认识
到汽车电子在未来汽车工业中的重要性,也在进行相
关关键技术的研究,己经取得了相当大的进步【 1。国外
研究汽车仪表的行业中,汽车仪表的研究受到了相当
高的重视,在外观形状,性能和技术,还有视觉效果中
都有了很大的改进。车载仪表已经开始脱离了原来传
统的组合仪表盘的形式,逐步开始向汽车信息系统的
方向发展。国内外现在在嵌入式车载仪表方面已经开
发出了许多成熟的仪表,如:平视显示仪表、多功能全
电子显示仪表、行车记录仪、汽车导航系统等。
并且随着嵌入式技术的发展和普及,汽车仪表的
集成化和信息化会越来越高,未来的嵌入式仪表会逐
步有以下的特点:车载仪表会与汽车部件构成网络单
元,收集整个汽车信号,能提供大量的复杂信息;嵌入 式车载仪表体积会满足小型和轻量化的要求,使车载
仪表更具有个性化;随着嵌入式系统的高精度和高可
靠度,嵌入式车载仪表会减少故障的发生率;设有在线
故障诊断系统,一旦汽车发生故障,可以推理出故障来
源,方便维修;仪表盘的设计会越来越美观。所以,基于
以上的特点,未来的汽车仪表会越来越多的用到嵌入
式技术。功能强大和造型新颖的嵌入式车载仪表会是
今后车载仪表的发展方向和潮流趋势。
1 智能车载仪表系统结构
同大多数车载仪表一样,本智能车载仪表拥有大
多数传统车载仪表所拥有的功能,驾驶员可以通过车
载仪表的显示界面获取当前汽车的状态信息,例如,可
以知道当前汽车的车速,油压,油温,水温,机油压力或
者电瓶电量。 但是与传统仪表不同的是,以往传统车辆仪表直
接与车辆的传感器相连,仪表系统经由传感器的模拟
量得到汽车当前状态,精确性不高。智能车载仪表并不
收稿日期:2010—12-23 作者简介:韩 ̄(1985一),男,山东青岛人,研究生,研究方向为控制理论应用与智能仪器仪表;郝继飞(1955一),男,吉林舒兰人,教授.博士。研究方向 为控制理论应用与智能仪器仪表。
第19卷第1期 韩琨等:基于WinCE的智能车载仪表的设计
是简单的与传感器相连,而是通过CAN控制器将整车
连接成一个网络结构。车辆部件配以CAN控制器,通
过双绞线将车辆部件连接起来形成一个网络体系,实
现部件的电子化,汽车将由单纯的机械产品向高级的
机电一体化产品方向发展。同时车载仪表和汽车部件
的电子化也提高的汽车的精度和可靠性,减少了故障
发生率。
车载智能仪表主要分为基于ARM9¥3C2440处理
器的硬件系统和基于WindowsCE环境下的软件系统
两大部分。硬件系统为整个控制系统提供一个基础,负
责CAN总线通讯。软件系统中要提供CAN总线的硬
件驱动以及在WinCE中仪表的上位应用程序。
2硬件设计
硬件系统中,以¥3C2440为核心,加以RAM内
存,NOR Flash和NAND Flash作为储存介质,扩展部
分外围设备,以负责系统信息的输入与输出,如CAN 总线通讯单元、LCD显示、触摸屏、通用串行口、USB
设备、以太网接口等。系统硬件结构如图1所示:
自 一E一匝
图1系统硬件结构图 (I)CAN总线接口电路
在众多接口中,CAN总线通讯单元是在整车通讯
过程中的关键部分。在汽车中的各个重要部件中,进行
配置相应的CAN控制单元,由双绞线将各个CAN总
线控制单元连接起来。汽车的各个部件将该部件的当
前状态信息由CAN控制单元发送出去,经由双绞线发
送到智能车载仪表的CAN单元当中,经过系统的
CAN接口将数据发送到系统中,车载仪表系统得到数
据后,经过数据处理,得到汽车部件的当前状态信息。 本系统的CAN总线通信接口电路采用Microchip
公司的MCP2515 CAN总线控制器。MCP25l5是一款
独立的控制器局域网络(CAN)协议控制器,完全支持
CAN 2.0A 技术规范,速度达到lM脚。SPI的接口标准
使得它与¥3C2440的连接更加简单。该器件能发送和
接收标准和扩展数据帧以及远程帧。MCP25 15自带的
两个验收屏蔽寄存器和六个验收滤波寄存器可以过滤
掉不想要的报文,因此减少了微处理器的开销。CAN
总线收发器采用TJA1050,该器件提供了CAN控制器
与物理总线之间的接口以及对CAN总线的差动发送
和接收功能。CAN总线接口硬件电路图如图2所示:
图2 CAN总线接口电路图 为了增强CAN总线节点的抗干扰能力,提高系统
的稳定性,在CAN控制器与CAN收发器之间加入了
光耦隔离器6N137,而不是使TXCAN和RXCAN端直
接与收发器相连,这样就实现了总线上各CAN节点之
间的电气隔离。同时也解决了MCP2515与TJA1050之
间电平兼容的问题,还可以抑制CAN网络中的尖峰脉
冲及噪声干扰。光耦部分电路所采用的两个电源必须
完全隔离,否则光耦也就失去了意义。电源的隔离可以
采用小功率的电源隔离模块或者多带5V隔离输出的
开关电源模块实现。这些部分虽然增加了接口电路的
复杂性,但是却提高了节点的稳定性和安全性[31。
在CAN接口处,CAN通信线上的两个60欧姆电
阻,即总计120欧姆电阻,起增大负载、减少回波反射
作用,是一种阻抗匹配的补救措施。将电阻分为两个
6O欧姆的电阻,在中间部分与地端连接一个电容以抗
干扰。
3软件设计
软件的整体环境为Window ̄CE编程环境。针对本
车载智能仪表硬件系统制定相应的WindowsCE操作
系统,实现对硬件的驱动。再编写应用程序,通过对应
用程序的具体操作,实现对系统中硬件的操作,即实现
系统的功能。这其中非常关键的是编写CAN控制器的
驱动。CAN驱动以实现应用软件对CAN控制单元的 。36’ 电 脑 与 信 息 技 术 2011年2月
操作与读取CAN控制单元中的数据代码。
(1)系统开发和移植
嵌人式系统开发,就是系统驱动层的设计,其中最
主要就是BSP的开发和调试。所以智能车载仪表的低
层驱动的开发就显得尤为重要。
在系统开发中,由于使用的是WinCE系统,所以
使用Platform Builder制定WinCE操作系统镜像。在
Platform Builder中,可以添加系统的部分硬件的驱动,
这些驱动已经由微软编写好,如液晶屏,RAM的驱动。
然后,启动Bootloade,把镜像文件下载到F l a s h存储
器中,并配置操作系统启动文件boot.init ̄。
(2)CAN总线驱动开发
由于CAN是外部设备,所以我们需要将CAN的
驱动以流接口驱动方式编写。流接口驱动函数被设计
来与通常的文件系统API(如AetivateDevice、ReadFile、
WriteFile和IOCon ̄ol等)紧密匹配,即由流接口驱动
管理的设备向应用程序表现为一个系统文件,应用程
序通过对系统文件的特殊文件进行操作从而完成对
设备的操作。编写流接口文件主要用到流接口函数,
也就是流接口驱动的入口点,如XXX_Init,XXX—Read
和XXX—Open等。这些流接口文件在与相应的API函
数对应,使应用程序有相应的函数可以访问到外部设
备[5-61。
由于CAN总线驱动使用流接口方式进行编写,所
以要编写一组CAN总线驱动的标准函数,用这些接口
函数以完成I/O操作,标准函数将提供给WinCE操作
系统的内核使用。这一类驱动具有定制的接口,是一般
类型的设备的驱动程序,其驱动文件一般表现为“ .
du”文件。这里车载仪表系统编写“CAN.dll”,作为CAN
总线动态加载的驱动文件口1。
系统进行注册表注册时,要用到以下代码:
CAN驱动程序注册表信息:
WCHAR szRegKey=L“Drivers\ ̄uiltln\\CAN”:
WCHAR szPrefix=L“CAN”:
WCHAR szDLL=L“\ ̄can.dll”:
WCHAR szFriendlyName=L“CANDriver”;
DWORD Drvlndex=l:
DWORD DrvOrder=0; 通过以上代码完成注册之后,调用ActivateDe—