(机械设计及理论专业论文)嵌入式系统和fpga在led显示屏中的应用研究与实现.pdf_第1页
(机械设计及理论专业论文)嵌入式系统和fpga在led显示屏中的应用研究与实现.pdf_第2页
(机械设计及理论专业论文)嵌入式系统和fpga在led显示屏中的应用研究与实现.pdf_第3页
(机械设计及理论专业论文)嵌入式系统和fpga在led显示屏中的应用研究与实现.pdf_第4页
(机械设计及理论专业论文)嵌入式系统和fpga在led显示屏中的应用研究与实现.pdf_第5页
已阅读5页,还剩61页未读 继续免费阅读

(机械设计及理论专业论文)嵌入式系统和fpga在led显示屏中的应用研究与实现.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

武汉理工大学硕士学位论文 摘要 近年来l e d 显示技术发展迅速,l e d 全彩显示屏得到了广泛的应用。l e d 显示技术涵盖了微机控制、视频、光学、机械和数字图像处理等多种技术。针对 现有l e d 显示系统数据传输和显示存在的缺陷和开发难度,本文提出并实现了一 种新型的l e d 显示系统方案。 该方案把a r m 处理器应用到l e d 显示屏中,采用f p g a 技术开发了l e d 显示屏系统。本文主要讨论了利用网络传输l e d 显示数据的实现方法,包括嵌入 式系统的设计以及t c p i p 协议的实现等分析和设计工作。 全文分为七章,首先提出现有l e d 显示系统数据传输和显示存在的缺陷和开 发难度,然后提出新的l e d 显示系统方案,并论证该方案的可行性。接着阐述了 作者采用的嵌入式系统的设计方法和过程。 第三章和第四章是嵌入式系统的设计和t c p i p 协议的实现,其中包括硬件和 软件的设计以及嵌入式操作系统l ac o s i i 的移植。详细地分析了基于l p c 2 2 1 4 芯片的操作系统移植步骤和过程。本文使用的是1 w l p 网关协议,把其应用于u c o s i i ,实现了l e d 显示屏的网络通信,还分析了r t l 8 0 1 9 芯片的工作过程, 编写了有关驱动代码。 在第五章和第六章中阐述了l e d 显示屏显示原理和利用f p g a 实现l e d 显 示的驱动开发过程,利用占空比法实现l e d 显示屏的灰度显示,使用v h d l 语 言描述l e d 显示屏的灰度实现逻辑。最后根据本文的方案实现了l e d 显示屏的 彩色显示,通过分析比较,该方案可行并且达到了预定的要求。 关键字:嵌入式系统,uc o s 1 i ,f p g a ,1 w l p ,占空比 武汉理工大学硕士学位论文 a b s t r a c t hr e c e n ty e a r sl e d t e c h n o l o g y h a sb e e nd e v e l o p e dv e r y q u i c k l ya n dl e d c o l o r d i s p l a yh a sb e e na p p l i e dw i d e l y t h ed i s p l a yt e c h n o l o g y o fl e di n c l u d e sm i c r o c o n t r o l l e r , v i d e o ,o p t i c sm e c h a n i c sa n dd i g i t a li m a g em a n i p u l a t i o ne t c i n o r d e rt o i m p r o v e t h ed e f e c t sa n ds o l v ed i f f i c u l t yo fl e d d i s p l a gt h ea u t h o rp u t sf o r w a r dan e w s c h e m eo fl e d d i s p l a y a r ma n df p g ah a v eb e e n a p p l i e d i nt h i ss c h e m e a n dt h ea u t h o rh a s i m p l e m e n t e d an e w s y s t e mo fl e dd i s p l a y b ym e a n so ft h i ss y s t e m 1 h ed a t ao ft h e l e d d i s p l a ya r et r a n s m i t t e di nt h en e t s ot c p i pi sa l li m p o r t a n tp a r ti nt h es c h e m e t h i sd i s s e r t a t i o nc o n s i s t so fs e v e nc h a p t e r s ,i nc h a p t e r1 c h a p t e r2 t h ea u t h o r p r e s e n t san e w s c h e m eo fl e d d i s p l a ya n dp r o v e so u tt h ep o s s i b i l i t yo ft h i ss c h e m e , a n dt h e ns t u d i e so nt h em e t h o d so f i m p l e m e n t i n gt h es y s t e m i nt h ef o l l o w i n gt w oc h a p t e r st h ea u t h o ra n a l y s e sh o wt o d e s i g na ne m b e d d e d s y s t e mb a s e do na r ml p c 2 2 1 4 w h i c hi n c l u d e s t h ei n s t a l l a t i o no fe m b e d d e dj j ( :,o s 一a n dl w i p - t h i sc o n s i s t so ft h es o f t w a r ea n dh a l d w a r es u c ha sd e s i g n i n gt h e d r i v e rp r o g r a mo ft h ec h i p s e to fr t l 8 0 1 9 i nc h a p t e r5 & c h a p t e r 6 ,t h ea u t h o ri n t r o d u c e se d a t e c h n o l o g yf i r s t l y , a n dt h e n a n a l y z e s t h e a p p l i c a t i o np r i n c i p l e o f f p g a ,f i n a l l yr e c o m m e n d st h es o f l v i a r e o f q u a r t u s - 1 1 i nl e d d i s p l a y , t i m e t o p r o c e s sr a t i oj sa d o p t e d 。w h i c hm a k e sl e d d i s p l a ye x h i b i td i f f e r e n t c o l o rn o w , a st h ed i s s e r t a t i o nh a sb e e nf i n i s h e d ,t h en e w s c h e m eh a sr e a l i z e d ,a n dt h r o u g ht h ee x p e r i m e n tt h en e ws c h e m ei sb e t t e rt h a nt h e o t h e ro n ei nt h i sf i e l d k e y w o r d s :e m b e d d e d s y s t e m ,f p g a ,uc o s q ll w l p ,t i m e - t o p r o c e s sr a t i o i i 武汉理工大学硕士学位论文 第一章绪论 l e d 显示屏是新一代的信息传播媒体,已经成为城市信息现代化建设的重要 标志。主要应用在工业控制、利率、证券,广告、交通、医疗等领域。l e d 显示 屏是计算机技术与信息处理技术相结合的一种电子媒介屏,它集微机控制技术、 微电子技术、通信技术于一体,可以显示来自计算机、摄像机及电视的活动图象, 也可以显示来自存储器中的静态图像 4 9 1 。l e d 显示系统主要包括通信接1 3 、数据 处理器、数据存储器、内码点阵存储和l e d 显示屏,l e d 显示系统的工作原理 如图t - 1 所示。 图1 - 1 l e d 显示系统 首先从数据存储器里将要显示的内码信息读出,其次根据内码从内点蹲存储 里面调出到相应的内码点阵,最后把点阵数据送到l e d 显示屏。图中,通信接口 的主要作用就是作为接收数据和发送数据的通道。通过通信接口,接收要显示的 信息,经过数据处理器的校验后,将信息存储到数据存储器。 随着社会信息化的迸一步发展的,信息显示的数量越来越多,人们对于信息 的需求量也越来越大,因此l e d 显示屏的应用也会越来越广泛,种类也千差万别。 人们对于显示屏的开发了提出一些新的要求: 1 产品的开发生产快,能够迅速占领市场; 2 产品的安装护维方便,能够更好地满足客户的需要; 3 产品的成本低,性价比高。 1 1 l e d 显示屏开发中存在的一些问题 1 1 1 信息的传送问题 l e d 显示屏的通讯传输控制有通讯传输和视频传输两种。通讯传输采用标准 的r s 2 3 2 或r s 4 8 5 计算机数据串行通讯方式,通过串1 2 1 按一定的通讯协议接收来 自计算机串口或其它设备串1 3 的信号,经过处理后按一定的规律传送到显示屏上 显示;这种控制方式的显示屏的功能比较单一,适用于简单文字、图形显示,主 武汉理工大学硕士学位论文 要是单色及双基色显示屏控制使用,并且当显示的信息量比较大的时候,需要比 较高的数据传输速率,而串行传输的速率是有一定的限制的,最大为1 m b i t s 当 距离增大的时候速率会降得更低,一般情况下直接传输距离可达千米。视频传输 方式则是把l e d 显示屏与多媒体技术结合起来,采用成对的专用长线传输接口电 路,实现了在l e d 显示屏上实时显示计算机监视器上的内容,但是对传输线的要 求很高,而且接口电路设计比较复杂。 1 1 2l e d 显示屏的驱动 实现系统图像显示需要对红、绿、蓝l e d 器件进行灰度调节。如果三色都能 实现8 位灰度可调,就可以形成2 5 6 2 5 6 2 5 6 共1 6 8 百万种颜色。控制l e d 的灰度主要是采用占空比法,将显示一帧的时间分为不同的时间长度子帧,8 位 共有2 5 6 个灰度等级,把时间分8 个不相等的时间区。如此复杂的时序逻辑功能 只能由大规模集成电路来实现,通常l e d 显示屏使用的是f p g a ,也有采用专用 的芯片,能够完成l e d 显示屏的数据传输控制、灰度控制、系统控制等等。t n l 通过一段时间调研发现很多的厂商使用的是开发专用集成芯片的方法,把数 据的传输与显示控制集成在一起,但这种方法有几个不足之处,首先,开发难度 大,模块化不强,其次,缺乏灵活性,势必延长产品的开发周期。 1 2 新的解决方案 为了充分利用网络资源,同时顺应网络发展的趋势,利用i n t e m e t 网络传输 数据可以很好地解决数据的传输问题,它不仅传输的速度快、距离长、传输的数 据可靠,而且给产品的安装以及维护带来了巨大的方便,因为网络的资源随处可 在,而且以后网络的优势会更加明显,我们不必要为每一个显示屏的安装专门铺 设一条通信线路,只要把数据线接上i n t e m e t 即可。 数据的采集和处理利用专门的控制模块来完成,把它与显示驱动的模块分开, 不使用f p g a 来完成这个部分的工作,因为网络的应用已经有比较成熟的技术和 器件,不必要再花费专门的时间开发数据的采集和传输控制模块,这对于缩短产 品开发周期是极其有利的。 该系统的结构图如下。 武汉理工大学硕士学位论文 1 3 方案实施的可行性 图1 - 2 系统结构图 在设计之前,对方案的可行性进行了研究和分析。考虑到下述几项技术要求 在i n t e m e t 上可以实现,所以采用i n t e r n e t 通讯方式可行。 - ( 1 ) 利用嵌入式微处理器作为i n t e r n e t 通讯的终端:嵌入式微处理器控制功能 强大,可以运行嵌入式操作系统,实现t c p i p ,因此能够很容易地实现i n t e r n e t 数据通信。 ( 2 ) 嵌入式操作系统的获取:市面上有各种各样的嵌入式操作系统可供选择, 例如:v x w o r k ,p a l mo s ,uc o s i i ;作者在开发中选用l ac o s i i 作为嵌入式操 作系统,它具有很多的优点:源代码公开免费,用户可以根据需要进行修改,结构 清楚,注释详尽,体积小,核心代码只占8 3 k ,并且可以剪裁。 ( 3 ) t c p i p 协议的获取:如果重新根据t c p i p 的规范和构架来开发协议栈, 势必难度不小,同时会延长产品的开发周期,因此考虑使用已经实现的t c p i p 协 议栈,市场上有很多的t c p i p 协议栈可供选择,比较好的有1 w i p ,本文选用1 w l p , 它结构清楚,占用存储器空间小,这对于存储资源比较紧张的微处理器来说是很 有利的。 ( 4 ) l e d 显示屏的实现:利用f p g a 实现显示数据的仲裁和扫描控制,由于 数据的通讯和传输已经由嵌入式处理器完成,这部分的开发工作量将比较小,而 且容易调试和维护。 3 武汉理工大学硕士学位论文 1 4 课题来源 佛山光电器材有限公司项目:l e d 灯光仿真系统及大屏幕设训 武汉理工大学硕士学位论文 第二章嵌入式系统的研究及实现 嵌入式系统被定义为【1 2 】:以应用为中心,以计算机技术为基础,软硬件可以 裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机 系统。嵌入式系统是现代多学科互相融合的产物,嵌入式系统无多余软件,并且 以固态化出现,硬件亦无多余存储器,有可靠性高、成本低、体积小、功耗少等 特点,嵌入式系统又是知识密集、投资规模大、产品更新换代快的系统。且具有 不断的创新特征,作者在该项目中采用嵌入式系统将符合技术发展的主要趋势。 2 1 嵌入式系统的设计过程 在设计嵌入式的过程中,不仅要对设计嵌入式系统的软件硬件有很广泛的了 解,同时还要熟悉行业的内容。在嵌入式系统的设计过程中会面临着以下一些问 题: ( 1 ) 硬件的选择:在系统设计中,不仅要选择使用何种微处理器,同样要选择 存储器的数量、所使用的外设及其它的内容也是十分重要的硬件太少,将不能 达到性能的要求,硬件设备过多又会使产品变得过于昂贵。 ( 2 ) 减少系统功耗:对于电池的供电的电器而言,功耗是一个十分重要的问题。 对于非电池供电的电器而言,高功耗也会带来高的散热量,降低系统的功耗的一 种方法就是降低它的运算速度。但是单纯地降低运算速度显然会导致不能满足性 能的需求,必须认真地进行设计,以便通过降低系统关键部分的速度来降低系统 功耗,而同时又能满足系统的性能的要求。 , ( 3 ) 保证系统升级:系统的硬件平台可能使用几代,或者使用在同一代的不同 级别的产品,而这些仅仅需要一些简单的改变,然而我们必须能通过改变软件来 改变系统的特性,设法设计一种系统,使它能够提供我们现在还没有编写的程序 所需要的性能。 进行嵌入式系统的设计有两种最基本的方法:一种是自顶向下的方法,从对 系统最抽象的描述开始,步一步地推进到细节内容:另外一种方法是自底向上 的方法,这种方法从构成系统的每一个构件开始向上推进。 武汉理工大学硕士学位论文 图2 - 1 嵌入式系统设计过程 图2 1 汇总了嵌入式系统设计的主要步骤。从自顶向下的角度来看,先从系 统的需求开始分析,然后进行描述,并不涉及它的组成。系统内部的详细构造要 在开始系统的体系结构时才能展现出来,这一阶段以大的构件为单位给出了系统 的结构,一旦知道了需要的构件,就可以开始设计这些构件,包括软件模块和所 需要的专用的硬件模块,在这些构件的基础上,就可以构造出所需要的完整的系 统。 具体的说,第一步“需求”就是要清楚设计什么,从用户的那里收集系统的 非形式描述,然后对这些要求进行提炼,以得到系统的规格说明;第二步,规格 说明书上更精确一些,它起到客户和生活者之间合同的作用:第三步体系结构, 是系统整体结构的一个计划,而后用于设计搭建整个系统结构的构件。一些构件 可能是现成的,比如c p u 存储器芯片,或者各种模块;同样软件也有标准的模块 可供利用,比如有现成的o s ,t c p i p 协议等;但也要自己设计一些构件,硬件 方面的如一些电路等,软件方面的如定制一些文件系统或者网络协议的特别要求; 第五步系统集成是将构件集成到一个能运转的系统中。 2 2 嵌入式c p u 和嵌入式操作系统的选择 在当今这个时代没有一种微处理器和微处理器公司可以主导嵌入式系统,仅 以3 2 位的微处理器而言,就有1 0 0 种以上的嵌入式微处理器。因为嵌入式系统的 设计差异极大,这就是有i 0 0 种微处理器存在的原因,在某种情况下,性能极为 重要,而在另一种情况下,低功耗又是一个重要的因素,同时一些设计者会考虑 武汉理工大学硕士学位论文 支持的软件,代码的大小以及多种渠道的资源和过去的经验,必须弄清楚哪些因 素是设计者最为关心的因素。 ( 1 ) 调查c p u 供应商:某些公司,如m o t o r o l a ,i n t e l ,很有名气,而 有一些小的公司,如q e d 虽然名气很小,但也生产很性能优秀的微处理器,另外, 有一些公司如a r m ,m i p s 等,只是设计而并不生产c p u ,它们把生产权授予 世界各地地半导体制造商。m o t o r o l a 具有传统的6 8 k 结构,虽然它起源于八 十年代初,但在当今依然销售额达到八千万个,并基本上是传统6 8 0 x x 芯片,另 外就是6 8 3 x x 以及c o l d f i r e 。嵌入式微处理器是最大的挑战者m i p s 的授权制 造商,紧跟在m i p s 后的另一个芯片制造商是h i t a c h i 的s h ,s f i 主要是在远东 销售,日本最多,北美则很少有人使用。a r m 是另外一种近年来在嵌入式系统最 有影响力的微处理器制造商,a r m 的设计非常适合于小的电源供电系统。除 m i p s ,s h ,a r m 之外,就数p o w e r p c 和x 8 6 ,这两款微处理器在桌面系统使 用量极大,但在嵌入式系统中影响却不够大。 ( 2 ) 选择高性能的处理器:如果设计是面向高性能的应用,那么建议考虑某 些新的处理器。其价格低廉,现在基于a r m 核的c p u 的性能不错,另一种趋势 就是越来越多的人们在磁盘控制器、数码相机、手持电话、调制解调器等方面使 用d s p ,采用d s p 的好处是可议大减少系统内c p u 的数目,提高效率,并使编 程简单,但是毕竟d s p 不能完全替代c p u 的功能。目前已经有公司宣布,推出 复合型的微处理器,如m o t o r o l a 的m c o r e ,它将跨越c p u 和d s p 。据悉, t i ,s i m e m e n s 也在开发类似的产品。 ( 3 ) 选择低功耗的处理器:嵌入式微处理器最大并且增长量最快的市场是手 持设备、电子记事本、p d a 、手机、g p s 、导航器等消费类电子产品,这些产品 中选购的微处理器除了要有很高的性能外,还要求有极低的功耗消耗。 ( 4 ) 选择专用集成化的处理器:嵌入式微处理器与通用的微处理器最大的不 同是嵌入式微处理器多数工作在用户自己设计的系统中,为了满足日益高速增长 的各类嵌入式系统设计需求,c p u 厂商设计了许多兼有1 6 3 2 位微处器,并集成 了许多的外围功能的c p u ,如s a m s u n g 公司的基于a r m 7 核,s 3 4 4 b o x ,集 成了l c d 控制器。 在系统设计中,除了综合考虑系统的性能、功能耗、价格、供货保证开发工 具的配备外,工程师过去对这种处理器的经验和软件的支持等因素以决定使用哪 一种处理器也起到了很大的作用,嵌入式处理品的选择不是一成不变的,伴随着 技术的发展速度快、价格低、功能强的嵌入式处理品将成为更好的选择。 嵌入式系统对操作系统的和应用软件的需求和通用计算机有所不同,嵌入式 系统的应用软件是实现嵌入式系统功能的关键,应用程序可以没有操作系统直接 在硬件平台上运行,但是为了合理地调度多任务,利用系统资源,系统函数以及 7 武汉理工大学硕士学位论文 和专家库函数的接口,用户必须自行选配操作系统软件开发平台,这样才能保证 程序的执行的实时性和可靠性,并减少开发时间、保证软件质量,嵌入式操作系 统的引入,解决了嵌入式软件开发标准化的难题。随着嵌入式系统中软件比重不 断上升,引入嵌入式操作系统越来越大,对开发人员来说,应用程序的接口和程 序档案的组织管理成为大的研究课题,引入嵌入式操作系统相当于引入了一种新 的管理模式,对于开发单位和开发人员都是一个提高,在嵌入式操作系统上开发 出的程序具有较高的可移植性,实现9 0 以上的设各独立,一些成熟的通用程序 可以作为程序开发库推向社会,嵌入式软件的函数化、产品化能够促进行业界交 流以及社会分工专业化,减少重复劳动,提高知识创新的效率,有了嵌入式系统, 我们可以得到如图2 2 所示的嵌入式系统的构成。 图2 - 2 嵌入式系统构成图 在确定要选择一个嵌入式操作系统来开发系统后,下一步就是如何来选择一 个合适的操作系统。 ( 1 ) 自建、免费还是购买? 正常情况下,购买当然是最好的选择,提供操作系 统的公司不但可以提供完全的源代码,而且可以提供合适的调试工具和强大的技 术支持。比如现在国内用的比较多有:、i n dr i v e rs y s t e m s 公司的v x w r o k s , a c c e l e r a t e dt e c h n o l o g y 公司的n u c l e u s 。但是在性能绝对至关重要的场合,写自己 的实时操作系统可能允许花费大代价换取有限的百分之几的速度提升。另外,特 定的工业( 比如医疗设备、安全系统等) 对软件有特定的规则或标准要求。在某些 情况下,现成的操作系统满足不了这些要求。这时也只能选择自建。当然也有很 多免费的操作系统,对于需要进行研究或者需要进行对操作系统改动的人说,肯 定是最好的选择,比如现在的u c l i n u x ,1 1c o s 等。 ( 2 ) 内核要求的最小存储器大小:操作系统可以装入小得令人惊讶的内存中。 尽管如此,当供应商给出一个内核要求的最小存储器大小时,很重要的一点是要 了解这个内核中包括了什么。最小的内核经常是仅仅支持很少的特性,而典型的 配置可能产生大得多的内核。如果在设计非常在乎r a m 或r o m 的大小,一定要 澄清这个问题。有时供应商可以提供份详细的列表,说明了创建包含不同服务 武汉理工大学硕士学位论文 的内核分别需要多大的r a m 和r o m 。 ( 3 ) 性能f p e r f o r m a n c e ) :对所有的项目来说,性能都是个大问题。但是要了解 操作系统对系统的影响却不那么容易。首先要明白供应商使用的是什么评估板? 微处理器的时钟频率是多少? 使用的是什么存储系统? 存储器访问使用了几个等待 周期? 只有弄清楚了这些问题才能做出公平的对比。 ( 4 ) 软件组件和设备驱动程序( s o f t w a r ec o m p o n e n t a n dd e v i c ed r i v e r s ) :在设计 中用到现成的板卡或i c 时,要确定是否可以得到设备驱动程序。有些操作系统供 应商提供的这些特性或驱动程序的方式是不同的,它们可能作为操作系统的一部 分,也可能作为可选配件。另外,这些服务也可以从第三方供应商获得。 ( 5 ) 调试工具( d e b u g g i n gt o o l s ) :操作系统供应商可能有有助于找到错误的调 试工具,这些错误( 比如死锁、忘了放信号灯等等) 用其他源码级调试器更难于发 现。许多工具允许开发者在任务之间相互传递信号灯时、在任务切换时和发生中 断时进行w a t c h ( 以增加c p u 开销为代价) 。 2 3 本论文中嵌入式系统的具体实现 通过对嵌入式系统设计的分析可以看出,要实现一个能完成各种任务的平台 是不可能的,只能通过对嵌入式系统的研究,来分析其中一些共性。通过对一些 系统的构件进行分析,使其移植性到达最高水平。 2 3 1 硬件部分选择 首先是微处理器的选择 2 3 1 : 一般来说,选用处理器的时候要考虑性能、开发难易程度、开发成本、相关 资料公开性等因素。很多微处理器体系结构各有特点,以适应应用在不同领域。 从研究可行性出发,本设计采用了a r m 体系结构的a r m 7 t d m i 内核。它是世 界上广泛使用的3 2 位嵌入式r i s c 处理器,目前主要用于低端的设备,最适用于 对价位和功耗敏感的应用。选择a r m 的另一个原因是以a r m 微处理为核心的硬 件方案比较多,也较为成熟。 综合考虑了多方面的因素,如价格、功能、应用前景等,本系统选择了 l p c 2 2 1 4 ,它是p h i l i p 公司基于a r m 7 t d m i 的精简指令系统的3 2 位高速处理 器,芯片内部集成了一些实用的外围器件,很适合终端类产品的开发。 微处理器的特性: 1 6 3 2 位a r m 7 t d m i s 核,l q f p l 4 4 封装: 1 6k b 片内g r a m : 9 武汉理工大学颐士学位论文 1 2 8 2 5 6k b 片内f l a s h 程序存储器,1 2 8 位宽度接口加速器可实现高达6 0 m l l z 工作频率; 可加密;全球首个实现可加密的熊斩微控制器: 多个串行接口,包括双u a r t ( 1 6 c 5 5 0 ) ,高速1 2 c ( 4 0 0 k b i t s s ) 和双s p i : 通过片内b o o t 装载程序实现在系统编程( i s p ) 和在应用编程( i a p ) 。5 1 2 字节 行编程时间为l m s 。 单扇区或整片擦除州间为4 0 0 m s : e m b e d d e di c e r t 可实现断点和观察点。当使用片内r e a lm o n i t o r 软件对前 台任务进行调试时,中断服务程序可继续运行; 8 路l o 位 内转换器,转换对闻低至2 4 4 # s ; 2 个3 2 位定时器( 带4 路捕获和4 路比较通道) 、p w m 单元( 6 路输出) 、实时 时钟和看门狗; 向量中断控制器。可配置优先级和向量地址: 可设置的外部存储区( 寻址最大范围为1 6 m b ,支持8 1 6 3 2 位数据宽度) ; 多达1 1 2 个通用i o 口( 可承受5 v 电压) ,g 个边沿或电平触发的外部中断引 脚; c p u 工作晶振最大为6 0 m r z ,并肉嵌片内可编程锁相环p l l ; 片内晶振频率范围:l 3 0m h z ; 两种低功耗模式,空闲掉电; 通过外部中断将处理器从掉电模式中唤醒; 外设功能可单独使能禁止,实现功耗最优化: 双电源: - - c p u 操作电压芤围:1 6 5 1 9 5v ( 1 8v 0 1 5v ) ; 一i o 操作屯压范围;3 0 3 6v ( 3 ,0v l o s ) ,可承受5 v 电压。 2 3 2 操作系统的选择 由于嵌入式系统在设计中其软件和硬件有很大的裙关性,因此在系统中不 涉及硬件的软件是很少存在的。由于嵌入式操作系统涉及的硬件较少,故称之为 软件部分。目前大多商用嵌入式操作系统出于商业利益的考虑,除了使用该操作 系统的每件产品要收取版税以外,要么只提供操作系统核心部分二进制文件。要 么对源代码的收费十分昂贵,对于此类操作系统的使用者来讲,几乎无法拿到操 作系统的源代码。这样,一方面产品的进一步发展受制于人;另一方面对于嵌入 式应用系统容易出现隐患,无法从根本上避免“后门”。对开放源代码的操作系统 迸行不断的理解、改造、优化,是嵌入式系统设计的绝佳途径。用于嵌入式系统 武汉理工大学硕士学位论文 的操作系统般都是实时操作系统( r t o s ) ,使用r t o s 可以容易设计和扩展应用 程序;可以使时间占重要位置的事件尽可能快的得到处理:可以提供信号量、信 箱、队列等很有价值的内核服务。但是使用r t o s 会增加系统的负担,需要一定 的r o m 和r a m 以及2 4 的c p u 的额外开销。之所以选择uc o s i i ,因为对 于小型实时操作系统来说,源代码公开的、具有很好可移植性的、可固化可裁剪 的、高稳定性与可靠性、抢占式多任务的“c o s i i 非常适合于学习。而且代码简 洁的pc o s i i 己经应用于照像机业、医疗仪器、音响设备、发动机控制、网络接 入设各、高速公路电话系统、a t m 机、工业机器人等嵌入式实时系统,这说明u c o s i i 是一个很有生命力的操作系统。当然l ac o s 1 1 只免费提供了内核,操作 系统的其他部分如文件系统、网络、窗口系统、输入输出管理程序、调试器等都 没有提供,或者说没有免费提供,需要自行设计和实现软件系统的其他部分。结 合硬件和参考了多种o s 的设计,现作者提出了基于pc o s i i 的嵌入式系统。具 体结构图2 3 。 厂广 i 缺省任务 l l 系统任务 j 应用层 i 显i 一= 二卫 图2 3 嵌入式系统结构 l a c o s i i 作为操作系统的内核,主要的任务是完成多任务之间的调度和同 步,并为设备驱动和系统服务程序提供信号量、邮箱、消息队列的服务。因为内 核需要实现时间延时和确认超时,所以还需要时钟节拍f r i m et i c k ) 中断服务程序 为其服务。 设备驱动程序是连接低层的硬件和上层简洁规范的接口程序的纽带。对下层 它可能直接操作硬件,也可能要通过中断处理程序与硬件通信,对上层接受上层 的请求并执行之,当然设备驱动程序有可能会利用到内核中的信号量、邮箱、消 息队列服务。一般来说应用程序如果要利用设备驱动程序,就需要通过系统服务 武汉理工大学硕士学位论文 的i o 管理模块来达到要求,但是在嵌入式系统中由于考虑到执行效率的因素, 也可以直接利用设备驱动程序。 系统服务层是比较大的一个范围。虽然包括文件系统、图形系统、输入输出 管理,但是如果再要分层次的话,文件系统和图形系统应该在输入输出管理之上, 这里的i o 管理是指与设备无关的管理程序,主要实现缓冲、块设备的存储分配、 分配和释放独占设备和提供错误报告等功能,跟文件管理的关系比较密切。文件 管理和图形管理与低层的设备驱动进行交互,并为应用层提供a p i 性质的服务。 同样,需要内核提供的任务管理和信号量等服务。 缺省任务指操作系统启动之后就开始运行的常驻任务,这些任务可以为其他 应用任务提供服务,或者为了便于系统管理。比如空闲任务、用户界面任务等。 用户任务顾名思义就是用户自定义的任务,用来完成用户需要的功能。可以 通过调用系统的服务来对系统进行操作或为用户提供服务,不同的任务之间可以 通过内核提供的信号量等服务进行通信同步。 2 4 本章小节 本章分析了嵌入式系统的设计过程。包括处理器的选择和硬件设计,操作系 统的选择和软件的设计。并且结合实际的项目详细地阐述了作者所开发系统的嵌 入式设计过程。 1 2 武汉理工大学硕士学位论文 第三章移植pc 0 s j i 3 1u0 0 s - i | 的移植概述 由于uc o s i i 不是针对特定的硬件进行设计的,因此t xc o s i i 把内核代码 分成了如图3 - 1 所示的三部分:与处理器无关的代码、与处理器有关的代码以及 与应用相关的代码。因此为了使uc o s i i 在基于a r m t t d m i 的嵌入式系统 l p c 2 2 1 4 上能够正常的运行,需要实现相应的启动程序以及对uc o s i i 中与处理 器相关部分的设计与实现。 图3 - 1 说明了l ac o s i i 的结构以及它与硬件的关系。与我们移植相关的文件 包括o s c p u h ,o c p u _ a so s _ c p u c c a 与应用相关的代码,我们可以进行修改 阻实现不同配置,而与处理器无关的代码,一般情况下不需要作修改。 广 f 砬用程序软件 f 与处理器无关代码 o sc o r e c o s 毋0 xc 0 sn 口e m c u c o si i c 0 st i 匣c 臣固 互 图3 1uc o s i i 的结构与硬件关系 3 2 基于l p 0 2 2 1 4 的p0 0 s - l i 的b s p 的实现 3 2 1 b s p 的概述 b s p 的全称是b o a r ds u p p o r tp a c k a g e s ,即板级支持包,简单的说,就是一段 启动代码,和p c 机主板的b i o s 的地位和作用差不多,但是一般来说,b s p 提供 的功能远逊于p c 机主板的b i o s 。编写8 0 3 1 等8 位单片机软件时前面要有一小 武汉理工大学硕士学位论文 段程序完成设置栈指针、软复位、中断屏蔽等操作,也可以称这段短程序为b s p 。 因为b s p 与硬件的关系比较密切,而且有些b s p 还包括部分输入输出驱动程序内 容f 比如v x w o r k s 的b s p ) 。 实时操作系统的b s p 一般比8 位机的初始化复杂一点,但通常也是设置堆栈 指针,之后初始化寄存器( 控制外围器件如r a m ,控制l o 口的寄存器) ,最后是 程序跳到实时操作系统内核入口。p c 机的b i o s 和操作系统比较独立,b s p 和嵌 入式实时操作系统关系也比较独立。 3 2 2b s p 的编写步聚 ( 1 ) 异常向量表 异常向量表是内部或外部源产生的以引起处理器处理的一个事件。a r m 处理 器核支持7 种类型的异常。异常出现后,c p u 强制从异常类型的对应的固定的存 储地址开始执行。这个固定的地址称为异常向量。异常向量表的代码如下所示: l d rp c r e s e t a d d r l d rp c u n d e f i n e d a d d r i 。d rp c s w ia d d r l d rp cp r e f e t c h a d d r l d rp c d a t a a b o r t a d d r d c d0 x b 9 2 0 5 f 8 0 l d r p c ,【p c ,舟一o x f f o 】 u ) rp c ,f i qa d d r r e s e t a d d rd c dr e s e t u n d e f i n e d a d d rd c du n d e f i n e d s w ia d d rd c d s o f t w a r e i n t e r r u p t p r e f e t c h a d d rd c d p r e f e t c h a b o r t d a t a a b o r t a d d rd c dd a t a a b o r t n o u s ed c d0 r r qa d d rd c d i r q _ h a n d l e r f i qa d d rd c d f i q _ h a n d l e r ( 2 ) 系统初始化代码 l p c 2 2 1 4 微控制器的存储器系统比较简单,所以初始化代码也比较简单,如 武汉理工大学硕士学位论文 下所示: r e s e t b l b l i n i t s t a c k t a r g e t r e s e t l n i t 初始化堆栈 目标板基本初始化 ;跳转到c 语言入口 bm a i n ( 3 ) 初始化系统堆栈 初始化堆栈的代码如下所示: i n i t s t a c k m o v r 0 ,l r ;设置中断模式堆栈 m s r c p s r _ c ,# 0 x d 2 l d r s p , s t a c k l r q ;设置快速中断模式堆栈 m s rc p s rc ,# 0 x d l l d r s e , s t a c k f i q ;设置中止模式堆栈 m s r c p s r _ c ,# 0 x d 7 l d r s p , s t a c k a b t ;设置未定义模式堆栈 m s r c p s r _ c ,# 0 x d b l d r s p , s t a c k u n d ;设置系统模式堆栈 m s r c p s r _ c ,# 0 x d f l d r s p , s t a c k l r q m o v p c ,r 0 s t a c k l r q d c d ( i r q s t a c k s p a c e + i r q _ s t a c kl e g t h 44 4 ) s t a c k f i q d c d ( f i q s t a c k s p a c e + f i q _ s t a c k _ l e g t h + 4 4 ) s t a c k a b t d c d ( a b t s t a c k s p a c e + a b t _ s t a c kl e g t h + 4 4 ) s t a c k u n dd c d ( u n d t s t a c k s p a c e + u n d _ s t a c k _ l e g t h + 4 - 4 ) p 分配堆栈空间 a r e a m y s t a c k s ,d a t a ,n o i n i t i r q s t a c k s p a c e s p a c e i r q _ s t a c k _ l e g t h 44 ;中断模式堆栈空间 f i q s t a c k s p a c e s p a c e f i q s t a c kl e g t h 4 ;快速中断模式堆栈空间 a b t s t a c k s p a c e s p a c e a b t _ s t a c k _ l e g t h + 4 ;中止义模式堆栈空间 武汉理工大学硕士学位论文 u n d t s t a c k s p a c e s p a c e u n d _ s t a c k _ l e g t h 44 ;未定义模式堆栈 ( 4 ) 系统基本初始化 为了使系统能够工作,必须在进入m a i n 函数前对系统进行一些基本的初始化 工作,该初始化的基本过程如图3 2 所示: 图3 2a r m 系统初始化 3 31 - to o s - i i 到a r m 7 t d mi 的移植的设计与实现 如前所述,l ac o s i i 并不是针对特定的硬件进行设计,因此移植uc o s i i 到l p c 2 2 1 4 ( 基于a r m 7 t d m i ) ,需要对与a r m t t d m i 处理器相关部分的代码进 行设计与实现。为了便于移植,pc o s 。i i 把内核代码分成了如图3 - 1 所示的三部 分:与处理器无关的代码、与处理器有关的代码以及与应用相关的代码。因此本 文需要做的工作就是: 1 实现与a r m 体系结构相关的三个文件:o s ,;_cpu ho s c p uc co s c p u a s 2 根据应用的要求对与应用相关的代码进行修改。 为了方便移植,大部分的uc o s i i 代码是用c 语言写的;但仍需要汇编语言编写一些 与处理器相关的代码,这是因为uc o s i i 在读写处理器寄存器时只能通过汇编语言来实现。 3 3 1 移植uo o s - il 对目标处理器的要求 移植u c 0 5 一h 对目标处理器有如下要求: 1 处理器的c 编译器能产生可重入代码。 2 能够用c 语言实现打开和关闭中断。 3 处理器支持中断并且能产生定时中断( 通常在1 0 至1 0 0 h z 之闯) 。 4 处理器支持能够容纳一定量数据( 可能是几千字节) 的硬件堆栈。 武汉理工大学硕士学位论文 5 处理器有将堆栈指针和其它c p u 寄存器读出和存储到堆栈或内存中的指 令。 因为m o t o r o l a6 8 0 5 系列的处理器不能满足上面的第4 条和第5 条要求,所以 uc o s i i 不能在这类处理器上运行。 3 3 _ 2o s c p u h 文件 o s 文件中包括使用的数据类型的定义,以及与硬件系统结构相关的定cpu h 义,包括堆栈、中断等。具体需要做的修改如下面所述。 1 数据类型的定义。 这部分的修改是和所用的编译器相关的,不同的编译器会使用不同的字节长 度来表示同一数据类型,我们这里使用的编译器是a d s ,相关的数据类型的定义 如下: 数据类型定义 t y p e d e fu n s i g n e d c h a rb o o l e a n ; t y p e d e fu n s i g n e dc h a r n t 8 u ; t y p e d e fs i g n e d c h a ri n t 8 s ; t y p e d e fu n s i g n e d s h o r ti n t l 6 u ; t y p e d e fs i g n e d s h o r ti n t l 6 s ; t y p e d e fu n s i g n e d i n ti n t 3 2 u ; t y p e d e fs i g n e d i n ti n t 3 2 s ;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论