(电路与系统专业论文)基于μCOSⅡ的嵌入式无线IP接入的实现[电路与系统专业优秀论文].pdf_第1页
(电路与系统专业论文)基于μCOSⅡ的嵌入式无线IP接入的实现[电路与系统专业优秀论文].pdf_第2页
(电路与系统专业论文)基于μCOSⅡ的嵌入式无线IP接入的实现[电路与系统专业优秀论文].pdf_第3页
(电路与系统专业论文)基于μCOSⅡ的嵌入式无线IP接入的实现[电路与系统专业优秀论文].pdf_第4页
(电路与系统专业论文)基于μCOSⅡ的嵌入式无线IP接入的实现[电路与系统专业优秀论文].pdf_第5页
已阅读5页,还剩57页未读 继续免费阅读

下载本文档

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

文档简介

摘要 微电子技术的进步推动了小型化、低能耗设备的发展。这些设备将计算能力、 感知能力和通讯能力相结合,促使单机嵌入式系统向网络嵌入式系统( n e t w o r k e m b e d d e ds y s t e m ,n e s ) 演变。由于n e s 在军事和民用领域有广泛的应用前景, 使它成为当前学术晃的一个研究热点。目前,i n t e m e t 已经广泛使用,将嵌入式设 备接入i n t e m e t ,就可以随时随地进行监控,是一种典型的网络嵌入式系统。 由于i n t e m e t 上面的各种通信协议对于计算机存储器、运算速度等的要求比较 高,而嵌入式系统中大量存在着8 1 1 6 位微控制器和低端3 2 位微控制器,支持t c p i p 等i n t e m e t 协议将占用大量系统资源,或根本不可能。另外,如果设备工作环境条 件比较恶劣或设备处于移动状态,则不宜采用有线i n t e m e t 接入方式。 针对以上问题,本文提出了一种基于嵌入式实时操作系统的无线接入i n t e m e t 的方案。此方案中使用的微控制器仅有3 2 k b 的片内静态r a m 和5 1 2 k b 的片内 f l a s h 存储器。 本文介绍了网络嵌入式系统的发展现状;分析了嵌入式实时操作系统u c o s 1 i 的系统内核及基本的系统服务,详细阐述了uc o s - 在l p c 2 1 3 8 上的移 植过程。通过对p p p 及t c p i p 协议的深入分析和理解,参考开源协议栈l w i p , 根据实际需求实现了p p p 和t c p i p 协议栈。文中采用a r m 7 开发平台和c d m a 无线通信模块组建硬件平台,以嵌入式网络通信协议栈和实时操作系统1 tc o s - i i 为软件蓝本,实现了嵌入式系统的无线i p 接入。试验表明,文中提出的解决方案 可以使系统资源有限的嵌入式系统通过无线网络连接到i n t e r a c t ,进行数据传输。 关键词:c o s - i i l w i pp p p 无线i p 嵌入式系统 a b s t r a c t a d v a n c e si nm i c r oe l e c t r i c a ls y s t e m st e c h n o l o g ya l ee n a b l i n gc o n s t r u c t i o no f l o w - c o s t , s m a l l - s i z e dd e v i c e s t h e s ed e v i c e si n c o r p o r a t i n gs e n s i n g ,p r o c e s s i n g ,a n d c o m m u n i c a t i o nc a p a b i l i t i e sn l a k et h ee v o l u t i o no ft h et r a d i t i o ne m b e d d e ds y s t e m st o n e t w o r ke m b e d d e ds y s t e m ( n e s ) p o s s i b l e s i n c en e si sv e r yi m p o r t a n ti nm a n y m i l i 国t r ya n dc o m m e r c i a la p p l i c a t i o n s ,i th a sb e c o m et h ef o c u so fc u r r e n te m b e d d e d t e c h n o l o g yr e s e a r c h a tp r e s e n t ,al a r g ea m o u n to fa p p l i c a t i o n su s i n gt h e i n t e m e t t e c h n o l o g yh a v eb e e nd e v e l o p e d e m b e d d e d d e v i c e sc o n n e c t e dt oi n t e m e t ,a n d m o n i t o r e df t o ma n y w h e r e t h i si sat y p i c a ln e t w o r ke m b e d d e ds y s t e m 1 1 1 ec o m m u n i c a t i o np r o t o c o lo fi n t e r a e tr e q u i r e sh i g hs p e e do fc o m p u t a t i o na n d m u c hm e m o r y al a r g en u m b e ro fe m b e d d e ds y s t e m sl l s c8 1 6b i ta n dl o w - e n d3 2b i t m i e r o c o n t r o l l e ru f n i t i n t e r n e tp r o t o c o l sc o n s u m eal a r g ea m o u n to fs y s t e mr e s o u r c e s s o m eo ft h e s ee m b e d d e ds y s t e m sc a n tr d ni n t e r a c tp r o t o c o l s i ft h ee q u i p m e n ti si na p o o re n v i r o n m e n to ra tt h em o b i l es t a t e ,c a b l ei n t e m e ta c c e s si sn o ts u i t a b l en l a l l r l e r t os o l v et h ea b o v ep r o b l e m s ,t h i sp a p e rp r o p o s e sa na c c e s ss o l u t i o no fw i r e l e s s i n t e r a c tb a s e do nar e a l t i m ee m b e d d e do p e r a t i n gs y s t e m t h em i e r o c o n t r o l l e ru n i to f t h i ss o l u t i o no n l yh a s3 2 k bs t a t i cr a ma n d5 1 2k bo n - c h i pf l a s hm e m o r y 蕊d e v e l o p m e n to fn e t w o r ke m b e d d e ds y s t e mi sa n a l y z e di n t h i sp a p e r 砀e k e m e la n ds o m eb a s i cs y s t e ms e r v i c e so fe m b e d d e dr t o sp c o s i ia r ea n a l y z e d 1 1 1 c p r o c e s so fp o r t e dp c o s - i if o rl p c 2 1 3 8i sp r i m a r ye x p m i a t e do n b a s e do nt h e a n a l y s i sa n du n d e r s t a n d i n go fp p pa n dt c p i pp r o t o c o l s t a c k s 。t h es t r u c t u r ea n d i n t e r f a c e so fl w i pi sa n a l y z e d a n da c c o r d i n gt oa c t u a ld e m a n dt h ep p pa n dt c p i p p r o t o c o ls t a c k sa r ei m p l e m e n t e d n l ee m b e d d e ds y s t e m sb u i l d i n gb l o c k su s ea r m 7 p l a t f o r ma n dc d m aw i r e l e s sc o m m u n i c a t i o nm o d u l e f o ri t sh a r d w a r e sp , o r e i t s s o f t w a r ea d o p t se m b e d d e dn e t w o r kc o m m u n i c a t i o np r o t o c o la n dr e a lt i m eo p e r a t i n g s y s t e mb c o s - i i i nt h eo r i g i n a lv e r s i o n 1 1 圮s y s t e mi m p l e m e n t sa na c c e s so f e m b e d d e dw i r e l e s si p a tt h ee n do ft h i sp a p e r , t h ee m b e d d e ds y s t e mc o n n e c t st ot h e i n t e r a c tt h r o u g haw i r e l e s sn e t w o r kf o rd a t at r a n s m i s s i o n n l es o l u t i o ni nt h i sp a p e ri s v e r i f i e dv a l i d k e y w o r d s :l ic o s - h l w l pp p pw i r e l e s si pe m b e d d e ds y s t e m s 创新性声明 秉承学校严谨的学风和优良的科学道德,本人声明所呈交的论文是我个人在导 师指导下进行的研究工作及取得的研究成果。尽我所知,除了文中特别加以标注 和致谢中所罗列的内容以外,论文中不包含其他人已经发表或撰写过的研究成果; 也不包含为获得西安电子科技大学或其它教育机构的学位或证书而使用过的材 料。与我一同工作的同志对本研究所做的任何贡献均己在论文中做了明确的说明 并表示了谢意。 申请学位论文与资料若有不实之处,本人承担一切的法律责任。 本人签名:塑堕宝日期望堡丛 关于论文使用授权的说明 本人完全了解西安电子科技大学有关保留和使用学位论文的规定,即:研究生 在校攻读学位期间论文工作的知识产权单位属西安电子科技大学。学校有权保留 送交论文的复印件,允许查阅和借阅论文;学校可以公布论文的全部或部分内容, 可以允许采用影印、缩印或其它复制手段保存论文。同时本人保证,毕业后结合 学位论文研究课题再攒写的文章一律署名单位为西安电子科技大学。 ( 保密的论文在解密后遵守此规定) 本人签名: 导师签名: 日期邋型 日期童型阻! 尊 第一章绪论 第一章绪论 1 1 网络嵌入式技术概述 在过去十几年里,互联网技术被证明拥有足够的灵活性以适应不断变化的网 络环境。人们对计算机互联和计算机无线网络设备的兴趣一直不断的增长。计算 机逐渐与日常使用的设备无缝集成在一起,并且价格一直在下降。与此同时,无 线网络技术,如蓝牙( b l u e t o o t h ) 及i e e e8 0 2 1 l bw l a n 不断涌现。这些新技术 的出现,在诸如卫生保健、安全防卫、军事、交通运输及工业生产等领域提供了 一个非常诱人的应用前景。一些像传感器这类的小型设备可以连入互联网,以便 随时随地进行监控。这些小型设备多数具有嵌入式处理器。 随着8 位和1 6 位嵌入式处理器速度的增快,存储容量的增大,尤其是3 2 位 嵌入式处理器的出现,使嵌入式系统和网络的结合成为可斛”。嵌入式系统的网络 应用被称为网络嵌入式系统技术( n e t w o r k e m b e d d e d s y s t e m t e c h n o l o g y ,n e s t ) 。 嵌入式系统中包含嵌入式处理器、嵌入式操作系统和应用电路部分,与网络 的接入则必须有对应的接入协议,如通用的t c p i p 协议。因此,实现网络嵌入式 的基础是嵌入式处理器、嵌入式操作系统和接入网络的通信协议。 i i 1 嵌入式处理器 嵌入式处理器是为了完成特殊的应用而设计的特殊目的的处理器。关键是应 用意识,既知道应用的自然规律并满足这些应用的需求1 2 】。 嵌入式处理器可以分为以下四类: 1 嵌入式微处理器( e m b e d d e dm i c r o p r o c e s s o r u n i t ,e m p u ) 嵌入式处理器的基础是通用计算机中的c p u 。在应用中,将微处理 器装配在专门设计的电路板上,只保留和嵌入式应用有关的母板功能,这 样可以大幅减小系统体积和功耗。为了满足嵌入式应用的特殊要求,虽然 嵌入式微处理器在功能上和标准微处理器基本是一样的,但一般在工作温 度、抗电磁干扰及可靠性等方面都做了各种增强。 和工业控制计算机相比,嵌入式微处理器具有体积小、重量轻、成本 低及可靠性高的优点,但是在电路板上必须包括r o m 、r a m 、总线接口 及各种外设等器件,从而降低了系统地可靠性,技术保密性也较差。 基于pc o s i i 的嵌入式无线i p 接入的实现 嵌入式处理器目前主要有a m l 8 6 1 8 8 、3 8 6 e x 、s c - 4 0 0 、p o w e rp c 、 6 8 0 0 0 、m i p s 和a r m 系列等。 2 嵌入式微控制器( m i c r o c o n t r o l l e ru n i t ,m c u ) 嵌入式微控制器又称单片机,顾名思义,就是将整个计算机系统集成 到一块芯片中。嵌入式微控制器一般以某一种微处理器内核为核心、苍片 内部集成r o m e p r o m 、r a m 、总线、总线逻辑、定时计时器、w a t c h d o g 、 i 0 串行口、脉宽调制输出、a d 、d a 、f l a s hr a m 和e e p r o m 等各种 必要功能和外设。为适应不同的应用需求,一般一个系列的单片机具有多 种衍生产品,每种衍生产品处理器内核都是一样的,不同的是存储器和外 设的配置及封装。这样可以使单片机最大限度地和应用需求相匹配,功能 不多不少,从而减少功耗和成本。 和嵌入式微处理器相比,微控制器的最大特点是单片化,体积大大减 小,从而使功耗和成本下降,可靠性提高。微控制器是目前嵌入式系统工 业的主流。 嵌入式微控制器目前的品种和数量最多,比较有代表性的通用系列包 括8 0 5 1 、p 5 1 x a 、m c s 2 5 1 、m c s 9 6 1 9 6 2 9 6 、6 8 3 0 0 和数目众多的a r m 芯片等。目前m c u 占嵌入式系统约7 0 的市场份额。 3 嵌入式d s p 处理器( e m b e d d e dd i g i t a ls i g n a lp r o c e s s o r ,e d s p ) d s p 处理器对系统结构和指令进行了特殊设计,使其适合于执行d s p 算法、编译效率较高,指令执行速度也较快。在数字滤波、f f t 及谱分析 等方面d s p 算法正在大量进入嵌入式领域,d s p 应用正从在通用单片机 中以普通指令实现d s p ,过渡到采用嵌入式d s p 处理器。 嵌入式d s p 处理器比较有代表性的产品是t e x a si n s t r u m e n t s 的 t m s 3 2 0 系列和m o t o r o l a 的d s p 5 6 0 0 系列。 4 嵌入式片上系统( s y s t e mo nc h i p ,s o c ) 随着e d i 的推广和v l s i 设计的普及化及半导体工艺的迅速发展,在 一个硅片上实现一个更为复杂的系统的时代己来临,这就是s o c 。各种通 用处理器核将作为s o c 设计公司的标准库,和许多其它嵌入式系统外设 一样,成为v l s i 设计中一种标准的器件,用标准的v h d l 等语言描述, 存储在器件库中。用户只需定义出其整个应用系统,仿真通过后就可以将 设计图交给半导体工厂制作样品。这样除个别无法集成的器件外,整个嵌 入式系统大部分均可集成到一块或几块芯片中去,应用系统电路板将变的 很简洁,对于减小体积和功耗、提高可靠性非常有利。 第一章绪论 1 1 2 嵌入式操作系统 简单的说嵌入式操作系统就是支持嵌入式系统工作的操作系统。它在本质上 与通用操作系统没有太大的区别,它一般用于比较复杂的嵌入式系统中。嵌入式 系统一般具有实时特点。所谓实时操作系统( r 1 o s ) ,是指在这种系统中,一个 优先等级高的任务能够获得立即的、没有延迟的服务,不需要等候任何其他优先 级低的任务,而且在它得到c p u 的使用权后,它可以一直执行到工作结束或是有 更高等级的进程出现为止。 在嵌入式实时操作系统环境下开发实时应用程序使程序的设计和扩展变得容 易,不需要大的改动就可以增加新的功能。如果将应用程序分割成若干独立的任 务模块,使应用程序的设计过程大为简化;而且对实时性要求苛刻的事件都得到 了快速、可靠的处理。通过有效的系统服务,嵌入式实时操作系统使得系统资源 得到更好的利用。【3 】 但是,使用嵌入式实时操作系统还需要额外的r o m 佩 m 开销、2 5 的 c p u 额外负荷以及内核的费用。 常见的嵌入式操作系统有以下几种 4 1 : 1 u c l i n u x l ic l i n u x 是一个完全符合g i ,g p l 公约的操作系统,完全开放代码,现 在由l i n e o 公司支持维护。它从l i n u x 2 0 2 4 内核派生而来,沿袭了主流 l i n u x 的绝大部分特性。它是专门针对没有内存管理单元的处理器,并且 为嵌入式系统作了许多小型化的工作。虽然它的体积很小,但是仍然保留 了l i n u x 的大多数的优点:稳定、良好的移植性,优秀的网络功能,对各 种文件系统完备的支持,以及标准丰富的a p i 等。嘲 2 w 证d o w s c e w i n d o w sc e 是微软公司开发的一个开放、可升级的3 2 位嵌入式实时操作 系统( r t o s ) ,是基于掌上型电脑的电子设备操作系统,是精简的 w i n d o w s 9 5 。w m d o w sc e 具有模块化、结构化和基于w i n 3 2 应用程序接 口及与处理器无关等特性。【6 】【刀 3 v x w o r k s v x w o r k s 操作系统是美国w i n d r i v e r 公司设计开发的一种嵌入式实时操作 系统( r t o s ) 。以其良好的持续发展能力、高性能的内核、友好的用户开 发环境、良好的可靠性和卓越的实时性被广泛地应用在通信、军事、航空 航天等高精尖及实时性要求极高的领域中【8 】。 4 e c o s 基于1 1c o s i i 的嵌入式无线i p 接入的实现 e c o s 是r e d h a t 公司开发的源代码开放的嵌入式实时操作系统r t o s 。e c o s 的所有部分都开放源代码,可以按照需要自由修改和添加。e c o s 的关键 技术是操作系统可配置性。目前,e c o s 支持的系统包括a r m 、h i t a c h i s h 3 、 i n t e lx 8 6 、m i p s 、p o w e r p c 和s p a r c 等。e c o s 提供了应用程序所需的实 时要求,包括可抢占性、短的中断延时、必要的同步机制、调度规则及中 断机制等。e c o s 还提供了必要的一般嵌入式应用程序所需的驱动程序、 内存管理、c 语言库和数学库等【9 】。 5 i l c 0 s 一个源码公开、可移植、可固化、可裁剪及占先式的实时多任务操作系统、 其绝大部分源码是用a n s ic 写的、世界著名嵌入式专家j e a nj l a b r o s s e ( pc o s i i 的作者) 出版了详细分析该内核的几个版本的图书。1 1c o s i i 通过联邦航空局( f a a ) 商用航行器认证,符合r t c a ( 航空无线电技术 委员会) d o - 1 7 8 b 标准,该标准是为航空电子设备所使用软件的性能要 求而制定的【。i tc o s i i 在高校教学使用是不要申请许可证的。但若将 1 1c o s - i 的目标代码嵌入到产品中去,应当购买目标代码销售许可证。 本文中采用了1 1c o s 1 1 2 8 0 。 1 1 3接入网络的通信协议 目前网络接入的通信协议有很多,比如t c p i p 、无线网络协议 z i g b e e 8 0 2 1 4 5 、8 0 2 1 l g 和8 0 2 1 l s 。互联网( i n t e m e t ) 的发展已经相对成熟,在 互联网上的业务量近年来正以几何指数规律增长。有人把嵌入式系统与互联网的 结合称为嵌入式i n t e m e t ( e m b e d d e di n t e r n e t ) 。 要实现嵌入式i n t e r a c t 关键有两点【l l 】: 1 要实现种类繁多的互联网协议,这对运算速度相对较慢、存储空间有限的 嵌入式系统是一个挑战。 嵌入式t c p i p 与常规t c p i p 的实现有很大不同。g r m d o w s 或u n i x 等操作 系统的内存分配是动态的,可以根据需要随时分配随时撤消。而嵌入式系统的数 据存储空间较小,且仅仅只存放收发的数据包,因此在嵌入式系统中,是根据实 际情况分配一个固定字节缓冲区来存放接收到的网络数据包,收到一包就处理一 包。t c p f i p 包含有应用层、传输层、网络层等一系列协议,且每层可采用的协议 有好几种。嵌入式系统的应用针对性非常强,因而只需实现与需求相关部分协议, 而不使用的协议则一概不支持【1 “。 目前应用较广的嵌入式t c p i p 协议栈几乎都是根据b s d 版的t c p i p 协议栈 第一章绪论5 改写的。在商业前嵌入式t c p i p 协议栈大都相当昂贵的情况下,很多人转而使用 一些源代码公开的协议栈。较为著名的开源协议栈有: b s dt c p i p 协议栈,可完整实现t c p i p 协议,但代码庞大,7 0 k b 1 5 0 k b 之间,裁减优化有难度。 u i p ,是专门为8 位和1 6 位控制器设计的一个非常小的t c p f l p 栈【1 3 】 1 4 1 。完全 用c 编写,因此可移植到各种不同的结构和操作系统上,一个编译过的栈可以在 几千字节r o m 或几百字节r a m 中运行。它代码容量小巧,实现功能精简,限制 其在一些较高要求场合下的应用,如高可靠性与大容量数据传输。 l w i p ,是瑞士计算机科学院( s w e d i s hi n s t i t u t eo f c o m p u t e rs c i e n c e ) 的a d a m d u n k e l s 等开发的用于嵌入式系统的开放源代码t c p i p 协议栈【1 5 1 。l w i p 的含义是 l i g h t w e i g h t ( 轻型) 口协议。l w i p 可以移植到操作系统上,也可以在无操作系统的 情况下独立运行。l w i p 实现的重点是在保持t c p i p 协议主要功能的基础上减少 对r a m 的占用,一般它只需要几千字节的r a m 和四千字节左右的r o m 就可以 运行,这使l w l p 协议栈非常适合在低端嵌入式系统中使用。 l w i p 支持的协议较为齐全,特别是能支持p p p 协议,目前无线数据业务应用 最多的g p r s 和c d m a 网络都需要p p p 协议来连接远程服务器。 2 采用什么样的接入方式。 常见的嵌入式i n t e m e t 接入方案有以下几种: 1 ) 采用专用的w e b 服务器,将利用轻网络通讯技术组成子网的嵌入式系统 路由至外部网。 2 ) 通过专用的嵌入式网关,将用轻网络通讯技术组成的嵌入式系统连在一 起,运行t c p i p 协议。 3 ) 直接在嵌入式系统上实现t c p i p 协议,并通过以太网络接口控制芯片或 m o d e m 接入互联网。 接入i n t e m e t 的技术主要是有线和无线两种方式,比如:传统的电话网,光纤, 同轴电缆等都是有线方式。o p r s 和c d m a 是无线方式。有线接入方式,用在一 些固定的工作场所。如果嵌入式设备,工作环境条件比较恶劣,或者工作场所不 易铺设通讯线路,或者是移动终端设备,这样就要采用无线方式。 c d m a 无线网络和g p r s 无线网络主要区别在于基站的射频信号不同、编码 方式不同,其后台处理功能相类似【1 6 】。就目前的商用设备而言,中国联通的 c d m a 2 0 0 0l x 实际应用平均速率6 0 7 0 k b i t s ;而中国移动的g p r s 在目前仅能 提供2 0 3 0 k b i t s 的数据承载速率。但是随着无线通讯网络的发展,3 g 系统的无 线接入速率将会提高到1 4 4 k b i t s 1 1 7 1 。 基于uc o s i i 的嵌入式无线i p 接入的实现 1 2 课题提出 将嵌入式系统接入i n t e m e t ,主要的困难在于,i n t e m e t 上面的各种通信协议对 于计算机存储器、运算速度等的要求比较高,而嵌入式系统中大量存在着8 1 6 位 微控制器和低端3 2 位微控制器,支持t c p i p 等i n t e m e t 协议将占用大量系统资源, 或根本不可能。另外,如果设备工作环境条件比较恶劣或设备处于移动状态,则 不宜采用有线i n t e m e t 接入方式。 针对存储能力和计算速度有限的,需要以无线方式接入i n t e m e t 的嵌入式设备, 本文提出了一种基于c d m a 网络的无线接入i n t e r a c t 的方案。 与g p r s 相比,c d m a 的优点是:数据和语音采用不同的信道传输,在同一 基站下语音用户数量增加,不会影响数据通信。c d m a1 x 的峰值速率为 1 5 3 6 k b i t s ,而g p r s 仅为1 1 5 2 k b i t s 。所以方案中选用了c d m a 网络。 方案中采用的a r m 7 微控制器仅有3 2 k b 的片内静态r a m 和5 1 2 k b 的片内 f l a s h 存储器。为了实现多任务管理与系统功能的扩展,移植了一个嵌入式实时 操作系统,这样剩余的存储空间就更少了。 1 3 本论文的主要研究内容 本文采用基于a r m 7 的嵌入式开发平台和串口c d m a 调n 解调器为硬件基 础,以实时操作系统和开源t c p i p 协议栈为软件蓝本,提出一种嵌入式无线i p 接入方案。该方案具有低功耗、低成本、可移动等特点。可大幅增强嵌入式设备 的移动性,扩大设各应用的环境,改变以往独立的存在方式,进入一种开放互联 的方式。 本文主要完成以下工作: 1 网络嵌入式发展分析:从构成网络嵌入式的三个基本因素( 嵌入式处理器、 嵌入式操作系统、网络协议) ,具体分析了网络嵌入式技术的发展状况。 提出一种适用于轻量级嵌入式系统的无线i p 接入方案。 2 1 jc o s i i 操作系统分析:阐述了i ic o s i i 的任务与任务管理,事件管理 和内存管理等机制,及l ac o s i i 移植的基本过程,为实现t c p i p 协议提 供了系统支持。 3 p p p 及t c p i p 协议栈的实现:以r f c 文档作为参考,并根据实际需求确 定要实现的协议功能,通过对l w l p 等协议栈的相关文档和代码的分析, 设计相应部分的结构和流程,并最终完成嵌入式协议栈的代码实现。 4 系统硬件的设计:以p h i l i p s 公司的l p c 2 1 3 8 为例,分析了a r m 7 t d m i s 第一章绪论7 系列的处理器的结构与特点。实现了a r m 7 开发平台与c d m a 模块硬件 连接,为操作系统和协议栈的移植做好硬件准备。 5 系统软件的实现:把uc o s i i 移植到l p c 2 1 3 8 处理器上,作为整个系统 的软件基础,编写了串口驱动程序,并移植了t c p i p 协议栈。实现了嵌 入式系统的无线球接入。 6 总结与展望:总结了本文的主要工作,并结合论文的研究工作,提出了三 点展望。 第二章实时操作系统uc 0 s i i 的分析9 第二章实时操作系统c 0 s _ l l 的分析 2 1 | lc 0 s i i 概述 随着嵌入式系统的发展,各种应用于嵌入式系统的实时操作系统得到了广泛 的应用。各类商用的实时操作系统,如v x w o r k s 、w i nc e 等功能强大,但价格相 当昂贵,对于中小型系统来说软件成本太高,而且商用实时操作系统一般都不提 供源代码,对代码进行调整和优化比较困难。p c o s i i 是一个公开源代码的实时 嵌入式内核,它提供了实时系统所需的基本功斛1 8 1 。其包含全部功能的核心部分 代码只占用8 3 k 字节,短小精悍。p c o s - i i 不仅使用户得到廉价的解决方案,而 且 l c o s - i i 的开放源代码用户还可以针对自己的硬件优化代码,以获得更好的性 能。 p c o s i i 实际上仅是一个实时操作系统内核,只包含了任务调度、任务管理、 时间管理、简单内存管理、任务间的通信与同步等基本功能。没有提供输入输出 管理、文件系统、网络之类的额外服务。但是由于t t c o s i i 的可移植性和开源性, 用户可以自己添加所需的模块。目前,己经有为 c o s i i 开发的文件系统、t c p i p 协议栈、用户显示接口等模块。 p c o s i i 是一个抢占式实时操作系统,即己经准备就绪的高优先级任务可以 剥夺正在运行的低优先级任务的c p u 使用权。这个特点使得它的实时性比非占先 式的内核要好。另外内核的实现都仔细考虑了运行时间的确定性问题,任务调度、 任务问通信、内存分配都是采用执行时间可确定的设计,不会因为任务数变化、 顺序变化等出现执行时间的差异。这点确保了调度延时、中断延时的准确计算, 在内核上保证了系统的实时性。 f c o s - i i 和l i n u x 等分时操作系统不同,不支持时间片轮转法。它是一个基于 优先级的实时操作系统。为简化系统,规定每个任务的优先级必须不同。进入就 绪态的优先级最高的任务首先得到c p u 的使用权,只有等它交出c p u 的使用权后, 其他任务才可以被执行。肛c o s i i 的这种特性可以保证重要任务总是优先占有 c p u 。 p c o s i i 移植方便,系统大部分代码采用c 语言编写,与硬件相关的部分都 集中在一两个文件中,并给出了规范的接口说明,移植相当方便,可应用于目前 大多数型号的8 位、1 6 位、3 2 位c p u 。 i _ , c o s i i 的主要文件仅有十几个,图2 1 是g c o s i i 的文件结构。 l o基于uc o s i i 的嵌入式无线i p 接入的实现 uc o s - i i ( 与处理器无关的代码) o sc o r e c ( 核心代码) o sf l a g e c ( 事件标志组) o sm b o x c ( 消息邮箱1 o sm e m c ( 内存管理) o sm u t e x c ( 互斥信号量) o sq c ( 消息队列) o ss e m c ( 信号量) o st a s k s ( 任务管理) o st i m e c ( 时间管理) u c o si i c ( 内核结构) u c o si i h ( 内核结构) 移植l ac o s - i i ( 与处理器类型有关的代码) o sc p u ho sc p ua a s mo sc p uc c 软件 一一一一一一一一一一一一一一一j i 存一一一一一一一一一一一一一一一 二二三二 困 2 2 1 任务与任务管理 图2 1 肛c o s - i i 的文件结构 2 2l ac o s 1 1 分析 任务又叫线程,是一段简单的程序,该程序可以认为c p u 完全只属于该程序 自己,不用考虑任务切换中寄存器的变化。如何把问题分割成多个任务是设计应 用程序的关键一步。每个任务都是整个应用的某一部分,每个任务被赋予一定的 优先级,有它自己的一套c p u 寄存器和栈空间。如图2 2 所示。任务处于非运行 态时,该任务运行的c p u 状态保存在自己的堆栈中,当被调度到运行态时,由堆 栈调入c p u 寄存器。u w 最新版的肛c o s i f 2 8 0 最多可以管理1 2 8 个任务 2 0 1 ,为了简化设计,肛c o s i i 规定所有任务的优先级必须不同,任务的优先级同时也唯一地标识了该任务,任 务的优先级的值越低,表示优先级越高。t t c o s i i 提供了任务管理的各种函数调 用,包括创建任务、删除任务、改变任务的优先级、挂起和恢复任务等。系统初 始化时会自动产生两个任务:一是空闲任务o s 亿k i d l e ( ) ,它的优先级最低,为 第二章实时操作系统pc 0 s i i 的分析1 1 o s l o w e s t - p r i o ,该任务只是不停地给一个3 2 位的整型变量o s i d l e c t r 加一, 该数用于计算c p u 利用率;另一个是统计任务o s t a s k s t a t 0 ,它的优先级为 o sl o w e s t _ p r i o - 1 ,该任务每秒运行一次,负责计算当前c p u 的利用率。 任务l任务2 任务n n n 屠 一警一弋弋一7 么删 c 高存, f 习 b 耍固到 | _ 一 【u 1一 图2 2 多任务 i _ t c o s i i 为每个处于非睡眠态的任务都提供了一个t c b ( t a s kc o n t r o lb l o c k ) 结构变量,它用来保存对应任务的一些基本信息。这样,当此任务被挂起或者处 于等待状态时( 也就是说此任务的c p u 使用权被剥夺时) ,内核把有关该任务的 状态信息保存到t c b 中。当任务重新获得c p u 使用权时,此任务的t c b 信息被 调入c p u 寄存器和运行变量中,c p u 跳转到任务的中断点处继续执行。 i l c o s i i 的任务有五种状态:休眠态、就绪态、运行态、挂起态、被中断态。 如图2 3 所示。 删除任务 图2 3 任务状态 1 2 基于1 1c o s i i 的嵌入式无线i p 接入的实现 任务管理包括以下的几个函数:o s t a s k c r e a t e 0 ,用来创建任务; o s t a s k s t k c h k 0 用来检测堆栈;o s t a s k d e l 0 用来删除任务;o s t a s k d e l r e q 0 用 来请求删除;o s t a s k c h a n g e p r i o ( ) 用来改变任务的优先级;o s t a s k s u s p e n d ( ) 用来 挂起任务;o s t a s k r e s u m e ( ) ,用来恢复被挂起的任务;o s t a s k q u e r y ( ) 用来取得 有关任务的信息。 时钟节拍是特定的周期性中断。这个中断可以看作是系统心脏的脉动。 i _ t c o s 4 i 的时钟节拍一般控制在l o l o o h z 。时钟节拍频率越高,系统的额外负荷 也就越重。时钟节拍是任务申请延时或超时控制的计时单位,同时也是定时调度 的时间基准,因此时钟节拍的频率决定了系统延时的精度。i x c o s i i 提供了与时 钟节拍相关的系统服务,允许任务延时一定数量的时钟节拍或按时、分、秒、毫 秒进行延时。 2 2 2 事件管理 对于多任务操作系统来说,需要处理好任务之间的关联关系,包括互斥、通 信、同步。只有多个共同运行的任务相互协调,才能有序地共同完成实际任务。 i - l c o s i i 提供了四种基本的事件( 或称信号) ,分别是互斥量( m u t u a le x c l u s i o n s e m a p h o r e ) 、信号量( s e m a p h o r e s ) 、消息邮箱( m e s s a g em a i lb o x ) 、消息队列 ( m e s s a g eq u e u e ) 。事件的基本数据结构是通过事件控制块e c b ( e v e n tc o n t r o l b l o c k ) 来实现的。每个信号量、互斥信号量、消息邮箱及消息队列都应分配到一 个事件控制块e c b 。事件控制块的数据结构定义如下: t y p e d e fs t r u c t i n t 8 u o s e v e n t t y p e ; ,事件类型, i n t 8 u o s e v e n t g r p ; ,等待任务列表, i n t l 6 uo s e v e n t c n t ; 广计数器( 当事件是信号量时) , v o i d + o s e v e n t p t r ;,指向消息或者消息队列的指针, i n t 8 uo s e v e n t t b i o s _ e v e n tt b l s i z e ;r 等待任务列表, o s _ e v e n t , o s e v e n t t y p e 表示事件具体的类型。o s e v e n t p t r 只在事件是消息邮箱或消息队 列时才使用。当事件是消息邮箱时,指向一个消息,当事件是消息队列时,指向 一个数据结构。o s e v e n t g r p 和o s e v e n t t b l 构成了等待任务列表。o s e v e n t c n t 表 示信号量的计数器。 多任务内核中普遍应用信号量来控制共享资源的使用权,标志事件的发生, 使2 个任务同步。在信号量的使用中,如果信号量是用来表示一个或者多个事件 第二章实时操作系统uc o s i i 的分析 1 3 的发生,那么该信号量的初始值应设为0 ,表示初始时没有该类事件发生;如果信 号量是用于对共享资源的访问,那么该信号量的初始值应设为1 ,把它当作二值信 号量也就是互斥量来使用;如果该信号量是用来表示允许任务访问n 个相同的资 源,那么该初始值就设为n ,并把该信号量作为一个可计数的信号量使用。 p c o s i i 提供的任务间通信方式有两种消息邮箱和消息队列。 消息邮箱可以使一个任务或者中断服务子程序向另一个任务发送一个指针型 的变量。邮箱包含的内容是一个指向一条消息的指针。一个邮箱只能包含一个这 样的指针( 邮箱为满时) ,或者一个指向n u l l 的指针( 邮箱为空时) 。消息邮箱也 可以作为2 值信号量来使用。邮箱里有消息,表示资源可使用,面空邮箱表示资 源已被其他任务占用。 消息队列实际上是邮箱阵列,它可以使一个任务或者中断服务子程序向另一 个任务发送以指针方式定义的变量。传递的消息是指针指向的内容。t t c o s - i i 允 许先进先出( f i f o ) 和后进先出( u f 0 ) 两种传递原则。 信号( 事件) 的基本操作有四类,c r e a t e 用于创建并初始化、p e n d 用于等待 信号、p o s t 用于发送信号、d e l 用于删除信号。另外d c o s - i i 还提供了无等待的 a c c e p t 来接收信号。由于p c n d 在信号不可取得时将引起任务挂起,所以不能在中 断处理程序中使用。对于同外部硬件相联系的任务,常常在中断处理程序中进行 p o s t 操作,以告诉一个等待的任务某事件已经发生或者告诉该任务一个消息。 2 2 3 内存管理 内存管理主要实现内存的动态分配与释放,一般采用大块内存动态分割的方 法,但这种方法会产生内存碎片,需要进行消除碎片的处理,这一方面消耗时间, 另一方面会引起执行时间的不确定性。p 。c o s 4 i 提供了一种简单的内存管理机制, 它把连续的大块内存按区划分,每个分区中包含整数个大小相同的内存块,但不 同分区之间块的大小可以不同。用户需要分配内存时,选择一个适当的分区,按 块进行内存分配,并且每次分配一块。该方法还要求特定的内存块在释放时必须 重新放回它以前所属于的内存分区。这种方法虽然不够灵活,但能有效地解决内 存碎片的问题,当然它也会造成内存浪费。该方法另一个好处是算法简单,执行 时间固定的,这在实时性的系统中比较重要。这个内存管理比较适合在中断服务 程序和时间要求严格的程序中使用。 i l c o s i i 中内存管理的主要操作有:o s m e m c r c a

温馨提示

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

评论

0/150

提交评论