已阅读5页,还剩42页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 燃料电池车是时下非常热门的研究课题,但是燃料电池车比较复 杂,设备众多,一旦出现问题,光凭经验很难找出问题所在。为了缩 减每次实验的时间,减少整个研发过程中不必要的实验次数,准确地 获取和显示实验中的各类运行数据是非常必要的,可以设计一款车载 显示系统来满足这个需求。车载显示系统不仅要求能够实时显示实验 中的关键数据,直接判断某些重点数据是否有问题,而且需要保存每 次实验的原始数据,为事后的研究提供数据支持。 本文研究与实现了一款新型车载显示系统。系统采用a r m 9 为硬件 核心,以w i n d o w sc e n e t4 2 为操作系统,解决了本校燃料电池中巴 车原有车载显示系统的一些问题。同时,系统与小型工控机和d s p 构 成的上下位机模式的原车载显示系统相比,硬件简洁,无中间插接线, 系统更加稳定;与a r m 7 和比c l i n u x 、a r m 7 和p c o s i i 构成的原车载显 示系统相比,核心性能更高,界面美观且开发快捷。 本文围绕车载显示系统展开工作,根据车载显示系统的基本需求, 以及解决原有车载显示系统的问题,制定了系统开发的任务;按照嵌 入式系统的总体结构,从硬件层、驱动层、o s 层到应用层自下而上进 行设计。工作包括:选择款以$ 3 c 2 4 1 0 x 为核心的开发板,外扩c a n 总线通信接口,构建了系统的硬件平台;根据外扩c a n 总线通信接口 的硬件设计,开发了在w i n d o w sc e 下的驱动程序;根据车载显示系统 的硬件和功能需求,定制w i n d o w sc e 操作系统,创建操作系统映像并 下载至开发板;开发车载显示系统应用程序,包括数据接收处理、界 面显示、数据保存三个模块;对整个车载显示系统进行调试和完善。 最后,本文总结了整个车载显示系统开发工作,并对车载显示系 统提出了几点展望。 关键词:车载显示系统,a r m 9 ,$ 3 c 2 4 1 0 x ,w i n d o w sc e n e t 4 2 , e m b e d d e dv i s u a lc + + 4 0 a b s t r a c t f u e lc e l lv e h i c l e ( f c v ) i sav e r yp o p u l a rr e s e a r c hp r o j e c tn o w a d a y s f c vi sac o m p l e xs y s t e mw h i c hc o n s i s t so fm a n yd e v i c e s i t ,sd i f f i c u i tt o f i n dt h ec a u s e so ft h ep r o b l e mm e r e l yb ye x p e r i e n c e sw h i l eap r o b l e m o c c u r r e d t og e ta n dd i s p l a yo p e r a t i n gd a t ap r e c i s e l yi s v e r yn e c e s s a r y t oa c h i e v et h i sr e q u e s t ,ad i s p l a ys y s t e mi nv e h i c l ei sd e s i g n e d w h e nt h e v e h i c l er u n s ,t h ed i s p l a ys y s t e md i s p l a y sas e r i e s o fd a t ao f c o n c e r n , c h e c ks t a t u s ,a n ds a v et h eo r i g i n a ld a t af o rr e s e a r c ha f t e re x p e r i m e n t s an e wd i s p l a ys y s t e mi nv e h i c l ei sd e s i g n e di nt h i sp a p e r t h es y s t e m , b a s e do na r m 9m i c r o p r o c e s s o ra n dw i n d o w sc ee m b e d d e do p e r a t i n g s y s t e m ,h a ss o l v e ds o m ep r o b l e m so ft h eo l dd i s p l a ys y s t e mi nt h ef u e l c e l lb u so fo u rc o l l e g e c o m p a r e dw i t ht h eo l d d i s p l a ys y s t e mw h i c h c o m p r i s eam i n i - i n d u s t r i a lc o m p u t e ra n dac o n t r o ls y s t e mw i t had s p m i c r o p r o c e s s o r ,t h eh a r d w a r ei sm o r es i m p l e ,a n dt h es y s t e mi sm o r e s t e a d y c o m p a r e dw i t ht h eo l dd i s p l a ys y s t e mb a s e do na r m 7 & t c l i n u x ( o r c o s i i ) ,t h em i c r o p r o c e s s o rh a sab e t t e rp e r f o r m a n c e a n d t h ea p p l i c a t i o ni se a s i e rt op r o g r a m a f t e rb a s i cf u n c t i o n so fa d i s p l a ys y s t e mi nv e h i c l ea n dp r o b l e m so ft h e o l dd i s p l a ys y s t e ma r e a n a l y z e d ,t h et a s ko fd e v e l o p m e n ti ss e tu p a c c o r d i n gt ot h es t r u c t u r eo fe m b e d d e ds y s t e m ,h a r d w a r el a y e r ,d i v e r l a y e r ,o sl a y e ra n da p p l i c a t i o nl a y e ro ft h ed i s p l a ys y s t e ma r ed e s i g n e d i nt u r n w o r ki n c l u d e s :t oc h o o s ead e v e l o p m e n tb o a r dw i t h $ 3 c 2 4 1 0 x , e x t e n dc a nc o m m u n i c a t i o ni n t e r f a c e ;t op r o g r a md r i v e rf o rt h ec a n c o m m u n i c a t i o ni n t e r f a c e ;t oc u s t o m i z ew i n d o w sc et of i th a r d w a r ea n d f u n c t i o n so ft h ed i s p l a ys y s t e m ,c r e a t eo si m a g ef i l ea n dd o w n l o a di ti n t o t h e d e v e l o p m e n tb o a r d ;t od e s i g na p p l i c a t i o np r o g r a mo ft h ed i s p l a y s y s t e m ;t ot e s ta n dp e r f e c tt h ed i s p l a ys y s t e m a tl a s t ,t h ee n t i r ed e v e l o p m e n tw o r ki ss u m m a r i z e di nt h i sp a p e r a n d e x p e c t a t i o ni sp u tf o r w a r di na l l u s i o nt ot h es y s t e m k e y w o r d s :d i s p l a ys y s t e m i n v e h i c l e ,a r m 9 ,$ 3 c 2 4 1 0 x ,w i n d o w s c e n e t4 2 ,e m b e d d e dv i s u a lc + + 4 0 i l 独创性声明 本人声明,所呈交的论文是本人在导师指导下进行的研究工作及取得的研 究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其 他人已经发表或撰写过的研究成果,也不包含为获得武汉理工大学或其它教育 机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何 贡献均已在论文中作了明确的说明并表示了谢意。 签名: 关于论文使用授权的说明 e l 期:丝p 直一 本人完全了解武汉理工大学有关保留、使用学位论文的规定,即:学校有 权保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅 和借阅。本人授权武汉理工大学可以将本学位论文的全部内容编入有关数据库 进行检索,可以采用影印、缩印或其他复制手段保存或汇编本学位论文。同时 授权经武汉理工大学认可的国家有关机构或论文数据库使用或收录本学位论 文,并向社会公众提供信息服务。 ( 保密的论文在解密后应遵守此规定) 研究生( 签名) : 肇彳 导师c 签名,:瀑咱 同期加,尹厶芗 武汉理j = 大学硕士学位论文 1 1 引言 第1 章绪论 随着经济的发展,交通运输业r 益发达,全球汽车数量持续增加。传统汽 车燃料以地球有限的石油资源为原料,加重了能源压力:同时,汽车尾气含有 大量二氧化碳和其他有害气体,造成了温室效应和污染了人类赖以生存的自然 环境,对人类生存造成了严重的危害。在地球自然环境逐渐恶化和世界能源形 势日益紧张的双重压力下,一种使用新能源的绿色环保燃料电池车随之而掣。 燃料电池车也需要一些仪表和装置对车辆的状态进行显示。传统的汽车发 明于1 8 9 6 年,当时的汽车上并未配备仪表。后来因为安全的需要产生了汽车仪 表,为驾驶员提供车辆的状态信息,采用基于机械作用力的机械芯仪表而实现。 随着微电子技术、车用仪表新材料以及车用仪表精细加工等技术的发展,传统 汽车仪表发生了一定的变化,大大拓展了人、车界面系统,但是这种仪表依旧 只是建立在传统的功能之上【引。燃料电池车车内所有部件运行状况及各类参数均 通过c a n 网络进行传输,致使传统的仪表无法满足燃料电池车的需求,因此需 要开发一种燃料电池车车载显示系统来满足要求。本课题正是由武汉理工大学 参与的湖北省重大科技攻关项目燃料电池车开发衍生而来。 1 2 课题研究的背景与意义 燃料电池车作为新一代车辆,与传统汽车不同主要在于驱动能源改为燃料 电池。燃料电池( f u e lc e l l ,简称f c ) 是一种将燃料和氧化剂的化学能直接转 化为电能的“发电装置”,并且能一直产生能量直至燃料耗尽l 引。燃料电池车动 力驱动部分由原来的汽油发动机改为电动机,车内所有部件运行状况及各类参 数均由各部件的控制系统通过c a n 网络进行传输,因此需要对原有的控制系统 进行调整。燃料电池车目前还在研究阶段并没有产品化,调试过程中需要对车 内各部件的运行状况及各种数据进行监测,以了解燃料电池车是否工作正常。 同时,燃料电池车中所使用的“燃料”多为可燃性物质【4 j ,如本校参与的燃料电 武汉理t 大学硕十学位论文 池车项目中,使用氢气作为燃料电池车的能源,氢气属于易燃易爆气体,加上 燃料电池车的调试通常在复杂的环境下进行,因此在调试的过程中调试人员需 要简单直观的看到车内各信息参数,从而发现调试过程中可能存在的问题、系 统部件的故障以及隐藏的危险,对保护人身安全及燃料电池车的安全有着极其 重要的意义和作用。本课题研究的内容是开发款车载显示系统,以满足在燃 料电池车调试和实验过程中的数据接收处理、数据显示和数据保存的要求。 燃料电池车车载显示系统属于整车智能控制系统的一个子系统,是汽车仪 表功能的扩展和升级【5 1 。系统主要利用了现代m c u 的高可靠性、高控制性和高 执行速度等特点,实现了c a n 网数据的采集,实时显示及数据记录的功能。 我校燃料电池车车载显示系统方面,使用过两种车载显示系统方案。 方案一为下位机上位机模式的车载显示系统。以t m s 3 2 0 u 砣4 0 7 ad s p 作 为下位机,用来完成整车网络数据接收、协议转换等工作。以小型工控机作为 上位机,完成数据分析、计算、信息存储、状态显示等功能。上下位机通过r s - 2 3 2 串行口进行通信。该方案的上位机软件基于d e l p h i 开发,在运行过程中存在偶 尔弹出警告窗口的问题。经过分析和实验,认为是由于基于d e l p h i 开发的界面 程序与工控机操作系统w i n d o w s2 0 0 0 兼容不好而造成的。后来通过两种方法解 决了该问题。一为减少数据传送量,但是该方法降低了车载显示系统的精确性 和实时性;二为开发基于v c 的上位机软件,该方法在不降低系统性能下解决了 问题。 方案二仅使用一块a r m 7s 3 c 4 4 b o x 板来完成数据采集和状态显示,代替 方案一中需要上下位机共同完成的工作。该方案的软件开发也基于两种方式。 一种基于z c l i n u x 、m i n i g u i ,一种基于比c o s i i 、z c g u i 。但a r m 7 内核只 有三级流水线,采用冯诺伊曼结构,处理速度受到限制。 本文将研究一种新型的车载显示系统,不仅要达到能够实时接收处理数据、 显示数据、保存数据的基本要求,而且要解决原有车载显示系统存在的一些问 题。 1 3 课题方案的分析和选择 依据经验和我校燃料电池中巴车的实际情况,设计的车载显示系统需要实 现如下基本功能: 2 武汉理工大学硕士学位论文 ( 1 ) 系统能够接收整车c a n 网的数据。 ( 2 ) 系统能够将接收到的c a n 网数据按照协议进行计算和处理。 ( 3 ) 系统能够在l c d 上用一个界面显示整车相关数据值和状态。由于需要 显示的数据和状态较多,数据和状态应分组分页显示,并可以触摸换 页。 “) 系统能够将接收到的c a n 网数据按照接收的先后顺序保存到u 盘。 上文中我校原有两个方案的车载显示系统需要解决的问题和可以改进的地 方可以总结如下: ( 1 ) 需要解决的问题:运行时界面偶尔弹窗。 ( 2 ) 可以改进的地方:系统的简洁性、运行速度和性能、开发的便捷性。 根据以上分析,课题选用一块嵌入式开发板,在该开发板上外扩其他需要 的接口后,下载定制好的嵌入式操作系统,在该操作系统下运行界面应用程序, 实现车载显示系统的基本功能。同时,整个系统在硬件上是一个独立的模块, 与上文下位机( t m s 3 2 0 u 您4 0 7 ad s p ) 上位机( 小型工控机) 模式的原车载显 示系统相比,本系统硬件更为简洁,造价也相对低廉,没有上下位机之间的接 头和连线,运行更加稳定;课题在硬件上选择采用三星公司的a r m 处理器 $ 3 c 2 4 1 0 x 的开发板。$ 3 c 2 4 1 0 x 使用a r m 9 2 0 t 核,处理器工作频率最高可 达2 0 3 m h z ,5 级流水线,提供1 1 m i p s m h z 的哈佛结构1 6 j ,比a r m 7 核的 s 3 c a 4 8 0 具有更高的运行速度和性能。软件上,操作系统选择w i n d o w sc e 嵌入 式操作系统,界面开发工具选择e m b e d d e dv i s u a lc + + ,由于两者都是微软的产 品,兼容性非常好,可以解决由于界面程序与操作系统兼容不佳导致的弹窗问 题;同时,可以利用丰富的a p i 和相关开发资料,开发更快捷1 7 j 。 1 4 课题研究的目标和任务 本课题主要研究目标是为本校燃料电池中巴车设计一款新型车载显示系 统,不仅达到对整车c a n 网数据接收、处理、显示、存储的基本要求,还要解 决原车载显示系统存在的弹框问题,同时综合考虑提升系统的简洁性、运行速 度和性能、系统开发便捷性。 本课题的车载显示系统是一个嵌入式系统【8 。9 1 ,嵌入式系统总体结构图如图 1 - 1 所示。嵌入式系统般开发流程如图1 2 所示1 1 u j 。 3 武汉理j 【人学硕士学位论文 应用层 应用程序 文件系统图形用户接口任务管理 o s 层 嵌入式操作系统 驱动层b s p h a l 板级支持包硬件抽象层 d a 通用接口 加 嵌入式处理器 r o m 硬件层 i os d r a m 人机交换接口 图1 - 1 嵌入式系统总体结构图 竺竺兰兰 臣塑 臣蓝 臣扫鍪翌鱼苎i 巨蓝 , 同磊蔺 圆1 崭入背虿缔一船钎倍溶程圆 本课题将按照嵌入式系统的总体结构和一般开发流程从硬件层到应用层至 下而上逐层设计,具体工作包括以下内容: ( 1 ) 根据课题研究目标设计一种车载显示系统的方案并加以论证。 ( 2 ) 根据所选方案,选择一款以$ 3 c 2 4 1 0 x 嵌入式微处理器为核心的嵌入 式开发板,外扩c a n 总线通信接口,由此构建车载显示系统的硬件,完成硬件 4 武汉理: 人学硕士学位论文 层的设计。 ( 3 ) 编写c a n 总线通信驱动程序,导出流接口函数,编写相关注册表文 件,定制出目录特征文件( c e c 文件) ,完成驱动层的设计。 ( 4 ) 根据车载显示系统的硬件和功能要求,对嵌入式操作系统w i n d o w sc e 进行定制后,创建操作系统映像并下载至开发板,完成o s 层的设计。 ( 5 ) 导出与安装s d k ,编写车载显示系统的应用程序。程序包括三个模块: c a n 总线通信模块、界面显示模块、数据保存模块。将开发好的应用程序下载 到构建好的硬件与定制好的操作系统组成的系统上运行调试,完成应用层的设 计。 ( 6 ) 将设计完成的车载显示系统进行调试,检查和解决问题并总结。 5 武汉理r i = 人学硕士学位论文 第2 章车载显示系统硬件层设计 车载显示系统是一个集硬件、操作系统、应用程序为一体的嵌入式系统。 其中硬件是车载显示系统的物理基础,属于处于嵌入式系统最底层的硬件层。 本章首先介绍车载显示系统的硬件平台选择和组成,然后对需要外扩的c a n 通 信接口进行了设计。 2 1 车载显示系统的硬件选择 硬件平台是车载显示系统工作的物理基础。在实际的开发过程中,选用广 州友善之臂科技有限公司的一款通用性$ 3 c 2 4 1 0 x 微处理器开发板并配备上车 载显示系统所需的c a n 总线接口,从而搭建起了车载显示系统的硬件平台。 2 1 1s 3 c 2 4 1 0 x 微处理器开发板 $ 3 c 2 4 1 0 x 微处理器开发板的型号是s b c 2 4 1 0 v 6 。s b c 2 4 1 0 v 6 是由广州友 善之臂科技有限公司设计生产的一款嵌入式系统平台,它基于三星公司的a r m 处理器$ 3 c 2 4 1 0 x ,采用6 层板设计。$ 3 c 2 4 1 0 x 使用a r m 9 2 0 t 核,内部带 有全性能的m m u ( 内存处理单元) ,它适用于设计移动手持设备类产品,具有 高性能、低功耗、接e l 丰富和体积小等优良特性【1 1 1 3 j 。s b c 2 4 1 0 v 6 正是基于此 芯片本身的各种特点而设计的。2 0 针的标准j t a g 接口让开发者可以方便地连 接各种仿真器;s d 卡、各种u 盘与移动硬盘、音频输入输出、串口、r j 4 5 网 线等即插即用;定位孔的设计参考了市面上大量的液晶屏模块尺寸,开发者可 以使用现成的或者设计自己的液晶模块,扣在板上。 2 1 2 硬件组成 车载显示系统硬件平台总体上包括t 微处理器,s d r a m ,n o rf l a s h ,n a n d f l a s h ,c a n 接口,u s b 接口,以太网接口,串行接口,j t a g 接口,l c d 接口, 触摸屏接口,电源电路,时钟电路,复位电路等部分,如图2 - 1 所示。 6 武汉理工大学硕士学位论文 国国斟 厂 5 v l 时i 3 3 v i 钟i l 8 v i _ j 图2 1 硬件平台框架图 图中各部分基本功能描述如下: ( 1 ) $ 3 c 2 4 1 0 x 是一款a r m 9 型微处理器,是整个硬件系统的核心,除了 完成所有的逻辑运算和控制功能外,还提供各种功能部件1 1 引。 ( 2 ) 电源电路可提供5 v 、3 3 v 和1 8 v 的电压,给系统及其它需要电源的 外围电路供电。 ( 3 ) 时钟电路用于向c p u 及其他电路提供工作时钟。 ( 4 ) 复位电路完成系统上电复位和在系统工作时用户按键复位。 ( 5 ) s d r a m 存储器作为系统运行时的主要区域,系统及用户数据、堆栈 均位于s d r a m 存储器中。 ( 6 ) n o rf l a s h 存储器存放辅助下载调试的启动代码等。 ( 7 ) n a n df l a s h 存储器存放已调试好的嵌入式操作系统、用户应用程序, 以及其它在系统掉电后需要保存的用户数据等。 7 武汉理工大学硕士学位论文 ( 8 ) c a n 接口用于系统与底层设备网络的通信。 ( 9 ) u s b 接口主要是用来下载操作系统和应用程序,以及控制系统外的 u s b 设备。 ( 1 0 ) 以太网接口主要是用来下载嵌入式操作系统。 ( 1 1 ) j t a g 接口用于固化程序。 ( 1 2 ) 串行接口电路用于传递下载调试时的信息。 ( 1 3 ) l c d 接口和触摸屏接口是人机交互方式不可或缺的部分,作为显示 系统运行状态和用户交互的接口存在。 2 2c a n 总线通信接口设计 目前工业上c a n 接口设计中广泛采用c a n 总线控制器s j a l 0 0 0 ,它具有 低成本,高可靠性,支持远距离通信等特点,但它在应用中也具有一些缺点, 比如地址总线和数据总线分时复用常导致接口效率低下,不利于系统的硬件扩 展设计;接收和发送缓冲器的个数太少,导致数据吞吐率低下等1 1 5 j 。 本系统的c a n 总线通信接口电路采用m i c r o c h i p 公司的m c p 2 5 1 0c a n 总 线控制器。m c p 2 5 1 0 是一款独立的控制器局域网络( q ) 协议控制器,完全 支持c a nv 2 0 钿技术规范,速度达到1 m 。s p i 的接口标准使得它与$ 3 c 2 4 1 0 x 的连接更加简单。该器件能发送和接收标准和扩展数据帧以及远程帧。m c p 2 5 1 0 自带的两个验收屏蔽寄存器和六个验收滤波寄存器可以过滤掉不想要的报文, 因此减少了微处理器的开销1 1 6 1 。 c a n 总线通信接口局部电路原理如图2 2 所示。m c p 2 5 1 0 作为$ 3 c 2 4 1 0 x 的一个从设备,可以将$ 3 c 2 4 1 0 x 的s p i 接口直接接在m c p 2 5 1 0 的s p i 接口上。 具体接法是:$ 3 c 2 4 1 0 x 的接收引脚m i s o 接m c p 2 5 1 0 的发送引脚s o , $ 3 c 2 4 1 0 x 的发送引脚m o s i 接m c p 2 5 1 0 的s i 脚;同步时钟s p l 2 c l k 由 $ 3 c 2 4 1 0 x 提供;m c p 2 5 1 0 的片选信号c s 与$ 3 c 2 4 1 0 x 的s p i 片选引脚n s s 0 控制;中断信号由m c p 2 5 1 0 发给$ 3 c 2 4 1 0 x ;m c p 2 5 1 0 的复位引脚r e s e t 与 $ 3 c 2 4 1 0 x 相连。图中p 1 1 3 为高速光耦,实现收发器与控制器之间的电气隔离, 保护控制系统电路。 8 武汉理t 大学硕十学位论文 c 1v c c l g n d l 图2 - 2c a n 总线接口局部电路 此外,由于本校燃料电池中巴车整车c a n 网有光纤和双绞线两种接入方式, 本系统的c a n 总线通信接口电路对光纤接入和双绞线接入都进行了设计,通过 跳线进行切换( 详细原理图请见附录) 。双绞线接入采用p c a 8 2 c 2 5 0 芯片,它 主要完成从m c p 2 5 1 0 芯片到外部设备的c a n 总线节点的电压转化与驱动。该 芯片采用双线差分驱动,有助于抑制恶劣电气环境下的瞬变干扰i l 。光纤接入 采用光纤发射头h f b r 1 5 2 8 和接收头h f b r 2 5 2 8 ,符合整车c a n 网使用要求。 9 武汉理t 大学硕十学位论文 第3 章车载显示系统驱动层设计 车载显示系统硬件层设计完成后,就需要进行驱动层的设计,其中最主要 的就是b s p 的开发和调试。本课题的车载显示系统硬件开发板商已提供了b s p , 故车载显示系统驱动层的设计主要是对c a n 总线通信接口的驱动开发,本章首 先简单介绍嵌入式系统驱动层和b s p ,然后重点论述车载显示系统c a n 总线通 信接口的驱动开发。 3 1 嵌入式系统驱动层 嵌入式系统的驱动层包括板级支持包( b o a r ds u p p o r tp a c k a g e ,b s p ) 和硬 件抽象层( h a r d w a r e a b s t r a c t i o nl a y e r ,h a l ) 。嵌入式系统具有很强的针对性, 通常都是面向特定应用的。大多数嵌入式产品都是针对特定的目标板进行开发。 因此,嵌入式操作系统与应用环境的关系非常密切。为了使嵌入式操作系统具 有可移植、可剪裁、可定制性,嵌入式操作系统通常采用硬件抽象层m 址和板 级支持包b s p 的底层结构设计。h a l 提供了与设备无关的特性,屏蔽了不同平 台的差异,向操作系统上层提供了统一的接口,它隐藏了各种与硬件有关的细 节,使整个系统的可移植性得到了保证。而b s p 则可以保证嵌入式操作系统能 够运行在新推出的微处理器硬件平台上。微软的w i n d o w sc e 系列嵌入式操作系 统与w i n d r i v e r 的v x w o r k s 系列嵌入式操作系统,都是采用地虬和b s p 底层 结构设计的典型示例1 1 引。 3 2 选定b s p w i n d o w sc e n e t 主要支持a r m 系列,i n t e lx 8 6 系列,m i p s 系列和s h 系 列的处理器,而这些系列包含的c p u 种类繁多,所对应的目标板更是千差万别, 为了使系统能够支持专门的目标板就需要b s p ,因而,操作系统的移植与b s p 的 实现息息相关。定制b s p 主要的工作包括建立b o o tl o a d e r ,编写o a l 程序和为 硬件编写驱动程序等。为了加快开发速度,p l a t f o r mb u i l d e r 提供了一些标准的 1 0 武汉理t 大学硕十学位论文 b s p ,当目标板与提供的标准目标板相同时,可以直接下载系统镜像完成移植。 不过在很多情况下,硬件厂商会提供相应的b s p ,这时所要做的工作就是将b s p 导入后完成移植。对于没有现成b s p 的情况,可以利用p l a t f o r mb u i l d e r 所提供 的相同或相近的b s p 来定制新的b s p ,这样可以减小开发强度,节约开发时间 1 1 9 - 2 1 o 本课题车载显示系统的b s p 由开发板商提供。 3 3c a n 总线驱动程序设计 虽然p l a t f o r mb u i l d e r 本身自带了很多的驱动程序,其中不乏诸如串口驱动, u s b 口驱动等,但是目标板的种类众多,并且嵌入式系统本身的实现目标决定 了系统所集成的硬件种类也是非常丰富的,因而,要求p l a t f o r mb u i l d e r 自带所 有硬件的驱动是不现实的。在这种情况下,如果硬件公司提供了相应的b s p 开 发包,就需要将此开发包导入p l a t f o r mb u i l d e r ,此时驱动程序可以以组件的形 式定制到嵌入式操作系统中。如果厂商所提供b s p 开发包中不包括某一个硬件 的驱动,那么就需要仔细研究硬件,并自行编写驱动程序和注册表部分的文件, 自行定制出c e c 文件,并将生成的驱动与b s p 绑定,这样新硬件的驱动也可 以作为一个特性在定制系统时加入到系统中【2 2 甾l 。本课题车载显示系统的c a n 总线通信接口是在开发板的基础上外扩的,厂商提供的b s p 并不包含该接口的 驱动,因此需要自行开发。 3 3 1 驱动编写流程 因为本课题车载显示系统的c a n 总线通信接口是在$ 3 c 2 4 1 0 x 的s p i 接口 上外扩m c p 2 5 1 0 而来,所以编写的驱动首先要确保$ 3 c 2 4 1 0 x 的s p i 口可以正 常收发,然后才可以利用s p i 口对m c p 2 5 1 0 的寄存器进行设置,使m c p 2 5 1 0 的c a n 接口可以j 下常收发。c a n 总线驱动中初始化过程流程图如图3 1 所示。 武汉理。i :人学硕士学位论文 由此, ( 1 ) ( 2 ) ( 3 ) ( 4 ) s p i 通信初始化 设置s p i 的引脚 设置波特率 查询、中断、d m a 选择 主从模式 0 - 0 模式 c a n 初始化 复位命令( 软复位) 写命令( 禁f 七中断) 写命令( 进入配置模式) 写命令( 设置波特率) 写命令( 进入正常模式) 位修改命令( 设置屏蔽位) 图3 1c a n 总线驱动初始化过程流程图 c a n 总线驱动的设计步骤为: 对$ 3 c 2 4 1 0 x 的s p i 口初始化; 通过s p i 口对m c p 2 5 1 0 进行初始化; 编写c a n 控制器的收发程序; 写出c a n 流接口函数形式; ( 5 ) 导出流接1 2 1 ,修改注册表和c e c 文件1 2 6 - 2 7 。 下面对各步骤详细介绍。 3 3 2 虚拟地址映射 与单片机形式的直接控制硬件方式不同,由于w i n d o w sc e 的特点,在操作 系统之上要想让应用程序通过o e m 层到达实际的硬件进行控制,必须进行虚拟 内存分配和虚拟地址映射。管理虚拟内存的硬件是内存管理单元m m u ( m e m o r ym a n a g e m e n tu n i t ) 。m m u 负责把虚拟地址映射到物理地址,并且提 1 2 武汉理工大学硕士学位论文 供一定的内存保护。所以,整个驱动的首要工作是解决如何让操作系统之上的 软件接触到底层硬件,这要利用到v i t u a l a l l o c 函数和v i t u a l c o p y 函数。 首先,调用v i t u a l a l l o c 函数( 最底层的分配虚拟地址空间的函数) : v _ p s s p r e g s= ( v o l a t i l es s p r e g 幸 )v i r t u a l a l l o c ( 0 ,s i z e o f ( s s p r e g ) , m e m _ r e s e r v e ,p a g e _ n o a c c e s s ) ; 在开发板商提供的b s p 的头文件$ 2 4 1 0 h 中,s s p r e g 表示s p i 寄存器的结 构体。此语句分配一块s s p r e g 大小的空间,并将首地址返回给v _ p s s p r e g s ,供 后续调用。 然后,用v i t u a l c o p y 函数,将$ 3 c 2 4 1 0 x 中的s p i 寄存器结构体基地址 s s pb a s e 映射到刚刚分配的虚拟地址空问中: v i r t u a l c o p y ( ( p v o i d ) v _ p s s p r e g s ,( p v o i d ) s s p _ b a s e ,s i z e o f ( s s p r e g ) , p a g e r e a d w r l t elp a g e _ n o c a c h e ) ) ; 之后,便可给vp s s p r e g s 赋值,以修改s p i 寄存器,正常启动s p i 通信。 3 3 3s p i 初始化 虚拟地址映射成功后,就可以对$ 3 c 2 4 1 0 x 上与s p i 功能相关的的4 个多功 能复用引脚进行设置。四个引脚分别为s p i s c k ( s p i 同步时钟) 、s p i m o s i ( 主 入从出) 、s p i m i s o ( 主出从入) 和n s s 0 ( 片选c s ) ;然后设置s p i 波特率、主 模式、查询方式、提供时钟、0 0 模式。 s p i 正常工作后,就可通过s p i 对m c p 2 5 1 0 的寄存器进行设置。对s p i 的 所有操作可以通过两条基本命令读命令和写命令组合出来。其中写命令为: u n s i g n e dc h a rs p i _ w r i t e ( u n s i g n e dc h a rd a t a ) v _ p s s p r e g s - r s p t d a t 0 = d a t a ; 向s p i 发送缓冲器写入待发内容 w h i l e ( ! ( v _ p s s p r e g s 一 r s p s t a 0 & 1 ) ) ; 查询判断s p i 状态,是否发完 r e t u r n ( u n s i g n e di n t ) v _ p s s p r e g s 一 r s p r d a t 0 ; 返回接收的数据 ) 在写命令中包含了读取s p i 总线接收缓冲器,因此只要向需要查询的寄存器 写入0 x f f ( s p ij 下常模式) ,就可以读出该寄存器的内容。 1 3 武汉理工大学硕士学位论文 3 3 4c a n 初始化 按照m c p 2 5 1 0 芯片的芯片手册,对芯片进行初始化应该按照以下操作步骤: 先发复位命令( 软复位) ,然后分别发写命令( 禁止中断) 、写命令( 进入配置 模式) 、写命令( 设置波特率) 、写命令( 进入正常模式) 和位修改命令( 设置 屏蔽位) 。 m c p 2 5 1 0 初始化命令中每条指令其实是对s p i 进行操作的组合。以最常用 的写命令举例来说,向m c p 2 5 1 0 指定地址写入一个字节的指令语句为: v o i d2 5 1 0 一w r i t e ( u n s i g n e dc h a ra d d r e s s ,u n s i g n e dc h a rv a l u e ) 2 5 1 0 一c s l ; s p i w r i t e ( 2 51 0 i n s t r u _ w r i t e ) ; s p i _ w r i t e ( a d d r e s s ) ; s p i i i t e ( v a l u e ) ; 2 5 1 0 一c s h ; ) 2 5 1 0c sl 和2 5 1 0c sh 分别为c s 引脚的置低和置高,这是对m c p 2 5 1 0 进行操作的开始和结束的必不可少的环节。参考m c p 2 5 1 0 芯片手册,对其寄存 器操作必须先写入指令操作码( 操作方式) ,然后写入寄存器地址和内容。所以 这里通过s p i 向m c p 2 5 1 0 先写入指令写操作码m c p 2 5 1 0 i n s t r u _ w r i t e ( 头 文件中定义为0 x 0 2 ) ,然后是地址a d d r e s s 和内容v a l u e ,这样一个写命令就完成 了。其他命令类似。 3 3 5c a n 收发实现 针对c a n 总线协议和m c p 2 5 1 0 的芯片特性,c a n 的收发函数都要包括 l d 和数据。下面对c a n 总线发送数据函数举例展开: v o i dm c p 2 5 1 0 _ t x ( i n tt x b u f , i n t 奎l d t y p e ,u n s i g n e di n t i d ,i n tr x r t r , u n s i g n e di n t 丰d a t a ,u n s i g n e di n td l c ) u n s i g n e di n tm c p _ a d d r = ( n b u f s y s g e n 菜单, 集成开发环境开始编译生成镜像。编译过程中,输出信息窗口显示相关的编译 信息。输出信息窗口显示如下的信息:工程名,错误个数,警告个数,并且错 误个数为o ,表示编译顺利结束,一个w i n d o w sc e n e t4 2 的镜像生成了。 4 2 生成与导出s d k 在丌发成功一个操作系统镜像后,用户就可以通过p l a t f o r mb u i l d e r4 2 的导 1 8 武汉理工大学硕士学位论文 出s d k 向导,导出s d k ,进而开发出基于特定操作系统平台的应用程序。 首先通过p l a t f o r mb u i l d e r4 2 中t a r g e t 菜单下的d i s c o n n e c t 选项断开p c 机 与目标板的通信联系。然后,从p l a t f o r m 菜单上选择“s d k ,接着选择“n e w s d k 9 99 进入“s d k w i z a r d ”,填写相应的内容,包括产品属性,以及开发语言。 其中开发语言选择“e m b e d d e dv i s u a lc + + 4 0s u p p o r t ”这一项,以便导出的s d k 能够支持e v c 4 0 。 完成以上向导程序之后,再次从p l a t f o r m 菜单上选择“s d k ”。接着选择 “s d k 子菜单下的“c o n f i g u r es d k ”,进行一系列相关的配置,之后选择p l a t f o r m 菜单下的“b u i l ds d k ”而开始s d k 的创建。 创建完成后,就可以把p l a t f o r mb u i l d e r4 2 生成的s d k ( 默认存放在 w i n c e r o o t p u b l i e m v p l a t f 0 加s d k s d k 目录里面) 安装到本地或者别 的计算机上,应用程序开发者就可以在e m b e d d e dv i s u a lc + + 4 0 环境中开发运 行于特定操作系统平台下的应用程序。 导出的s d k 包是一个标准的w i n d o w si n s t a l l e r 安装文件,所以双击鼠标就 可以对它进行安装,过程如下: ( 1 ) 确保e v c 4 o 是关闭的。 ( 2 ) 双击运行s d k 安装文件,系统显示向导界面,开始s d k 的安装。 ( 3 ) 在接下来的几个界面中分别选择接受最终用户协议,输入用户名和组 织名,在“c h o o s es e t u pt y p e ”界面中单击“c o m p l e t e ”,然后在“d e s t i n a t i o nf o l d e r s ” 界面中选择目标文件夹。 ( 4 ) 单击“n e x t ”,在“r e a d yt oi n s t a l l ”界面中选择“i n t a l l ”,系统开始文件的 复制和系统的设置,在安装完成后,系统显示退出界面,单击“f i n i s h ”结束s d k 的安装。 1 9 武汉理工大学硕十学位论文 第5 章车载显示系统应用层设计 车载显示系统应用层由基于操作系统开发的应用程序组成,用来完成对被 控对象的控制功能。车载显示系统的应用程序是整个系统人机交互的核心,实 现接收和处理c a n 网数据,显示数据和保存数据的功能。由此,车载显示系统 的应用程序分三个模块进行开发,分别为c a n 总线通信模块、数据显示模块、 数据保存模块。本章将先对车载显示系统应用程序的开发工具e m b e d d e dv i s u a l c + + 4 0 进行简单介绍,然后具体说明各模块的设计。 5 1 应用程序开发工具和结构 5 1 1 应用程序开发工具 编写在w i n d o w sc e n e t4 2 下运行的应用程序,需要使用能够用于 w i n d o w sc e n e
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- (新)短效期疫苗报告制度2篇
- 职高难的数列题目及答案
- AI在水利水电建筑工程中的应用
- 医疗机构执业许可证管理制度
- 表4企业养老保险遗属待遇申领表
- 2026年中国GEO生成式引擎优化服务商综合排名白皮书
- 001-3.建筑材料及制品燃烧性能分级检测报告(难燃B1级)
- 2025-2026学年译林版(三起)小学英语六年级下册期末综合测试卷及答案
- 北湾智能网联汽车产业基地快速通道及周边配套项目水土保持报告表
- 湖北能源集团南漳清河 30MW-60MWh 储能电站水土保持报告表
- 2026年cnas测试题及答案
- 2026年新能源动力电池系统检修题库含答案
- 2026年国企竞聘笔考试试题库目简答题与答案
- 2026年安全知识竞赛及答案
- 2026年事业单位考试职测考点笔记
- 2026年广东高考物理试卷及答案
- 2025贵州省贵阳市殡仪服务中心公开招聘(编外)工作人员25人考试参考试题及答案解析
- GB/T 18422-2013橡胶和塑料软管及软管组合件透气性的测定
- GA/T 497-2016道路车辆智能监测记录系统通用技术条件
- 湖南省长沙市长郡教育集团2021-2022学年中考三模数学试题含解析
- 脱挂式索道(检测)课件
评论
0/150
提交评论