智能车载仪表基于WinCE的设计方案

发布时间:2014-10-19 阅读量:697 来源: 我爱方案网 作者:

【导读】随着高性能电子显示技术的发展,汽车仪表电子化的程度越来越高。国内外已开发出了多功能全电子显示仪表、平视显示仪表、汽车导航系统、行车记录仪等高技术产品。汽车会越来越多地采用各种用途的电子化仪表。造型新颖、功能强大的嵌入式电子化仪表将是今后车用仪表的发展趋势和潮流。

1 智能车载仪表系统结构


本智能车载仪表拥有大多数传统车载仪表所拥有的功能,驾驶员可以通过车载仪表的显示界面获取当前汽车的状态信息,例如车速、油压、油温、水温、机油压力或者电瓶电量。

传统车辆仪表直接与车辆的传感器相连,仪表系统经由传感器的模拟量得到汽车当前状态,精确性不高。本文设计的智能车载仪表并不是简单地与传感器相连,而是通过CAN控制器将整车连接成一个网络结构。车辆部件配以CAN控制器,通过双绞线将车辆部件连接起来形成一个网络体系,实现部件的电子化。同时,车载仪表和汽车部件的电子化也提高了汽车的精准度和可靠性,降低故障发生率。

车载智能仪表主要分为基于S3C2440处理器的硬件系统和WinCE环境下的软件系统两大部分。硬件系统为整个控制系统提供基础,负责CAN总线通信。软件系统提供CAN总线的硬件驱动以及在WinCE下的仪表上位应用程序。

2 硬件设计

硬件系统以S3C2440为核心,RAM内存、NOR Flash和NAND Flash作为存储介质,扩展部分外围设备以负责系统信息的输入与输出,如CAN总线通信单元、LCD显示、触摸屏、通用串行口、USB设备、以太网接口等。系统硬件结构如图1所示。


图1 系统硬件结构框图

在众多接口中,CAN总线通信单元是在整车通信过程中的关键部分。在汽车的各个重要部件中,配置相应的CAN控制单元,由双绞线将各个CAN总线控制单元连接起来。汽车的各个部件将该部件的当前状态信息由CAN控制单元发送出去,经双绞线发送到智能车载仪表的CAN单元当中,经过系统的CAN接口将数据发送到系统中。车载仪表系统得到数据后,经过数据处理得到汽车部件的当前状态信息。

CAN总线接口电路如图2所示。采用Microchip公司的CAN总线控制器MCP2515。MCP2515完全支持CAN 2.0A/B技术规范,速度达到1 Mbps;SPI的接口标准使得它与S3C2440的连接更加简单;能发送和接收标准和扩展数据帧以及远程帧;自带2个验收屏蔽寄存器和6个验收滤波寄存器,可以过滤掉不想要的报文,减少了微处理器的开销。CAN总线收发器采用TJA1050,该器件提供了CAN控制器与物理总线之间的接口以及对CAN总线的差动发送和接收功能。


图2 CAN总线接口电路

为了增强CAN总线节点的抗干扰能力,提高系统的稳定性,在CAN控制器与CAN收发器之间加入了光耦隔离器6N137,而不是使TXCAN和RXCAN端直接与收发器相连,这样就实现了总线上各CAN节点之间的电气隔离。同时,这也解决了MCP2515与TJA1050之间电平兼容的问题,还可以抑制CAN 网络中的尖峰脉冲及噪声干扰。光耦部分电路所采用的两个电源必须完全隔离,否则也就失去了意义。电源的隔离可以采用小功率的电源隔离模块或者多带5 V隔离输出的开关电源模块实现。这些部分虽然增加了接口电路的复杂性,但是却提高了节点的稳定性和安全性。

在CAN接口处,CAN通信线上的2个60 Ω电阻(总计120 Ω),起到增大负载、减少回波反射作用,是一种阻抗匹配的补救措施。2个60 Ω的中间部分与地端之间连接一个电容以抗干扰。

3 软件设计

软件的整体环境为WinCE编程环境。针对本车载智能仪表硬件系统定制相应的WinCE操作系统,实现对硬件的驱动。再编写应用程序,通过对应用程序的具体操作实现对系统硬件的操作,即实现系统的功能。其中非常关键的是编写CAN控制器的驱动。CAN驱动实现应用软件对CAN控制单元的操作,以及读取CAN控制单元中的数据代码。

3.1 系统开发和移植


嵌入式系统开发就是系统驱动层的设计,其中最主要就是BSP的开发和调试。所以智能车载仪表底层驱动的开发就显得尤为重要。

由于使用的是WinCE操作系统,所以使用Platform Builder定制WinCE操作系统镜像。在Platform Builder中,可以添加系统部分硬件(如液晶屏、RAM)的驱动,这些驱动已经由微软公司编写好。然后启动Bootloader,把镜像文件下载到Flash存储器中,并配置操作系统启动文件boot.ini。

3.2 CAN总线驱动开发


由于CAN是外部设备,所以需要将CAN的驱动以流接口驱动方式编写。流接口驱动函数被设计来与通常的文件系统API(如ActivateDevice、ReadFile、WriteFile和IOControl等)紧密匹配,即流接口驱动在应用程序中表现为一个系统文件,应用程序通过对系统文件的特殊文件进行操作从而完成对设备的操作。编写流接口文件主要用到流接口函数,也就是流接口驱动的入口点,如XXX_Init、XXX_Read和XXX_Open等。这些流接口文件与相应的API函数对应,使应用程序由相应的函数可以访问到外部设备。

作为流接口驱动程序,CAN总线驱动程序也有一组标准函数,可完成I/O操作。这些函数提供给WinCE操作系统内核使用,它们都是流接口驱动程序的DLL文件。动态加载CAN总线驱动程序时,系统要进行注册。CAN驱动程序注册表信息:

WCHAR * szRegKey=L"DriversBuiltInCAN";

WCHAR * szPrefix=L"CAN";

WCHAR * szDLL=L"can.dll";

WCHAR * szFriendlyName=L"CANDriver";

DWORD * DrvIndex=1;

DWORD * DrvOrder=0;

通过以上代码完成注册之后,调用 ActivateDeviceEx()函数进行加载驱动。

3.3 CAN总线驱动通信流程


CAN总线控制器驱动程序主要用于设置MCP2515的波特率、MCP2515的验收过滤器、CAN消息传送模式和CAN收发数据方式。驱动程序是连接上位应用程序和硬件的一个中间纽带。智能车载仪表系统在EVC++环境下进行CAN总线开发。

流式驱动以文件的方式打开函数CreateFile( ):驱动成功打开后,CreateFile( )函数返回不为INVALIDHANDLEVALUE的句柄,此句柄也是关闭驱动函数CloseHandle( )的参数。CAN设置函数DeviceIoControl( )接收由CreateFile( )函数获得的句柄及控制命令码,设置输入/输出缓冲区以及缓冲区的大小。函数执行完成后返回实际输出的缓冲区大小等。CAN总线发送与接收函数WriteFile( )和ReadFile( ),利用驱动文件句柄、发送和接收缓冲区等参数完成数据的发送和接收,操作成功后返回实际发送和接收的字节数。

为了不让主线程一直处于等待数据到来的状态,让主线程拥有时间令牌来操作其他事情,程序采用多线程设计,创建一个接收数据线程。接收数据线程是一个无限循环,它不断查询CAN总线数据退出标志,如果退出标志有效,则该循环结束退出。驱动程序流程如图3所示。


图3 CAN总线驱动通信流程

目前,基于嵌入式技术的车载仪表逐渐开始流行。本文使用基于WinCE的ARM9微处理器作为开发平台,处理速度快,功能强大;使用CAN总线技术进行信号的相互传输,CAN总线实时接收汽车部件发送来的信息,并进行处理与分析;使用WinCE操作系统,界面友好。本智能车载仪表系统可以节约成本、降低功耗,并且可维护性强,便于扩展和升级。

相关文章

人机界面设计基于Android车载虚拟仪表研究分析

一种车载网络与汽车电子的自动化设计

车载火灾报警器AT89C51设计方案
相关资讯
NSD3602-Q1:国产车规半桥驱动芯片如何破解车身控制EMC困局?

随着汽车电子化与智能化进程加速,车身控制模块对多电机驱动芯片的需求日益增长。纳芯微电子推出的NSD3602-Q1双通道半桥栅极驱动芯片,以其高集成度、低EMI特性及全面的诊断功能,成为车身域控架构中的关键器件。本文从技术优势、竞争对比、应用场景及市场前景等维度展开分析,揭示其在汽车电子领域的创新价值。

2025边缘AI爆发:存算一体与异构计算重塑行业格局

2025年被视为边缘生成式AI(Edge Generative AI)的应用元年,其核心特征是将AI模型的训练与推理能力从云端下沉至终端设备,如智能手机、工业传感器、可穿戴设备等。据Gartner预测,到2026年,全球50%的边缘部署将集成AI能力,而80%的企业将采用生成式AI技术。这一趋势的背后,是行业对实时性、数据隐私和能效需求的迫切响应。例如,医疗设备需在本地处理敏感健康数据以避免云端传输风险,而自动驾驶系统依赖边缘计算的毫秒级决策能力。英特尔与百度等企业已通过联合实验室推动5G+AI边缘计算技术的研发,加速智能交通、工业自动化等场景的落地。

能效提升35%:揭秘下一代GPU如何统一图形与AI计算架构

"边缘设备对实时AI处理与高性能图形的需求正在重塑半导体行业格局。"(引自IDC研究总监Phil Solis)。Imagination Technologies近日推出的E-Series GPU IP,通过架构级创新实现了图形渲染与AI计算的协同加速,其200 TOPS的INT8算力与35%的能效提升,为智能汽车、工业物联网及移动设备提供了前所未有的边缘计算解决方案。

关税风险叠加需求激增,存储芯片市场迎来新一轮涨价潮

2025年4月,全球存储芯片市场迎来剧烈波动。据市场调研机构DRAMeXchange数据显示,用于个人电脑的通用DRAM DDR4 8Gb产品固定交易价格较3月飙升22.22%,达到1.65美元;128Gb MLC NAND闪存价格亦上涨11.06%至2.79美元。这一轮价格异动不仅反映供需失衡,更与国际贸易政策、技术升级及产业周期深度交织。

DigiKey Standard工具生态发布 重新定义电子工程研发效率

DigiKey作为全球电子元器件分销领域的领军企业,于2025年5月1日正式宣布扩充其自有品牌产品线DigiKey Standard,该系列聚焦工程师日常研发与制造场景,提供从原型设计到量产的全流程工具支持。这一战略举措标志着DigiKey从传统分销商向技术解决方案提供者的深度转型。