已阅读5页,还剩69页未读, 继续免费阅读
(模式识别与智能系统专业论文)基于μcosⅡ的嵌入式水情自动测报终端研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
四川大学顾十学位论文 基于g c o s i i 的嵌入式水情自动测报终端研究 模式识别与智能系统专业 研究生艾龙指导教师周新志 水情自动测报是采用现代科技对水文信息进行实时收集、传送和处理的专 门技术,对洪水预报、防洪调度和水资源合理运用均能发挥很大作用,是水利 现代化的发展重点。由于其重要性,很多单位都开发了水情自动测报产品。但 是经过分析,发现这些产品都以发展通信方式为主,大部分还是用单片机系统 来构建的。虽然有设计简单、价格便宜等优点,但随着测报功能需求的增加, 系统越来越复杂,逐渐显露出性能还不够强大、升级和二次开发麻烦等缺点。 随着电子技术、计算机技术的迅速发展,出现了很多先进、高效的硬件和 软件开发技术。其中,嵌入式系统技术就是很主要的一种。嵌入式系统技术以 计算机技术为基础。以应用为中心,构建的系统将应用程序、操作系统与硬件 集成在一起,能满足对功能,可靠性、成本、体积、功耗等方面的严格要求。 本文对如何用嵌入式系统技术来构建测报终端作出了详细的讨论,并给出 了具体的设计过程。首先对终端功能需求进行了分析,并提出总体设计规划, 划分功能模块。在对目前比较常见的几类嵌入式处理器进行分析后,选择了性 价比高的s u m s a n gs 3 c 4 4 8 0 x 微处理器作为本终端的硬件核心。然后对两 种主要的嵌入式实时操作系统i - l c o s i i 和 【c l i n u x 进行了比较。在重点对两者 任务调度方式进行了分析对比之后,“c o s i i 以其内核精简、所需存储空间小、 实时性好、可靠性高等特点,被选为本终端的操作系统,并对其实时性做了进 一步的研究分析。 接着详细论述了如何利用嵌入式系统技术来设计终端。硬件层设计主要介 绍了存储器系统电路,串口通信电路,u s b 电路,电源电路,l c d 显示屏及键 盘电路。软件层设计重点介绍了p c o s - i i 在s 3 c 4 4 b o x 上的移植过程和启动代 o q e e 四川大学硕十学位论文 码的编写,然后详细讨论了如何利用p c o s 提供的功能来设计应用程序,并 结合终端分析了使用“c o s i i 进行系统和任务管理后提升终端性能的原因。 改进后的终端以嵌入式微处理器s 3 c 4 4 b o x 为核心来构建硬件层,具有功 能强大、易于扩展等特点;使用嵌入式实时多任务操作系统p c o s i i 进行系统 资源和任务管理,保证了终端的实时性、可靠性和稳定性,也提高了终端运行 效率。 最后对本论文进行了总结,并对下一步开发的内容和方向提出了设想。 关键词:水情自动测报、嵌入式系统、实时操作系统、uc o s i i 四川大学硕士学位论文 r e s e a r c ho f h y d r o l o g i c a la u t o m a t i c c o l l e c t i o na n d t r a n s m i s s i o nt e r m i n a lb a s e do ne m b e d d e d o p e r a t i o n s y s t e m t c o s - i i p a t t e mr e c o g n i t i o na n di n t e l l i g e n ts y s t e m g r a d u a t ea il o n gt u t o rz h o ux i n z h i t h ea u t o m a t i cc o l l e c t i o na n dt r a n s m i s s i o no fh y d r o l o g i c ,a sam o d e m t e c h n i q u eo fr e a l - t i m ec o l l e c t i o n , t r a n s l a t i o na n da n a l y s i so fh y d r o l o g i c ,i sa l l e f f e c t i v ew a yt of o r e c a s ta n dc o n t r o lt h ef l o o di nr i v e rb a s i n so ra l lr e s e r v o i r sa n d m a k er a t i o n a l u o f w a t e rr e s o u l c e i t i s o n e o f a i m s o f m o d e m h y d r o l o g y h o w e v e r , m a n yo f p r o d u c t sf i r ed e s i g n e d 谢t i lm c u w h i c hm a k e st h e mh a v et h ea d v a n t a g eo f c h e a pa n de a s yt od e s i g n w i t ht h ei n c r e a s eo ff u n c t i o n s ,t h es y s t e mb e c o m e sm o r e a n dm o r ec o m p l i c a t e s oi t sn e e e s s o r yt or e b u i l di tw i t hn e w t e c h n i q u e w i t ht h ed e v e l o p m e n to fe l e c t r o n i ct e c h n i q u e ,e m b e d d e dt e c h n o l o g yh a sb e e n w i d e l yu s e di na l lk i n g so ff i e l d s ,w i t hr e s p e c tt oi t ss m a l ls i z e ,h i g hp e r f o r m a n c e , 1 l i g hr e l i a b i l i t ya n do r i e n t e do b j e c t i nt h i s p a p e r , am e t h o dt h a tc o n s t r u c t i n gh y d r o l o g i ct e r m i n a lb yu s i n g e m b e d d e dt e c h n o l o g yi sg i v e nu p f i r s tt h ed e m a n do ft h et e r m i n a li sa n a l y s e d ,a n d t h es y s t e mf u n c t i o ng o a l sa n dr e q u i r e dp e r f o r m a n c ef i r ec o n f i r m e d i _ , c o s i i , w h i c hh a sm a n ya d v a n t a g e s ,s u c ha sf r e es o u r c ec o d e ,p r e e m p t i v ek e r n e l ,e a s yt o t r a n s p l a n t , h i g hs t a b l b i l i t y , r e l i a b i l i t y , i su s e d a so so f t h et e r m i n a l ,a f t e rc o n t r a s t i n g 、i t l li _ t c l i n u xi nt h ew a yo f s c h e d u l i n g t h e nh a r d w a r ea n ds o f t w a r ed e s i g n sa r ei n t r o d u c e di n d e t a i l i ti sd i s c u s s e d t h a tt h es 3 c 4 4 b o xa n di t s p e r i p h e r a lc i r c u i t s ,m e m o r ys y s t e m c i r c u i t , c o m m u n i c a t i o nc i r c u i t ,l c dd i s p l a yc i r c u i t ,k e y b o a r dc i r c u i ta n dp o w e rc i r c u i t i h 四川大学顽 学位论文 t h e ni tl b c u s e so nt h ep l a n to fp c o s i ii ns 3 c 4 4 b o xa n dt h ep r o g r a mo f b o o t l o a d e r a f t e r 也a t it h ed e s i g no fa p p l i c a t i o ns o f t w a r ei sm a i n l yi n t r o d u c e d a n d t h er e a s o nw h yt h et e r m i n a lb e c o m e ss t r o n g e ri sa n a l y z e d u s i n gm i c r o p r o c e s s o rt od e s i g nh a r d w a r es y s t e m ,w h i c hm a k e st h et e r m i n a l h a st h ea d v a n t a g eo f h i g hp e r f o r m a n c ea n de a s yt ob ee x p a n d e d a l lo f t h et a s k sa n d r e s o u r c c sa l em a n a g e db y 扯c o s i i ,ar e a l t i m eo p e r a t i o ns y s t e m ,w h i c hm a k e s t h et e r m i n a lm o r er e l i a b i l i t y , a n da l s oi m p r o v e se f f i c i e n c y f i n a l l y , t h ed e s i g na n dt h ep r o s p e c ti nt h ef u r o r ea r es u m m a r i z e d k e yw o r d s :h y d r o l o g i ca u t o m a t i cc o l l e c t i o na n dt r a n s m i s s i o n 、e m b e d d e d s y s t e m 、r e a l t i m eo p e r a t es y s t e m 、i _ t c o s - i i i v 四川大学碗十学位论文 1 绪论 水利行业是一个历史十分悠久的行业,同时也是信息十分密集的行业。一 方面,水利部门要向国家和相关行业提供大量的水利信息,如汛情、旱情信息 等,另一方面,水利本身也离不开相关行业的信息支持,如气象信息、地理地 质信息等等。当今信息技术飞速发展,对水利信息的采集、处理、共享等方式 都产生了很大的变化。1 9 9 8 年,国家提出了大力建设中国的数字水利的宏伟目 标。“数字水利”是由各种信息的数据采集、传输、存储、模拟和决策等子系统 构成的庞大系统,可以根据不同需要,对不同时间的数据进行检索、分析,透 视水文环境要素的变化规律,实现数字仿真预演,为防洪抗旱、流域内水量调 度、水土流失监测、水质评价等提供决策支持服务【1 1 。在数字水利的各种实例 中,水情自动测报系统就是很典型的一种。 1 1 水情自动测报系统的作用及发展现状 我国是一个洪水灾害严重的国家,大小洪水连年不断。这除了因为植被以 及天然蓄洪湖泊遭到严重破坏,现有土建防洪工程尚不足以抗衡特大暴雨洪峰 外,报讯不及时、水情不明也是导致灾情加重的重要原因。建设水情自动测报 系统是一项投资少、工期短而又十分有效的非土建工程性的防洪措施【3 j 。 水情自动测报系统是水情信息实时收集、处理的自动化系统,它应用现代 化无线电通信技术和电子计算机技术完成大江、大河和水库流域内的降雨量、 水位、流量、闸门开度等参数的收集处理,以实现防洪、报讯、供水和发电等 方面的优化调度,对水库江河的防洪、报警、增加水电站的发电量等均能发挥很 大作用【3 1 。 与传统的人工水文数据收集系统相比,水情自动测报系统有以下优点: ( 1 ) 水文数据的传输准确及时,从而为预报调度提供可靠的第一手资料; ( 2 ) 洪水预报和优化调度联机运行,缩短时间,提高了预报精度; 四川大学硕学位论文 ( 3 ) 增长了预见期,使调度决策更合理。 一个基本的水情自动测报系统,往往由若干个遥测站( 即本文中的测报终端) 和一个中心站组成。由遥测站自动实时采集、存储和发送水情数据,中心站接 收数据,并进行相关处理,如存储、打印等。此外,中心站需要及时对洪水过 程进行预报,作出防洪调度方案。 由于水情自动测报系统带来的巨大作用,很多国家都在这方面作了大量研 究和开发。其中美国和日本是较早开始自动测报技术开发的国家,2 0 世纪6 0 年代就已经开始进行研究、开发,其产品在7 0 年代后期逐渐成熟而进入国际市 场。9 0 年代以后,国际上多家公司推出了功能强大、应用范围广泛的产品,在 水利、水电、气象以及各种要求遥测水文、气象参数的领域得到广泛应用p j 。 我国水情自动测报技术的开发研制始于2 0 世纪7 0 年代中期,9 0 年代是我 国这一专业技术发展较快的时期,一些较大的系统相继建成。目前国内几个主 要的研制单位有:中国水利水电科学研究院、南京水利水文自动化研究所、国 电南瑞水情等,这些单位的测报系统在国内被广泛使用。 从水情自动测报系统的发展来看,技术的发展主要有两个方面:第一是硬 件系统的构建,即所采用的硬件技术。这方面的发展主要由微电子等技术的发 展决定。最初的产品由分立式电子元器件等组装而成,随着单片机芯片的出现 和发展,单片机在测报系统上得到了广泛的应用。更多更新的电子技术也将应 用于测报系统中。第二是所采用的通信技术。最初使用较多的是电台、电报或 有线电话等方式,随着数据传输方式的多样化,g s m 、卫星通信等技术以其方便、 灵活、可靠等优点被广泛使用。 但是经过分析市场上主要的产品,我们发现通信技术是各单位开发产品时 的考虑重点,以南瑞水情的n a r i 系列水情测报系统为例,该产品就提供了多种 通信方式,如海事卫星c 站( i n m a r s a t c ) 、v a s t 卫星、全球通卫星、北斗卫星、 公用网( g s m 、p s t n 、g p r s 、c d m a 等) 、扩频通信等,部分原因是因为水情测报 终端比较多的用于野外、偏远地区,甚至是阻隔较严重的多山地区,需要考虑 在地形复杂的情况下如何将采集到的水情数据准确、及时的传送到中心站。而 硬件系统发展就不如通信技术那么迅速,大多数产品还是采用单片机系统来构 建,虽然具有设计简单、成本低等优点,但随着功能的增加,逐渐显露出了很 2 四川i 大学硕士学位论文 多缺点,如功能不够强大、可扩展性差。此外,由于单片机系统开发中,硬件 和软件联系紧密,软件开发是依赖于硬件开发的,必须等到硬件设计的完成才 开始,软件开发人员也需要掌握一定的硬件知识,增加了开发难度。而且当系 统需要升级或增加功能时,都要重新开发,浪费了人力物力。 随着微电子技术的进步,芯片的制造成本和价格都大大降低,而功能却大 大增强了,1 6 位和3 2 位嵌入式处理器逐渐成为电子产品设计的主流。同时, 由于现代电子设备的复杂性,在微处理器上运行操作系统可以使软件开发变得 方便和快速。在这种环境下,嵌入式系统技术应运而生,并被应用到各种领域。 1 2 嵌入式系统发展综述 嵌入式系统( e m b e d d e ds y s t e m s ) 是指以应用为中心、以计算机技术为基础, 软件硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等严格要 求的专用系统,是将应用程序、操作系统与硬件集成在一起的系统【5 1 。 嵌入式系统的出现已经有3 0 多年的历史,嵌入式系统技术也经历了几个发 展阶段,大致可以分为下面3 个阶段: 第一阶段是以单芯片( 比如微控制器) 为核心、一般没有操作系统支持的系 统。这种系统主要用于工业控制系统中,为了达到高效控制,一般使用汇编语 言编写程序。这一阶段的主要特点是:系统结构和功能相对单一、处理效率低、 存储容量较小、也没有丰富的用户接口,但是使用简便、价格低。随着控制工 业的现代化以及信息家电的新起,对处理器的速度、存储空间等提出了较高要 求,这种系统显然远远不能适应。 第二阶段是以嵌入式操作系统为主要标志的嵌入式系统,这种软件方面的 变化是由微电子技术的高速发展引起的。随着高性能嵌入式处理器和大容量存 储器的出现,在系统中使用操作系统来进行管理变得可能。这阶段系统的主要 特点是:硬件部分以处理器为核心、软件部分以操作系统为核心,系统高度模 块化和有良好的可扩展性,支持很多复杂性的应用,如文件和网络、图形窗口 等,嵌入式应用软件丰富。 第三阶段以i n t e m e t 为标志,这个阶段正处于快速发展期。前面的两阶段 四川大学硕十学位论文 一般采用各种控制总线组成分布式网络,随着i n t e m e t 的迅猛发展,i n t e m e t 技 术与信息家电、工业控制等结合日益紧密,嵌入式设备与i n t e m e t 的结合代衷 着嵌入式系统技术的发展方向。 随着水利行业的迅速发展,水情测报终端要实现的功能越来越多,对终端 的性能也提出了更高的要求,采用嵌入式系统技术来开发测报终端无疑足很有 意义的。与单片机构成的测报终端相比,采用嵌入式系统技术来构建的终端有 以下优点: 1 采用嵌入式微处理器作为硬件核心,使得处理能力和运行速度大大超过 单片机系统,并且具有丰富的i o 接口,大大提高了设备扩展能力:同时,由 于微处理器体积小而且片内集成的功能较多,使得硬件电路设计非常简单,也 减少了因线路过多而带来的干扰,增强了可靠性。而且由于电路板可以做的更 小,也减少了功耗。 2 采用嵌入式实时操作系统( r t o s ) 作为软件开发的核心,利用操作系统 的功能进行系统的任务和资源管理,提高了系统的实时性、可靠性和稳定性。 3 开发难度大为降低,速度也大大加快。由于操作系统能提供丰富的用户 程序接1 :3 函数( a p i ) ,所以简化了应用程序的编写。而且用驱动程序来提供对外 部设备的操作手段,当需要改变外设或升级时,只需要修改或增加相关的驱动 即可,从而大大增强终端的升级能力。 1 3 本论文主要工作 本论文将主要从硬件设计和软件设计两方面详细讨论如何用嵌入式系统技 术来实现水情自动测报终端的开发,具体内容有: i 对终端功能需求进行分析,设计出总体方案,并划分功能模块; 2 嵌入式处理器是硬件部分的核心,本文将就比较常见的嵌入式处理器进 行分析,然后选择合适的处理器作为终端的硬件核心; 3 从硬件设计方面论述如何设计电路从而实现终端所要完成的功能; 4 嵌入式操作系统是软件开发的基础和平台,同时也管理系统资源和任务, 是整个终端的核心,对终端的整体性能的提高起着很重要的作用。本文将对主 4 四川大学硕士学位论文 要的几种嵌入式操作系统进行分析对比,从中选出最为合适的作为终端的操作 系统: 5 要使操作系统能在硬件电路上正常运行,还需要对其代码进行修改,以 及编写新的代码,这个过程也叫操作系统在微处理器上的移植。本文将对该移 植过程进行重点讨论和分析,包括移植代码和启动代码的具体编写。 6 采用操作系统进行软件开发与一般的软件开发有很大的区别,本文将详 细讨论如何根据操作系统的特点来开发应用程序,并分析在测报终端上用操作 系统对任务和资源进行管理的优点。 1 4 本章小结 本章首先分析了水情自动测报系统的作用以及发展过程,然后指出了用单 片机构建测报终端的缺点,并分析了嵌入式系统的发展,讨论了用嵌入式技术 来开发的优点及意义,最后给出本论文的主要内容。 四l i l 大学硕士学位论文 2 终端总体设计及实时性研究 水情测报终端主要目的是采集水情信息、存储以及传送至中心站。水情采 集采用间隙工作方式,间隔时间可在终端上和通过中心站远程设置并修改。水 情信息能在显示屏上及时显示,可用u 盘下载,并可以通过g s m 短信方式传 送至中心站。传送方式可按定时发送方式,也可以由中心站发命令后进行发送。 本章的主要内容是讨论如何从总体上设计硬件和软件来实现以上目的。此 外,嵌入式处理器和嵌入式操作系统分别是硬件层和软件层的核心,本章也将 对如何选取两者以及操作系统的实时性进行详细的分析研究。 2 1 总体设计 终端设计主要分三个部分:硬件层、中间层和软件层,如图1 所示。 r 丽函群蓐 l 。一“。一一j 软件层 廊用柠序接匹数( a p ) l 一一j 炙时拶坼乐吮p c 幻i i l 一。,j 中间层 硬件层 一。一。”。一 图1 终端总体结构图 1 硬件层终端硬件层主要由嵌入式处理器、存储器、串口通信、u s b 适配器、f l a g 接口、l c d 显示和键盘输入等电路组成。硬件层的核心是处理 器。终端硬件部分整体构架如图2 所示。 6 茹 四川大学碗十学位论文 图2 系统硬件部分总体构架 存储器部分主要包括:f l a s h r o m ,用来存放操作系统以及应用程序等代 码,作用类似p c 机上的硬盘;s d r a m ,作为系统运行时的内存;e e p r o m , 用来保存采集到的水情信息。 串1 :3 通信部分主要由r s 一2 3 2 接1 :3 和g s mm o d e m 组成,处理器经 r s 一2 3 2 接口连接m o d e m 。通信部分主要用来和中心站发送和接收数据。 u s b 接1 :3 主要是为了便于用户用u 盘下载保存在终端上的水情信息。 j t a g 接口可以实现终端的实时在线调试。键盘和液晶屏则是常用的输入 输出设备,用户可以直观地了解水情等信息以及对终端进行操作。 硬件层的具体设计将在第三章详细叙述。 2 中间层中间层主要包括启动代码和驱动程序启动代码完成处理器 相关的初始化工作,如寄存器的设置、工作模式的设置等,它把处理器由上电 时的默认状态变成系统要求的工作状态,类似p c 机上的b i o s 的作用。驱动 程序主要任务是对相应的设备进行初始化,以及向软件层提供对设备进行操作 7 四川大学硕十学位论文 的接口函数。本设计中驱动程序主要有i i c 设备驱动程序、l c d 驱动程序以及 串口驱动程序。增加中间层主要是为了将软件层与硬件层隔离,通过驱动程序 提供的接口函数,使得系统软件与具体硬件无关。这样,当需要对终端进行升 级时,只需要修改或增加相应的驱动即可,不需要对软件层做大的改动,因而 大大增强了终端的升级能力。 3 软件层终端软件层由嵌入式实时操作系统、应用程序接口函数( h v r ) 和应用程序组成。操作系统是软件层的核心,管理着终端的资源和任务,也是 应用程序的开发平台。应用程序完成终端要实现的功能,主要包括以下几点: 水位采集和存储任务,u 盘下载任务负责将数据发送到u 盘,通信任务实现与 中心站通信的功能,键盘处理任务使得用户能对参数进行设置或修改,l c d 显 示任务就是将当前的水情信息实时的在终端上显示出来。 中间层和软件层的设计将在第四章详细论述。 2 2 处理器的选择 处理器是硬件层中最核心的部分,它的功能和性能直接影响着整个系统, 它的选择制约着外围器件的选择,也影响系统软硬件的设计。所以,设计时首 先需要分析各种嵌入式处理器的特点,并结合水情测报终端的应用环境来进行 选取。目前,嵌入式处理器主要分为下面几类p j : 1 嵌入式微控制器( m e u )嵌入式微控制器又称为单片机,它一般将 c p u 、存储器( 少量的r a m 、r o m 或两者都有) 、总线、定时器计数器、i o 口等各种必要的功能模块封装在同一集成电路哩,是工业控制中的主流产品。 代表性的包括8 0 5 1 、m c s 9 6 、6 8 k 系列等。 2 嵌入式微处理器( m p u )嵌入式微处理器的基础是通用计算机中的 c p u 。在应用中,一般是将微处理器装配在专门设计的电路板上,在母板上只 保留和嵌入式相关的功能,这样可以满足嵌入式系统体积小和功耗低的要求。 目前的嵌入式处理器主要包括:p o w e r p c 、m o t o r o l a6 8 0 0 0 、a r m 、m i p s 系列 等。 3 嵌入式数字信号处理器( d s p ) d s p 是专门用于信号处理方面的处 四l i l 大学硕士学位论文 理器,在系统结构和指令算法方面作了特殊设计,具有很高的编译效率和指令 执行速度,在数字滤波、谱分折、图像处理分析等领域被广泛使用。 4 嵌入式片上系统( s o c ) s o c 的特点是实现了软硬件无缝结合,直接 在处理器片内嵌入操作系统的代码模块。除了个别无法集成的器件之外,整个 嵌入式系统大部分均可集成到一块或几块芯片中,应用系统电路变得很简洁, 不仅减少了体积和功耗,而且提高了可靠性和设计生产效率。 综合分析上面几类处理器:单片机的缺点在前面已经讨论过;d s p 的功能 虽然强大,但在本终端上用处不大;而s o c 技术开发难度较大。只有微处理器 有强大的功能,而且有很多成熟的应用实例,本系统中即选用嵌入式微处理器 为核心来构建测报终端的硬件层。 与p c 市场不同的是微处理器市场厂商众多,产品也异常丰富。微处理器 有许多种内核,如a r m 内核、p o w e r p c 内核、d r a g o nb a l l 内核等,芯片生产 厂家( 如三星、飞利浦) 基于这些内核生产不同型号的微处理器。处理器内核 的选择主要取决于应用的领域、成本、开发难易程度等。对常用的内核比较如 下:a r m 内核价格低、功能比较强大、功耗低,适合于便携式设备等小型系 统;p o w e rp c 内核功能强大、价格高,主要应用于通信、网络等对性能要求 较高的高端系统中;d r a g o nb a l l 内核价格低,性能一般,主要应用于p d a 产 品。本终端将采用基于a r m 内核的微处理器。 在选择微处理器的时候主要考虑以下几个因素:片内资源、外设接口是否 丰富,是否需要a d 或d a 转换器,成本,此外还有开发资料是否丰富以及开 发难易程度等。目前使用相对较多的有三星公司的a r m 7 核微处理器 s 3 c 4 4 b o x 和$ 3 c 4 5 1 0 b ,其中4 4 8 0 是针对手持设备等要求低功耗的产品而设 计,具有片上资源丰富、功耗低等特点,而4 5 1 0 主要是用于低端路由器应用, 其内部集成了一个以太网控制器,具有强大的网络功能,但内部资源不如4 4 8 0 丰富。 考虑到4 4 b o x 性价比高,而且本终端对网络功能要求不高,因此本系统选 用了s 3 c 4 4 8 0 x 。 9 四i i l 大学硕士学位论丈 2 3 操作系统的选择 嵌入式操作系统种类繁多,一般可分为商用型和免费型。商用型操作系统 功能稳定、可靠,有完善的技术支持和售后服务,但往往价格昂贵。免费型的 则在价格方面具有优势,而且网上相关资源比较丰富。 目前几种主要的嵌入式操作系统有1 5 i : 1 v x w o r k s :v x w o r k s 是美国风河公司( w i n d r i v e r s y s t e m ) 的一个实时 操作系统。它的操作系统内核号门为实时嵌入式系统开发而设计,可以为程序 员提供商效的实时多任务调度、中断管理,实时的系统资源管理以及任务间通 信。良好的持续发展能力、高性能的内核以及友好的用户开发环境,使它在嵌 入式实时操作系统领域逐渐占据一席之地,被广泛应用在通信、军事、航空航 天等高精尖技术及实时性要求极高的领域中。 2 w i n d o w sc e :w i n d o w sc e 足微软开发的3 2 位嵌入式操作系统,足从 整体上为有限资源的平台设计的多线程、完整优先权、多任务的操作系统。它 的模块化设计允许它对于从掌上电脑到专用的工业控制器的用户电子设备进行 定制,此外还具有多媒体能力、良好的网络和通信支持等特点。 3 嵌入式l i n u x :l i n u x 是一个成熟而稳定的操作系统,但它并非专为实 时系统而设计。嵌入式l i n u x 就是将目前流行的l i n u x 进行剪裁、修改,使之 能应用于实时系统的一类操作系统。目前有很多种嵌入式l i n u x ,比较主要的 有r t - l i n u x 和i t c l i n u x 。r t - l i n u x 设计了一个高效的可抢先的实时调度核心, 而把l i n u x 作为此核心优先级最低的一个进程运行。i - l c l i n u x 是一个源码开放的 操作系统,它是l i n u x 的一个变种,针对嵌入式应用的特点作了较大的简化和 修改,有稳定、移植性良好、优秀的网络功能等特点,因而特别适用于嵌入式 应用。它和标准l i n u x 的主要区别在于两者的内存管理机制,p c l i n u x 不支持虚 拟内存存储技术。 4 g c o s i i :u c ,o s i i 是一种免费、公开源代码、结构小巧、具有抢占 式可剥夺实时内核的实时操作系统,总是执行就绪队列中优先级最高的任务。 具有执行效率高、占用空间小、可剪裁、实时性能优良、移植性好和可扩展性 强等特点,最小内核可编译至2 k b 。 在这些系统中,v x w o r k s 、w i n d o w sc e 等虽然功能强大,但都是商用型操 1 0 四川大学硕士学位论文 作系统,开发成本高:而l a c l i n u x 和t t c o s - i i 都是免费、公开源代码的操作系 统,而且有很好的性能,因此是选取时主要考虑对象。下面将对l a c o s 1 i 与 “c l i n u x 进行详细对比分析。 2 3 1 肛c o s - i i 与i i c l i n u x 的比较 本节将主要就任务调度策略、文件系统和网络支持、移植过程三个方面对 两者进行比较。 1 任务调度策略。调度策略指以什么样的方式从就绪任务队列中选择任务 来运行,常用的选择规则有按优先级调度和按时间片轮番调度。优先级调度情 况下,每个任务都有不同的优先级,调度时内核总是让处于就绪态的优先级最 高的任务先运行p c o s i i 内核就是采用基于优先级的抢占式调度机制。在一 个任务运行时,如果有一个优先级比它高的任务就绪,那么优先级高的将取代 它而得到运行。这可以通过l a c o s i i 的任务调度的源代码看出来: v o i do s s c h c d ( v o i d ) i n t 8 u y ; o s _ e n t e r _ c r i t i c a l 0 ; 关中断 i f ( ( o s l o c k n e s t i n glo s i n t n e s t i n g ) 一o ) y = o s u n m a p t b l o s r d y g r p ; o s p r i o h i g h r d y = ( i n t g u ) ( ( y “3 ) + o s u n m a p t b l o s r d y t b l y ) ; ( 1 ) 这条语句的任务就是找出就绪态中优先级最高的任务, i f ( o s p r i o h i g h r d yf _ o s p r i o c u r )( 2 ) 如果就绪态中最高的优先 级比当前运行的任务的优先级高,就进行切换 o s t c b h i g h r d y = o s t c b p r i o t b l o s p r i o h i g h r d y ; o s c t x s w c t r + + ; o st a s k _ s w ( ) ; ( 3 ) 这个函数的作用就是进行任务切换 ) o se x i t _ c r i t i c a l 0 ; 朋川大学颂t 学位论文 “c o s i i 中的任务有睡眠态、就绪态、运行态、等待态、以及被中断态5 个状态,o s s c h e d ( ) 的任务就是判断就绪态的任务能否进入运行态( 这5 种状态 详细解释见参考文献1 5 ) 。从上面的源代码呵以看出,肛c o s i i 调度时首先用 语句( 1 ) 找出就绪态中优先级最高的任务,然后用( 2 ) 进行优先级的判断,如果就 绪任务的优先级更高,那就通过语句( 3 ) 进行任务切换,整个调度过程简洁明了。 时间片轮番调度指对每个就绪任务分配相等的处理时间,如果一个运行着 的任务用完了时间片,那么它占用的c p u 将被分配给下一个就绪任务。t t c l i n u x 就是使用这种方式,它是由l i n u x 改造的,其任务调度沿用了l i n u x 的传统。 l i n u x 本身是一个分时性质的操作系统,系统每隔一定时间挂起运行着的任务, 同时产生周期性的时钟计时中断,并通过调度函数决定任务什么时候可以拥有 它的时间片,在时f h 】片用完的时候进行任务切换。我们可以通过分析l i n u x 调 度任务的源代码来了解f 1 c l i n u x 的调度过程: v o i ds c h e d u l e ( v o i d ) i n tc : s t r u c tt a s k _ s t r u c t 木p : s t r u c tt a s k s t r u c t p r e y , n e x t :p r e y 指向正在运行的任务, n e x t 指向下一个准备运行的 u n s i g n e dl o n gt i m e o u t = 0 : i n tt h i s c p u = s m p _ p r o c e s s o r i d 0 ; i f ( b h _ a c t i v e b h m a s k )处理内核中的工作 i n t r _ c o u n t = 1 : d o _ b o t t o m _ h a l f ( ) : i n t r _ e o u n t = 0 : ) r u n _ t a s k q u e u e ( t q _ _ s c h e d u l e r ) : 。 n e e d _ r e s c h e d = 0 : p r e v 2c u r r e n t : c l i ( ) :关中断,准备开始处理当前任务 1 2 四川大学硕十学位论文 i f ( ! p r e y 一 c o u n t e r p r e y 一 p o l i c y = = s c h e d r r ) ( 1 ) 如果当 前任务使用时间片轮转策略 p r e y 一) c o u n t e r = p r e y 一 p r i o r i t y ;,重新设定时间片,p r i o r i t y 为 任务的基本优先级,c o u n t e r 为任务剩余的时间片, m o v e l a s t r u n q u e u e ( p r e y ) :( 2 ) 就移动到队列末尾 s w i t c h ( p r e y 一 s t a t e ) c a s et a s k _ i n t e r r u p t i b l e : ( 3 ) 如果是可被中断型的 i f ( p r e y 一 s i g n a l p r e y 一 b l o c k e d ) ( 4 ) 而且接收过中断信号 g o t om a k e r u n n a b l e :( 5 ) 就设置为运行态 t i m e o u t = p r e y 一 t i m e o u t : i f ( t i m e o u t ( t i m e o u t t i m e o u t = o :( 6 ) 运行时间用完的也置为运行态 t i m e o u t = 0 : m a k e r u n n a b l e : p r e y 一) s t a t e = t a s k - r u n n i n g : b r e a k : d e f a u l t : ( 7 ) 其它的就被从队列中移走 d e l f r o m _ r u n q u e u e ( p r e v ) : c a s et a s kr u n n i n g : ( 8 ) 运行态的状态不变 ) p = i n i t t a s k n e x t _ r u n : s t i 0 :开中断 c = 一1 0 0 0 : n e x t = i d l e _ t a s k ; w h i l e ( pl _ & i n i t t a s k ) i i ( 9 ) 遍历队列,找到最需要运行的任务。 f i n tw e i g h t = g o o d n e s s ( p ,p r e y ,t h i s _ c p u ) : i f ( w e i g h t c ) 四川大学硕十学付论艾 c = w e i g h t 。n e x t2p ; p2p - n e x t r u n : i f ( ! c ) h o o ) 女h 果所有的任务都用完时间片 f o r e a c h t a s k ( p ) 1 ( i i ) 重新计算时间片 v - c o u n t e r = ( p - ) c o u n t e r 1 ) + p - p r i o r i t y ; i f ( p r e y ! = n e x t )( 1 2 ) 如果最需要运行的任务不是当前的任务 s t r u c tt i m e r l i s tt i m e r ; k s t a t c o n t e x t s w t c h + + : i f ( t i m e o u t ) fi n i t t i m e r ( & t i m e r ) : t i m e r e x p i r e s = t i m e o u t : t i m e r d a t a = ( u n s i g n e dl o n g ) p r e v ; t i m e r f u n c t i o n5p r o c e s s t i m e o u t : a d d _ t i m e r ( & t i m e r ) : ) g e t _ m m u c o n t e x t ( n e x t ) : s w i t c h _ t o ( p r e y 。n e x t ) :( 1 3 ) 就挂起原来的,并使新的任务运行 i f ( t i m e o u t ) d e l t i m e r ( & t i m e r ) : r e t u r n : l i n u x 中的任务有4 种状态:运行态( 任务正在或准备运行) ,等待态( 等待 事件的发生或资源,分可被中断和不可被中断两种) ,停止态( 任务被中止) 和死 亡态。与p c o s i i 中只有一个任务可以处于运行态不同的是,l i n u x 多个任务 都可以处于运行态,因此调度过程特别复杂,主要分3 步:第一步是处理当前 正运行的任务,比如语句( 1 ) 判断当前任务是否是使用轮转策略,是就移动到队 1 4 四川大学硕士学位论文 列末尾( 语句2 ) 。如果是可被中断型的,而且接收过中断信号,就设置为运行态 ( 语句3 ,4 ,5 ) 。第二步是查找任务队列,找出最需要运行的任务( 语句9 ) 。第三 步就是判断当前任务是否是最需要运行,是就要进行任务切换( 语句1 3 ) 。 l i n u x 的调度方式强调的是对各任务的c p u 使用时间进行公平分配,其中 有一个关键问题就是时间片值的设置问题,如果设置大了,任务需要等待的时 间就要长一些,从而降低了实时能力;而如果小了,会导致频繁的时间片中断 和调度,增加7 处理器自够员外开销,也影响系统的运行效率。 由上述分析可以得知,u c ,o s i i 内核是针对实时系统的要求设计实现的, 可以满足较高的实时性要求;而c l i n u x 则在结构上继承了标准l i n u x 的多任 务实现方式,要实现很好的实时性效果则还需要对内核进行一些改变。对比两 段代码可以看出i t c o s i i 任务调度的实现更简单一些,使得任务的切换速度更 快。此外还有一个问题就是l i n u x 采用动态优先级的方式,任务的优先级是随 时可以变化的。根据终端的使用情况来分析,终端各种功能的重要性都不同, 比如向中心站发送信息就要比用u 盘下载数据要重要,如果用i t c l i n u x 的话可 能导致优先级降低而不能被及时处理。i j c o s i i 就能避免这种情况,它使用固 定优先级,只需要把发送信息任务设为高优先级就可以
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 某铝材厂安全生产准则
- 2026大一运营部面试题及答案
- 2026服务企业专员面试题目及答案
- 人工智能驱动的个性化理财方案
- 2026杭州编外面试题目及答案
- 2026机车公司面试题及答案
- 交易合规性验证机制
- 工艺礼品公司市场经理述职报告
- 人工智能在银行客户画像中的构建技术
- 少儿古筝月度考级报名数据统计存档复盘台账方案
- 施工现场隐患及违章照片集
- 装修工程退场协议书模板
- 考研管理学综合复习资料
- 2025食堂承包合同书范文
- 《25.3相似三角形》教学设计
- 国家级紧急医学救援队伍建设规范
- JCJT3-2017 水泥机械设备安装工程施工及验收
- 人教版七年级下册数学训练100题-含答案
- 急诊科抽搐和癫痫处理方法
- 福建省流动人口信息登记表-新版实用文档
- 农机修理工认证考试试题题库
评论
0/150
提交评论