


下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、采用ARM+Linux 架构的基于CAN总线和MiniGUI的虚拟仪表设计当今发达国家普遍使用全数字式汽车仪表,且绝大部分是步进电动机式汽车仪表,并准 备向更高方向发展。因为受到成本的限制,目前国内显示汽车仪表只能选用字段显示 方式的显示屏,无法选用显示分辨率更高的点阵式显示屏,因此其视觉效果和显示精 度还不能令人满意。ECU性能不断提高,抗强电磁干扰、工作温度范围和对工作电源 稳定性要求等方面得到较大的改善,同时价格大幅度降低,因而目前有条件在汽车仪 表上使用ECU控制的全数字仪表,国内汽车仪表界一致看好全数字式汽车仪表1。随着现代电子技术的发展,要求汽车仪表与汽车上其他装置交换数据,即要求
2、接入到汽 车的计算机系统总线上,因此本文设计了一个基于嵌入式系统、CAN总线技术和TFTLCD液晶显示技术的全数字式汽车仪表系统。1系统软硬件平台的选择本文选取Intel公司的PXA270为微处理器,选配MiniARM270 核心板;64 MB SDR AM为系统运行随机存储器;256 MB NAND Flash 程序存储器;MCP2515 CAN 控制器负责CAN报文的接收与发送。8英寸640X480真彩TFT液晶屏显示GUI图形界 面; Linux为嵌入式操作系统2。选用目前较为流行的嵌入式GUI系统MiniGUI进行应用程序界面的编写。运用 ZLG/BOOT启动Jflashmm、Flas
3、h FXP软件进行内核的 烧写与移植。软件编制调试完毕后,进行操作系统内核定制,裁减出最小操作系统, 并将应用程序与最小系统在仿真环境下进行联合调试。虚拟仪表系统结构如图1所示OA/D 电路;?i 1瞧拟信电; 模拟及电路2 Mi niGUI的程序开发和移植将MiniGUI及应用程序移植到目标机上需要经历编写相应的驱动程序、交叉编译MiniGUI及应用程序、安装 MiniGUI到目标系统、在目标系统上运行MiniGUI应用程序等几个步骤。MiniGUI程序是建立在 MiniGUI和ANSIC库之上,所以程序的编写要按照MiniGUI的程序框架来定,并通过调用ANSIC库以及MiniGUI自身提
4、供的API函数来实现。MiniGUI 程序的入口点:int MiniGUIMain(int argc,const cha r * argv >。其风格类似于Win32 ,也是基于窗口、事件驱动编程。事件通过消息机制传递,当事件发生时,MiniGUI将事件转换为一个消息,并将消息发送到MiniGUI应用程序的消息队列之中。窗口过程函数是MiniGUI应用程序必不可少的函数,用于接收和处理消息,是一个回调函 数,由MiniGUI调用,在应用程序中不能直接调用,其函数原型如下:static int WindowProc (HWND hWnd, int message, WPARAM wPara
5、m,LPARAM IParam>。每个 MiniGUI应用程序的初始界面一般都是MiniGUI主窗口,然后在主窗口的基础上再建立子窗口或对话框等。主窗口使用CreateMai nWin dow 函数实现,在这个函数里可以设置主窗口的风格、大小、句柄、标题以及窗口过程函数等6,8-9。本文有两个显示界面,分别对应流程图里面的子程序1和子程序2。应用程序流程图如图2所示。惜口知始ft待清.3外郁状态屮祈址时棍序崗绘图子況申EIMl开贻仰自按註 7巧息?/图2应用幄庠渝丹圈更新数摇1动:栏决盘見否有按讎 .消丸“Jp*1, 严沪1动态状鑫界面詁吓是否有按雑 息:本文米用交叉编译器对驱动程序和应
6、用程序进行编译。安装交 叉编译器步骤:将交叉编译器安装包arm-li nux-343.tar.bz2 复制到当前目录下,进行解压安装并指定安装路径:#tar xjvf arm-linux-343.tar.bz2-C /usr/local/arm。为了便于使用,安装完毕后,通常都将交叉编译器的路径添加到系统的搜索路径中。这样要 编译文件时就很简单,不用每次都指定路径,系统会自动搜索。在这里介绍的一种方 法是修改 尼tc/profile文件:打开 尼tc/profile文件,在最后一行添加pathmunge /usr/local/arm/343/sbin,保存退出,在终端输入执行:#. Profi
7、lev点“空格+文件名”。可通过在终端输入:arm-linux-gcc 检验用户编译器版本。arm-linux-gcc编译出来的程 序,不能在PC机上运行,必须下载到 ARM系统中才能运行。MiniGUI 在 Linux 系统中有两种运行模式:fbconvFrame Buffer Console )和 qvfbv Qt Virtual Frame Buffer )。fbcon在控制台下运行,这种模式下不能开Linux的X图形界面。qvfb则是带帧缓冲的虚拟控制台,MiniGUI程序在qvfb中运行就像图形界面下的终端(Terminal中运行命令一样。通过对gal_engine赋值来设置运行模式
8、。3信号采集电路CAN总线的智能节点一般由主控制器、CAN总线控制器、CAN总线驱动器以及具体的功能单元组成。主控制器用来通过访问CAN总线控制器来实现对 CAN总线的访问。CAN总线控制器实现 CAN协议的数据链路层和物理层功能,对外具有与主控制 器和总线驱动器的接口功能。CAN总线驱动器提供CAN总线控制器与物理总线之间 的接口。本文选用 Microchip公司生产的 MCP2515作为CAN总线控制器。MCP2515是一款独立的CAN协议控制器,完全支持 CAN 2.0B技术规范。MCP2515与主控制器的连接是通过标准串行外设接口SPI(Searial Peripheral In te
9、rface>实现的。主控制器选择了 Microchip公司的PIC16F913,该单片机为高性能的 RISC CPU,内部具有4 KB 的可编程可擦除的 Flash存储器、256 B的RAM、256 B的EEPROM,带有标准的 SPI接口,也能够方便地和 CAN总线控制器MCP2515进行连接。CAN总线驱动器选择 Microchip公司的MCP2551,是一个可容错的高速 CAN器件4,10。数据采集用的 C AN总线接口电路如图3所示。 ANt mKiI叭卜TX2R>TKkli4胎 X h知川ItJOnkV* J7w EHrxn CAD小TIm :tI I 'M Ig
10、wOSCll.L KOIgRXWIMj?.scfcrj J/illJT IRIS 5PI1加ItIRM4 CAN总线驱动程序的方案设计与实现设备驱动程序是介于硬件和 Linux内核之间的软件接口,是一种低级的、专用于某 一硬件的软件组件。设备驱动也可以理解为操作系统的一部分,对于一个特定的硬件 设备来说,其对应的设备驱动程序是不同的,比如网卡、键盘、鼠标、显卡、电位器、电机等。操作系统本身没有对各种硬件设备提供持久不变的驱动设备”,没有驱动,操作系统就控制不了底层的设备,对于操作系统来说,挂接的设备越多,需要的 设备驱动程序也越多。在Linux操作系统中,把所有外设都当成文件看待,使用操作文件
11、的方法来操作设 备,通过驱动程序,Linux操作系统才能以文件夹的方式来管理设备。因此驱动程序的 编写开发具有十分重要的地位。Linux设备驱动程序运行在 Linux内核空间,是Linux内核中联系硬件设备和应用程序的桥梁。Linux系统硬件、设备驱动和应用程序的关系如图4所示7。用户匚it仆设斤讯4系统迎件.i.殳齐功卅应谢刃年关至MagicARM270 实验箱采用SJA1000 CAN 控制器扩展了 1路CAN接口,SJA1000 是PHILIPS公司经典的CAN控制器,支持CAN 2.0 A、B协议。结合应用程序、驱动 程序、内核程序,CAN驱动流程图如图5所示。5测试结果与验证选取广州致远电子有限公司生产的Magic ARM270实验箱进行仿真2。通过CAN总线实现汽车上各种信息的采集和测量,并将采集的结果送到ARM进行处理,最后通过TFT显示出来,设置CAN总线传输速度波特率为 125 KB/s,图6所示为捕 捉的一个界面。随着信息技术的快速发展
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 基础设施建设项目借款合同风险管理与政府投资监管
- 教育机构线下校区2025年扩建项目:投资策略与可行性研究报告
- 智能碎片管理-洞察及研究
- 品牌形象差异化分析-洞察及研究
- 住宿业消费者满意度分析-洞察及研究
- 儿童心理健康问题的社会支持系统研究-洞察及研究
- 猜歌曲竞赛试题及答案
- 初英语竞赛试题及答案
- 20xx江苏南京租房合同范本
- 空调安装施工合同
- 人教版九年级上册数学教师用书
- GB/T 42381.8-2023数据质量第8部分:信息和数据质量:概念和测量
- 中国传统故事英文九色鹿二篇
- 突发事件处理记录表(标准范本)
- 房产归属协议书范本
- 350吨履带吊地基承载力验算
- 影视艺术导论教材课件汇总完整版ppt全套课件最全教学教程整本书电子教案全书教案课件合集
- TSG-R0005-2022《移动式压力容器安全技术监察规程》(2022版)
- 2020 ACLS-PC-SA课前自我测试试题及答案
- 第1章 税务会计与纳税筹划概述
- GB∕T 41181-2021 坐姿椅
评论
0/150
提交评论