已阅读5页,还剩88页未读, 继续免费阅读
(通信与信息系统专业论文)基于ethernet的嵌入式水情测报系统中网络传输研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 为实现水资源的节约和合理利用,采用科学的测量原理,利用网络通信技术,实现水 情数据的自动测报,是水利现代化发展的必然趋势。目前我国的水情测报系统,正在向网 络化方面发展。 本课题是根据水利部水利科技重点项目“灌区微机网络测量与控制系统研究”,结合 河北省涿鹿县的实际情况,进行基于e t h e m e t 的嵌入式水情测报系统网络传输的研究。通 过在水情测报仪中构建嵌入式w e b 服务器,水情数据通过以太网方式接入i n t e r n e t ,用户 可以通过浏览器实时查询水情信息,实现基于e t h e m e t 的水情实时测报。 论文对嵌入式水情测报系统的总体结构设计进行了阐述,涉及到各模块原理、组成和 网络传输等相关技术;介绍嵌入式水情测报系统的硬件系统,包括以a r m 微处理器为核心 的中央处理模块、存储模块、网络模块及电源电路的设计;论述水情测报系统的软件设计, 实现p c o s i i 操作系统的嵌入和移植;研究以太网接1 2 1 模块的设计与实现;移植了适合小 型系统的t c p i p 协议栈。l ,w i p 协议栈,构建嵌入式w e b t i 务器,通过以太网实现了水情 数据的远程传输。分析和讨论了系统调试中遇到的问题,并提出了下一步的开发设想。目 前该水情测报系统已运行于以太网,具有良好的应用和推广价值。 关键词:以太网、嵌入式、实时操作系统、g c o s i i 、l 胛i p 协议栈、w e b 服务器 a b s t r a c t t or e a l i s et h ee c o n o m ya n dr e a s o n a b l eu s eo f h y d r o l o g i c a lr e s o u r c e i ti si n e v i t a b l ef o rt h e w a t e rc o n s e r v a n c ym o d e r n i z a t i o nt oa d o p ts c i e n t i f i cm e a s l l l t h e o r y , n e t w o r kc o m m u n i c a t i o n t e c h n o l o g ya n dr e a l i s e sa u t o m a t i cm o n i t o r i n ga n df o r e c a s to ft h eh y d r o l o g i c a ld a t e a tp r e s e n t , h y d r o l o g i c a lm o n i t o r i n ga n df o r e c a s t i n gs y s t e mi sd e v e l o p i n gi nt h ed i r e c t i o no f t h e n e t w o r k t h et h e s i sw o r k so ne m b e d d e dh y d r o l o g i c a lm o n i t o r i n ga n df o r e c a s t i n gs y s t e mw i t h n e t w o r kt r a n s m i s s i o nt e c h n o l o g yr e s e a r c h ,b a s e do ne t h e m e ta n da c c o r d i n gt ot h ew a t e r c o n s e r v a n c ys c i e n t i f i cm a i np r o j e c to ft h ew a t e rm i n i s t r y s t u d y0 1 1t h es y s t e mo fc o m p u t e r n e t w o r km e a s u r i n ga n dc o n t r o l l i n gi ni r r i g a t e dd i s t r i c t a n dt h ec o n d i t i o no fz h u l uc o u n t r y , h e b e ip r o v i n c e b yc o n s t r u c t i n gw 曲s e r v e ri nt h eh y d r o l o g i e a lm o n i t o r i n ga n df o r e c a s t i n g a p p a r a t u s ,t h eh y d r o l o g i c a dd a t ec a na c c e s st oi n t e m e tb ye t h e m e ls op e o p l ec a nl o o ku pw a t e r i n f o r m a t i o ni nr e a lt i m eb yu s i n gb r o w s e r t h es y s t e mh a sr e a l i s e dr e a l - - t i m em o n i t o ra n d f o r e c a s to f w a t e rd a t eb a s e do ne t h e r n e t t h et h e s i si n t r o d u c e sm ew h o l ec o n s t r u c t i o no f t h i se m b e d d e dh y d r o l o g i c a lm o n i t o r i n ga n d f o r e c a s t i n gs y s t e m ,r e f e r r i n gt ot h et e c h n o l o g yo f t h et h e o r ya n dt h ec o n s t r u c t i o no f e a c hm o d u l e a n dn e t w o r kt r a n s m i s s i o n ,d i s c u s s e st h eh a r d w a r eo ft h i se m b e d d e dw a t e rm o n i t o r i n ga n d f o r e c a s t i n gs y s t e m ,i n c l u d i n gt h ed e s i g no ft h ec e n t r a lp r o c e s s i n gm o d u l eb a s e do na r m a s m i c r o - p r o c e s s o r , t h em e m o r ym o d u l e ,t h en e t w o r km o d u l ea n dt h ep o w e rs u p p l yo ft h es y s t e m t h i st h e s i si n t r o d u c e st h es o f t w a r ed e s i g no f t h i sh y d r o l o g i c a lm o n i t o r i n ga n df o r e c a s t i n gs y s t e m , r e a l i s i n g t h ee m b e d i n ga n dt r a n s p l a n to ft h er e a l - t i m e o p e r a t i n gs y s t e m p c o s i i , i n v e s t i g a t e st h ed e s i g na n dr e a l i z a t i o no ft h ee t h e m e ti n t e r f a c em o d u l e ,e x p l a n t st h et c p i p p r o t o c o l - - l w i pf l i g h t - w e i g h t ) t c p i ps t a c kw h i c h s u i t st os m a l ls y s t e m ,d e s i g n se m b e d e dw 曲 s e r v e rb a s e do nl 胛i ps t a c k r e a l i s i n gl o n g - d i s t a n c et r a n s m i s s i o no fw a t e rd a t eb ye t h e m e t t h e t h e s i sa n a l y s e sa n dd i s c u s s e st h ep r o b l e mf e l la c r o s si nt h es y s t e md e b u g , a n db r i n g s f o r w a r d t h en e x ts u p p o s i t i o n a tp r e s e n t ,t h et r a n s m i s s i o no ft h eh y d r o l o g i c a lm o n i t o r i n ga n df o r e c a s t i n g s y s t e mh a sa l r e a d yw o r k e di ne t h e m e ts u c c e s s f u l l y ,w h i c hh a sf a v o r a b l ea p p l i c a t i o n a n d s p r e a d a h l ev a l h e k e y w o r d :e t h e m e t ,e m b e d d e d ,r e a l - t i m eo p e r a t i n gs y s t e m ( r t o s ) ,u c o s i i ,l w l pp r o t o c o l s t a c k w e bs e r v e r 学位论文独创性声明: 本人所呈交的学位论文是我个人在导师指导下进行的研究工作及取 得的研究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论 文中不包含其他人已经发表或撰写过的研究成果。与我一同工作的同事 对本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢意。 如不实,本人负全部责任。 论文作者( 签名) :兰j 垒如z 年;月j 7 日论文作者( 签名) :幺3 星加z 年;月j 7 日 学位论文使用授权说明 河海大学、中国科学技术信息研究所、国家图书馆、中国学术期刊 ( 光盘版) 电子杂志社有权保留本人所送交学位论文的复印件或电子文 档,可以采用影印、缩印或其他复制手段保存论文。本人电子文档的内 容和纸质论文的内容相一致。除在保密期内的保密论文外,允许论文被 查阅和借阅。论文全部或部分内容的公布( 包括刊登) 授权河海大学研究 生院办理。 论文作者( 签名) :盔1 2 1 立 。年弓月,7 日论文作者( 签名) :盘:! 垒7 6 年弓月日 褥海大学t 学硬士学位论丈 第一章绪论 第一章绪论 1 1 课题背景及意义 水资源是生命的源泉,是生态系统不可缺少的要素,同土地、能源等构成人类经 济与社会发展的基本条件。随着人口与经济的增长,世界水资源的需求量不断增加, 水环境的不断恶化,水资源紧缺已成为共同关注的全球性问题。1 9 9 7 年1 月,联合国 在对世界淡水资源的全面评价的报告中指出:缺水问题将严重地制约2 l 世纪经济 和社会发展,并可能导致国家间的冲突。 我国的水资源状况也不容乐观。人均占有水量只有2 3 0 0 立方米,约为世界人均水 量的四分之一,接近国际标准规定的严重缺水边缘( 人均拥有水量2 0 0 0 立方米) 。此外, 由于工农业盲目和不科学的发展,水资源污染问题在我国也显得特别突出。水资源短 缺和水污染并存的局面,严重地威胁着人民生活和经济的发展,类似黄河断流和淮河 大面积污染的生态环境灾害,均对受影响地区经济发展和生态环境造成巨大冲击,经 济损失惨重。同时,我国地域辽阔,地形复杂,又地处亚洲季风区,气候异常,河流 来水量变化剧烈,水、旱灾害发生频繁,大小洪水连年不断。如1 9 9 8 年长江流域、松 花江和嫩江流域发生的大面积特大洪水造成了历史上罕见的水灾,给人民的生命财产 造成了严重的损失。究其原因除了有植被及天然蓄洪湖泊遭到严重破坏,现有土建防 洪工程尚不足以抗衡特大暴雨洪峰以外,报汛不及时,水情不明也是导致灾情加重的 重要原斟。1 。 因此,如何合理利用、管理和开发水利资源就成为关系到国民经济可持续发展的 重要问题。水利资源的合理利用,除了在兴修水利工程、提高全民节水意识等方面努 力外,更为重要的是运用新兴的信息技术,预先准确的掌握和了解各种水情和天气信 息,从而做出正确的调度,防患于未然,尽可能避免或减少洪涝灾害带来的损失。如 今,测量、通信、计算机、数据库等技术发展十分迅猛,并对各个行业的发展起到了 巨大的推动作用。如何将这些新兴的信息技术应用于水利管理,实现水利与环境管理 以及公用设施管理的信息自动化,就成为当今水利建设的重要环,课题就是在这样 的情况下产生的。 水情自动测报是采用现代科技对水文信息进行实时遥测、传送和处理的专门技术, 是有效解决江河流域及水库洪水预报、防洪调度及水资源合理利用的先进手斟”。它 综合水文、电子、电信传感器和计算机等多学科的有关最新成果,用于水文测量和计 算,提高了水情测报速度和预报精度,改变了以往仅靠人工测量水情数据的落后状况, 扩大了水情测报范围。水情自动测报是水文现代化的发展方向,系统建成了一个以数 据采集为基础,以通信计算机网络为手段的信息系统,水情自动测报系统的建设,对 基于e t h e m e t 的嵌入式水情测撮系统中网络传输研究 江河流域和水库安全度汛以及水资源合理利用和开发等方面都能发挥重要作用。作为 一项投资少、工期短而又十分有效的措旆,水情铡报系统的建设是非常有意义的。 1 2 国内外研究动态 国际上岛二十世纪八十年代以后,由于遥测设备的不断完善,数据传鳓方式的多 样化及其可靠性的增加,以及计算机技术和预报调度软件的进一步发展,水情遥测和 防洪调度自动化技术在世界范围内得到了广泛的应用。二十世纪九十年代以后,功能 更强、应用范围更广的自动测报系统在水利、水电、气象以及要求遥测水文、气象( 包 括气温、风向、湿度、水温、水位、雨量、降雪量等谤 数的专业领域得以应用。 我国的水情测报系统在在二十世纪六、七十年代之前,水文资料信息的收集全部 依靠为数不多的人:e 水文站及雨量站点通过邮电部门的电报或有线电话传送。因此测 报数量和地址受自然环境限制丽难以达到要求,影响人工报汛质量,圊时由于常规的 电信传报,受气候条件的制约,经常发生通信电路受阻,或报信速度迟缓等现象。在 “八五”、“九五”期间取得了明显的成就,开发了一大批水利管理系统,为合理利 用水资源和水利的可持续发展战略做出了重大贡献。这些系统中,大型的如黄河防洪 决策支持系统、长江防洪系统、全国防洪调度系统和中央防汛指挥自动化系统等。中 小型的如淮河流域防汛实时水情信息传输系统、江苏省大运河监测调度系统、太湖流 域水情自动测报系统等难| 三【计数。这些大人小小的水利工程在现场采集原始数据( 如水 位、雨情、洪水流景等) ,传输至菜地方( 系统设育一级或多缓调度中心) 进行处理,采 取相应的措施( 如控制闸门动作、决策调度、数据发布等) 。可以看出我国的水情自动 测报系统已经取得了很大的成就。 1 3 课题来源和主要内容 1 3 1 课题来源 本课题来源于河北省涿鹿县水务局。该水务局下属有四个灌区? ? 惠民北渠灌区、 桑南灌区、七一灌区和劈山灌区,所在的河北省涿鹿县是一个以农业、林果为主的农 业县,县内的2 4 万亩水浇地就由这四个灌区控制,采用明渠从永定河上游的两条无调 节河道提供的引水灌溉。由于水资源紧张,从8 9 年开始采用人工集控分配灌溉用水, 虽取得了定效果,但采用人工监测流量和上撤流量存在着如数据不准确、反映流量 数据不及时等问题,不能充分有效地利用水资源,造成了时间上的延误和经济上的浪 费 ”。囚此,本课题根据水利部水利科技重点项目“灌区微机网络测量与控制系统研 究”,承接了河北省诼鹿县水务局的要求,实现丁灌区水情远程测报系统。该系统应 能按水务局的指令接收采集到的水情信息通过信息发布处理,使用户能够直接在网 上访f 司w e b 页及时准确掌握水情的实际情况。 上访f 司w e b m 页,及时准确掌握水情的实际情况。 河海大学工学硕士学位论文 第一章绪论 1 3 2 课题早期工作和现在对系统的改进 水情测报仪原先是采用基于单片机为控制核心的嵌入式数据采集系统。嵌入式系 统被定义为:以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应于对功能、 可靠性、成本、体积、功耗等严格要求的应用系统的专用计算机系统【4 1 。一般而言, 嵌入式系统的构架可分为四个部分:处理器、存储器、输入输出( m ) 和软件( 由于多 数嵌入式系统设备的应用软件和操作系统都是紧密结合的,在这里对其不加区分,这 也是嵌入式系统和w i n d o w s 系统的最大区别1 。 由于单片机是8 位的,所以数据处理速度较慢,c p u : i 用率不高;同时因为单片机 的i o 端口资源很有限,其可扩展性很低。因此,针对以上各种问题,对系统改进了嵌 入式处理器,将单片机换成了a r m 处理器,本系统采用三星公司生产的s 3 c 4 4 b o x , 基于这种a r m 处理核的小体积、低功耗、成本低、高性能和1 6 在u 3 2 位双指令集的特点 大大改进了系统性能。同时在本课题中将h c o s i i 这种免费公开源代码、结构小巧、 可裁剪、可固化、可移植、为嵌入式应用丽设计的最多可以管理6 0 个任务抢占式微内 核r t o s 移植到处理器中。 为了将水情数据传至水务局以供查询,系统原有的水情测报系统采用通过公用交 换电话网口s t n ) 和调制解调器( m o d e m ) 拨号的方式传送数据给水务局,涿鹿县水务局 方面同样采用通过主控计算机的拨号上网接收数据并且可以对这些数据进行统计、存 储或者打印报表等。 虽然m o d e m 价格低廉,并且电话通信网建立数据通信系统具有覆盖区域广、技 术成熟、价格较低优越性,但这种方式下p s t n 通信方式由于网络线路质量较差、通 信质量受线路影响较大、传输速率较低等缺点已经不能满足当前网络化的要求,并且 只有主控计算机能够查看水情信息,随着科技的发展和水利系统整体管理的要求,不 仅水务局的各个部门需要查看水情信息,任何个人及单位也需要通过网络实时查询数 据掌握情况,所以本课题采用将水情测报仪接入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 技术,它代表着 网络技术的未来。嵌入式系统接入i n t e m e t 需要解决的主要问题有:实现t c p i p 协议, 解决数据的封装、编码及发送等问题。目前嵌入式系统接入i n t e m e t 的方法有:通过专 用的w 曲服务器;使用嵌入式网关来实现,如图1 ,1 所示,各个嵌入式系统首先和网关 进行通信,通信方式采用传统的r s 2 3 2 、r s - 4 8 5 等,由嵌入式网关负责实现t c p i p 协 议,完成嵌入式系统的信息与i n t e m e t 的信息交互,这种方案解决了以低速8 1 6 b i t 微控 制器为核心的嵌入式系统接入i n t e r n e t 的问题,缺点是需要一个专门的嵌入式网关,而 且网关与各个嵌入式系统的通信同样受到距离和速度的限制,对于过于分散的嵌入式 基于e t h e m e t 的嵌入式水情测报系统中网络传输研究 系统而言,这种方法的实现成本将会增加:采用高速的1 6 3 2 b i t 微处理器直接实现 t c p i p 协议,这种方法的实现框图如图1 2 所示,这种方案可以使嵌入式系统直接与 i n t e r n e t 相连,有很大的灵活性,缺点是占用的系统资源较多,对微控制器的要求也很 高,无法在以8 1 6 b i t 低速微控制器为核心的嵌入式系统上实现。本课题结合河北省涿 鹿县的实际情况,采用图1 2 中所示方法,即将t c p i p 协议栈扩展到嵌入式设备,由嵌 入式自身实现w c b 服务器功能。 图1 1 采用嵌入式网关代理的方法 l 以高速徽控制器 t c p i p 为核心的嵌入式 系统 图1 2 直接连接t c p i p 方法 1 3 - 3 课题主要内容 结合河北省涿鹿县的实际情况所设计的灌区本情远程测报系统,为了在原有的基 础上更好的实现网络通信的功能,增加了通过以太网实现接入网络的方法,使得用户 可以在任意时间和地点对灌区数据进行查询、交换、存储和处理,极大的方便了单位 和个人。 本课题除了完成嵌入式水情测报系统的软硬件设计,其中涉及至4 硬件电路模块的 设计,操作系统的成功移檀到处理器里面。更重要地是实现了网络通信的功能,包括 处理器芯片的选择和网卡芯片的选择,网卡驱动程序地实现,姆这种网络通信功能转 化成具体的任务,结合t c p i p 协议栈扩展到嵌入式设备中,以实现测报设备的功能。 因此本课题主要完成以下一些任务功能: ( 1 1 嵌入式水情测报仪的硬件整体设计,主要由嵌入式处理器,存储模块,人机 接口模块。网络传输模块和其它功能模块组成,完成嵌入式水情测报系统的终端设备 的一系列的功能。 ( 2 l 嵌入式操作系统的实现,在a r m 微处理器上运行嵌入式操作系统。实现多任 务的操作和执行,用以方便系统功能的进一步扩展。嵌入式操作系统有很多种,如 v x w o r k s ,p s o s n u c l e u s ,q n x 、w i n d o w sc e 、l i n u x ,i _ t c l i n u x ,e c o s ,p c o s 等, 本课题中使用的是g c o s 操作系统,进行任务的划分和实现。 ( 3 1 服务器的实现,在g t c o s 操作系统中没有集成的t c p i p 的协议栈,本系统中 河海大学工学硕士学位论文 第一章绪论 移植了t c p i p 协议栈到g c o s 和a r m 的操作系统中,通过套接字编程来进行应用程 序的编写,用于实现数据的传输,远程客户可以通过浏览器来对远程数据进行查询, 交换,存储和处理。 基于e t h e m c t 的嵌入式水情测报系统中网络传输研究 第二章水情测报系统总体结构设计 2 1 水情测报系统总体设计方案 本课题是以河北省涿鹿县的实际为背景进行设计、开发的。河北涿鹿县共有4 个 灌区,且每个灌区与水务局都相隔较远,必须建立一个嵌入式水情测报系统。 该系统完成以下几个功能:水情数据的采集,处理,准确快速地传输以及存储。 在4 个灌区的枢纽位置上建立水情测报仪测控点由水位传感器实现对水位数据进行 采集给测报仪,测掇仪通过把t c p i p 协议栈嵌入其中实现w e b 服务器的功能,通过 i n t e r n e t 根据水务局中心命令或根据一般用户的要求进行相应的数据传输,把各滏区的 水位、流量等数据及时准确地传送到查询部门,同时水务局的控制中心远程监视各测 点的水位高度,控制各测点传输实时或历史数据,并进行分析处理,建立水情数据库, 为灌区进行水资源调度提供基本数据和决策依据。远程的一般用户可以实时查询水情 数据。整个系统的原理图如图2 1 所示。本文的研究重点是水情测报仪,系统的软硬 件如何设计以及如何实现通过网络进行数据的传输。 m e 1 水情测报系统结构原理图 2 2 水情测报系统的数据采集部分 2 2 1 流量测量的基本原理 1 流量与流量计算 所谓流量,是指单位时间内流经封闭管道或明渠有效截面的流体量,又称瞬时流 量。当流体量以体积表示时称为体积流量;当流体量以质量表示时称为质量流嚣p 1 。 假设流体流过有效截面中的某一微小面积为姒,流速为v ,且被测流体的密度为 p ,则流体流过该微小面积姒的体积流量由,和质量流量由。分别为 河海大学工学硕士学位论文 第二章水情测报系统总体结构设计与分析 由,= v d a 由。= p v d a( 2 - 1 ) 而流体流过整个有效截面的体积流量q ,和质量流q , n 可由对截面面积积分求得: q 。= i p v d a ( 2 - 2 ) 如果有效截面上各点的流速是相等的,或能求出其流速平均值i ,则流量公式( 2 2 ) 可写成如下简单形式: q ,= i a q。;ia(2-3) 流量的计量单位是导出单位。由流量公式( 2 3 ) 可导出体积流量的计量单位为立方 米秒( m 3 ,s ) ;质量流量的计量单位为千克秒( 1 【g ,s ) 。 2 流量测量的方法 测量流量的方法可归纳为两大类:一类是根据流量的定义进行直接测量的所谓直 接法,即在某一时间间隔内,用标定的容器盛接流过流体的体积或质量;另一类是通 过测量其它与流景相关的数据,经过一定的换算而得到流量值的所谓间接法。 在有压管路中测量流量的基本方法是在管路中装入特殊结构的部件,局部地改变 水流的压强和流速,然后通过压强的变化与流量之间的关系来确定流量。一般采用文 杜里( v e n a , _ , - i ) 流量计、浮子流量计、涡轮流量计、电磁流量计、超声式流量计、孔板 流量计等。而对于河流或明渠中的具有自由水面的水流,则是通过测量水位、压差、 流速等来确定流量。一般的方法为量水堰测量法、量水槽测量法、流速面积法及水位一 流量曲线法。 在水利和农业的实际应用中,通常是采用水位一流量蓝线法。该方法是把流速 面积法测得的流量和水位画成曲线,绘出水位一流量曲线后,便只要通过测量水位, 就可求出流量。 2 2 2 本系统的流量测量 本系统水位数据的采集是通过传感器来实现的t 6 。选用南京水利水文自动化研究 所研制的w f h 2 型全量机械编码水位传感器。该水位计利用液体浮力测液位的原理, 靠浮子随水面升降的位移反映水位的变化。同时通过轴角编码器将水位模拟量转换为 数字信息量,以满足信息传输、处理、记录和显示的需要。传感器设置在取样现场, 采样数据传至位于相距1 8 0 米的值班室里的水情测报仅进行处理。该水位计精度高( 满 程最大误差 p o s c t r l ) ) e l s e s w i t c h ( p m s g - m e s s a g e ) c a s eo s mk e y : 得到键盘消息 o s o n s y s m e s s a g e ( p m s g ) ; b r e a k ; ) ) i f ( o n k e y ( p m s g - w p a r a m ,p m s g - l p a r a m ) ) 键盘处理函数 b r e a k ; d e f a u l t : o s o n s y s m e s s a g e ( p m s g ) ; b r e a k ; ) d e l e t e m e s s a g e ( p m s 曲; ) 删除消息,释放资源 ) 结合在主程序里建立的应用程序来看,通过调用系统的a p i 函数来对系统进行操 作,任务之间的通信则是通过消息队列来实现,任务通过系统的扩展驱动函数和a p i 函数后,只需根据设定的流程调用适当的a p i 函数并合理利用系统的消息,邮箱等机 制即可实现。举例时钟显示更新任务如下: v o i dr t c _ d i s p _ t a s k ( v o i d + i m时钟显示更新任务 基于e t h e m e t 的嵌入式水情测报系统中网络传输研究 u1 6s t r t i m e 1 0 ; i n t 8 u e r r ; f o “;) i f ( r t e _ i s t i m e c h a n g e ( r t c _ s e c o n d _ c h a n g e ) ) 不需要更新显示 o s s e m p e n d ( r t e,o ,& e 哟; 等待信号量_ u p d a t a _ s e r n r t c _ f o r m a t ( ”h :i :s , s t r d l l a o ; s e t t e x t c t r l t e x t ( p t e x t c t r l ,s t r f i m e , t r u e ) ; o s s e m p o s t ( r t u p d a t a _ s e r n ) ; 发出信号量 j o s t i m e d l y t f 2 5 0 ) ; 任务通过延时将自身挂起 ) ) 4 2 肛c o s i i 在s 3 c 4 4 b o x 平台上的移植 4 2 1 p c o s i i 概述 r | c o s 1 1 是一个多任务,占先式实时嵌入式操作系统内核,它具有的主要特点有: 源代码公开,容易移植到各种不同的硬件平台上:通过条件编译也很容易实现可剪裁 性:占先式使它总是运行就绪条件下优先级最高的任务;它可以管理6 4 个任务,保留8 个给系统,因此应用程序摄多可以有5 6 个任务;g c o s i i 提供很多系统服务,例如邮 箱、消息队列、信号量、块大小固定的内存的申请与释放、时阃榴关蘧数等;r t c o s - u 白1 9 9 2 年以来已经有很多成功的商业应用,& n i 正n g c o s i i 2 z 2 3 】。 t t c o s 1 l 主要包括的组件是:任务管理,时闳管理,任务之阃通讯与同步,内存 管理等,现逐一分析其原理和实现方法。 1 任务管理 一个任务通常是一个无限的循环,由程序和数据组成。在i _ t c o s i i , ,任务有5 种 状态:体眠态、就绪态、运行态、中断态、等待态,在任意时刻,任务处于这5 秘状态 之。u c o s i i 对任务的管理和调度主要是通过任务控制块和任务就绪表来实现。任 务控制块是一个数据结构,它与任务一一对应。任务控制块包括任务的指针,任务的 堆栈信息,任务的优先级,任务的状态,任务在任务就绪表中的位置等数据信息。 在操作系统初始化o s i n i t 时,系统申请了一块r a m 空问来存储空闲任务控制块。 一旦任务建立,系统就会分配一个任务控制块o st c b 给该任务。当任务的c p u 使用 权被争 夺时,u c o s i i 用它来保存该任务的状态。当任务重新得到c p u 使用权时。任 务控制块能确保任务从被中断的那一点继续执行下去。o s t c b 全部驻留在r a m q 。, 在任务建立的时候,o st c b 被初始化。 应用程序中最多任务数是在文件o sc f g h 中定义的,所有的任务控制块 o st c b s 都是放在任务控制块列粼l l o s t c b t b i q 。p c o s i j 占用了两个任务, 河海大学工学颈士学证论文第四章水情铡报系统软件结掏设计与分析 一个用于空闲任务,另一个用于任务统计。在i t c o s i i 初始化时,所有任务控制块 o st c b s 被链接成空任务控制块的单向链表。当任务一旦建立,空任务块指针 o s t c b f r e e l i s t 指向的任务控制块便赋给了该任务,然后o s t c b f r e e l i s t 的值调整为指 向链表中下一个空的任务控制表。一旦任务被删除,它的任务控靠4 块就回到空任务控 制块链表中。l _ t c o s i l 对任务的管理是通过一系列函数改变任务控制块的链表和数组 以及改变任务控制块的信息实现。 l a c o s i i 任务的调度是基于优先级调度,通过就绪表来实现,每个任务被赋予一 个优先级,优先级高的任务先运行,反之亦然。就绪表中有两个变量o s r d y c , - r p 和 o s r d y r o l i 。任务按优先级分组,8 个任务为一组,o s r d y g r p 中f l c j 每一位表示8 组任务 中每一组中是否有进入就绪态的任务,同样任务进入就绪态对,就绪表o s r d y t b l 】 中的相应元素的相应位也置位。 2 时闻管理 c o s i i ( 其他内核也一样) 要求用户提供定时中断来实现延时与超时控制等功能, 这个定时中断叫时钟节拍,它应该每秒发生l o 至1 0 0 次。时钟节拍的频率实际上是由用 户应用程序决定的,时钟频率越高,系统的负荷就越重。时间管理提供如下功能:产 生时钟节拍、任务延时、结束延时、系统时间。 3 任务之间的通讯与同步 在大多数操作系统中,通常采用多个任务来完成个复杂的任务,这就要考虑任 务之间的通讯与同步。在p , c o s i l 中,任务之间通讯的方法有三种:信号量、邮箱、 消息对列,它们都被看作是事件,用一个数据结构来表示,称为事件控制块。所有的 事件控制块组成一个事件控制块链表或数组,该链表或数组在i _ t c o s i i 初始化时建立。 u c o s i i 对信号量、邮箱、消息对列的操作是通过一系列的函数来实现的。 4 内存管理 在i t c o s i i 中,操作系统把连续的大块内存按分区来管理,每个分区中包含有整 数个大小相同的内存块。这样,用户的应用程序就可以根据不同的应用从不同的内存 分区中得到不同大小的内存块,当特定的内存块释放时必须重新放回它以前所属的内 存分区。显然,这种方法简化了内存分区算法,也解决了内存碎片问题。在p c o s - i i 巾使用内存控制块的数据结构来跟踪每一个内存分区,系统中的每个分区都有它自己 的内存控制块。所有的内存控制块组成内存控制块链表,它在i c o s i i = j ? j j 始化时建立。 内存管理主要是由以下几个功能组成:建立内存分区、分配内存分区、释放内存 分区、查询内存分区状态、使用内存分区、等待内存分区。 4 2 2i l c o s 在处理器上的移植 所谓移植,指的是一个操作系统可以在某个微处理器或者微控制器上运行。虽然 基于e m 印1 e t 的嵌入式水情测报系统中网络传输研究 p c o s i i 大部分源代码是用c 语言写成的,但是仍然需要用c 语言和汇编语言完成与处 理器相关代码的编写。如果要通过操作系统读写处理器的寄存器就只能通过汇编语言 来实现。要在处理器上移植p c l o s i i ,处理器必须满足定的条件: ( 1 ) 处理器的c 编译器能产生可重入代码,可重入代码指的是一段代码可以被多 个任务同时调用,而不必担心会破坏数据。代码的可重入性是保证完成多任务的基础。 ( 2 ) 在程序中可以代开或关闭中断,在p c i o s i i 中,可以通过o se n t e r c r i t i c a l ( 1 或者o se x i t个宏来控制系统关闭或者打开中断。具体_critical()i蘸j 的处理器在关于这两个宏的定义是有所不同的,在s 3 c 4 4 b o x 处理器上,可以设置相 应的寄存器来关闭或者打开系统所有的中断。 ( 3 ) 处理器支持中断,并且能够产生定时中断这是蛳c o s i i 操作系统是通过 处理器内部的定时器中断来实现多任务之问的调度。 ( 4 ) 处理器能够容纳一定数量的硬件堆栈。 ( 5 ) 处理器有将堆栈指针和其他c p u 寄存器存储和读出到堆栈的指令。 h c o s 1 i 进行任务调度的时候,会把当前任务的c p u 寄存器存放到任务的堆栈中, 然后从另一个任务的堆栈中恢复原来的工作寄存器,继续运行另一个任务。所以,寄 存器的入栈和出栈是p c o s i i 多任务调度的基础。图4 2 说明t p c o s i i 的结构以及它 与硬件的关系。 一1。一一。一 一 一竺! 望! 竺竺 j t i c o s - l l ( 与处理器无关的代码) o sc o r e cu c o s 4 1 c o sn 田o x cu c ,o s i i c o sm 匣m co so c o ss e m co st a s k c 0 s1 1 m 匝c c p u 1-一 硬件二 l 夏: 图4 2o c o s i l 结构以它与硬件的关系 1 数据类型定义 不同微处理器有不同的字长,p c o s i i 的移植过程中就必须包括系列类型定 义以确保移植正确。所以在代码中就不再使s h o r t 、i n t 和l o n g 等数据类型,代之以 i n t 8 u s ,i n t l 6 u s 和i n t 3 2 u s ,在移植时只需改动数据类型定义部分而整个程序代 码中的数据类型声明不作改变。s 3 c 4 4 b o x 是3 2 位处理器,它的寄存器是3 2 位,因此 河海大学工学硕士学位论文第删章水情测报系统软件结鞠设计与分析 每个堆栈成员也是3 2 位。在移植的时候,所有的任务堆栈都统一用o ss t k 来声明, 这样在宏定义中将o ss t k 定义为3 2 位无符号整数。 所有这些代码加入! u o sc p u h 中: 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 f u n s i g n e d c h a ri 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 dl o n g i n t 3 2 u ; t y p e d e fs i g n e dl o n g i n t 3 2 s ; t y p e d e ff l o a tf p 3 2 t y p e d e f d o u b l ep 6 4 ; 襻d e f i n eo ss t kg r o w t h1,指定堆栈由商地址向低地址增长 # d e f i n eo ss t ku n s i g n e dl o n g 定义堆栈指针为3 2 位 多数微处理器的堆栈增长方向是自上而下,有些是自下而上,p c o s i i 对两种情 况都能够处理,就是通过结构常量o ss t kg r o w t h 进行设置。 另外,在此还要定义o s 脚e l 叩r i t i c a l ( ) 和0 s e x 毗c r r r i c a l o 这两个宏, 因为这使得可以在代码中直接控制开中断和关中断而保护临界区代码,对这个两个宏 的调用贯穿着p c o s i i 的源代码,这直接与处理器有关。 # d e f i n eo s _ e n t e r _ c r i t i c a l ( ) a r m d i s a b l e i n t 0 # d e f i n eo s _ e x i t _ c r i t i c a l ( ) a r m e n a b l e i n t ( ) a r m d i s a b l e k t 0 和a r m d i s a b l e m t ( ) 用汇编语言编写; a r m d i s a b l e i n t 0 m r s r 0 ,c p s r s t m f d s p ! ,【r o 】 o r rr 0 ,r 0 ,# 0 x c o m s rc p s rc ,r o m o vp c ,i r a r m e n a b l e d i n t l d m f ds p ! , r 0 m s r c p s rc ,r o m o v p c ,l r 保护当前的程序状态寄存器 屏蔽中断位; 关中断( i r q 和f i q ) ,弹出当前的程序状念寄存器 恢复当前的程序状态寄存器 2 与操作系统相关的函数 ( 1 ) o s t a s k s t k i n i t 堆栈建立时,通过调用o s t a s k s t k l n i t 0 来初始化任务的堆栈结构,此时的堆栈就像任务刚被中断将寄存器保存到堆栈中 一样,其结构如图4 3 :任务和任务的堆栈是对应的,o s t a s k s t k l n i t 0 要将所建立堆栈 的指针返回并加入到任务的任务控制o st c b 中。 基于e t h e m e t 的嵌入式水情铡撤系统中网络传输研究 ( 2 ) 另外5 个函数 这5 个函数为钩子函数一般情况下可 以不加代码。 3 与处理器相关的函数 这些函数涉及对处理器寄存器的操 作,而c 语言不能直接访问这些寄存器,因 此要用汇编语言编写。 ( 1 ) o s s a r t h i g h r d y 0 运行优先级最高的就 绪任务 s p s r c p s r r 0 r l r 1 2 l r ( r 1 4 ) p c 承i s ) 低地址端 任务最初的栈指针 高地址端 图4 3 堆栈结构示意图 o
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年预防医学三基三严考核真题汇编卷
- 《食品微生物学》期终考试试卷及答案
- 卫生法律法规试题及答案
- 2025年北京安全员-B证考试题库
- 2025年中药学专业知识考核试题(中药学本科)
- 山东水利工程施工二建继续教育考试试题及答案
- 2025~2025专升本考试题库及答案第478期
- 2025年安全员B证考试试题附完整答案详解【夺冠】
- 2025浙江安全员考试模拟题附答案
- 2025年公务员事业单位遴选面试真题解析及答案
- 2025江苏省租赁合同范本下载
- 群体人际关系与团队建设
- 厂房装修风格改造方案(3篇)
- 生涯规划教育创新-洞察及研究
- 关于厨房管理的论文
- 重金属有色冶金企业安全生产标准化评定标准
- 青马工程考试题库及答案
- 汽车悬架设计毕业答辩
- 宪法与涉外法治互动-洞察及研究
- 四川2025年四川省夹江县人民法院公开招考4名聘用制司法警察笔试历年典型考题解题思路附带答案详解
- 村党支部换届工作报告
评论
0/150
提交评论