(计算机应用技术专业论文)基于嵌入式平台的无线led信息发布系统的设计与实现.pdf_第1页
(计算机应用技术专业论文)基于嵌入式平台的无线led信息发布系统的设计与实现.pdf_第2页
(计算机应用技术专业论文)基于嵌入式平台的无线led信息发布系统的设计与实现.pdf_第3页
(计算机应用技术专业论文)基于嵌入式平台的无线led信息发布系统的设计与实现.pdf_第4页
(计算机应用技术专业论文)基于嵌入式平台的无线led信息发布系统的设计与实现.pdf_第5页
已阅读5页,还剩82页未读 继续免费阅读

(计算机应用技术专业论文)基于嵌入式平台的无线led信息发布系统的设计与实现.pdf.pdf 免费下载

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

文档简介

北京邮电大学硕士研究生学位论文基于嵌入式平台的无线l e d 信息发布系统设计与实现 声明 独创性( 或创新性) 声明 l i i ii iii iii ii i ii ii ii if y 17 5 9 9 6 1 本人声明所呈交的论文是本人在导师指导下进行的研究工作及取得的研究 成果。尽我所知,除了文中特别加以标注和致谢中所罗列的内容以外,论文中不 包含其他人已经发表或撰写过的研究成果,也不包含为获得北京邮电大学或其他 教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任 何贡献均已在论文中作了明确的说明并表示了谢意。 申请学位论文与资料若有不实之处,本人承担一切相关责任。 本人签名:日期: 们a o 关于论文使用授权的说明 学位论文作者完全了解北京邮电大学有关保留和使用学位论文的规定,即: 研究生在校攻读学位期间论文工作的知识产权单位属北京邮电大学。学校有权保 留并向国家有关部门或机构送交论文的复印件和磁盘,允许学位论文被查阅和借 阅;学校可以公布学位论文的全部或部分内容,可以允许采用影印、缩印或其它 复制手段保存、汇编学位论文。( 保密的学位论文在解密后遵守此规定) 保密论文注释:本学位论文属于保密在年解密后适用本授权书。非保密论 文注释:本学位论文不属于保密范围,适用本授权书。 本人签名:盔1 3 虫盘 导师签名: 幺纭) 篓丝尘 日期:幽! ! 兰p 北京邮 密级: 0 7 5 5 2 4 名:割噬壶 业: 让簋扭廑旦堇苤 师:筮塞医 院:筐皇皇逗筐王程堂医 2 0 1 0 年1 月1 0 学姓专导学 北京邮电大学硕士研究生学位论文 基于嵌入式平台的无线l e d 信息发布系统设计与实现 声明 独创性( 或创新性) 声明 本人声明所呈交的论文是本人在导师指导下进行的研究工作及取得的研究 成果。尽我所知,除了文中特别加以标注和致谢中所罗列的内容以外,论文中不 包含其他人已经发表或撰写过的研究成果,也不包含为获得北京邮电大学或其他 教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任 何贡献均已在论文中作了明确的说明并表示了谢意。 申请学位论文与资料若有不实之处,本人承担一切相关责任。 本人签名:日期: 关于论文使用授权的说明 学位论文作者完全了解北京邮电大学有关保留和使用学位论文的规定,即: 研究生在校攻读学位期间论文工作的知识产权单位属北京邮电大学。学校有权保 留并向国家有关部门或机构送交论文的复印件和磁盘,允许学位论文被查阅和借 阅;学校可以公布学位论文的全部或部分内容,可以允许采用影印、缩印或其它 复制手段保存、汇编学位论文。( 保密的学位论文在解密后遵守此规定) 保密论文注释:本学位论文属于保密在年解密后适用本授权书。非保密论 文注释:本学位论文不属于保密范围,适用本授权书。 本人签名: 导师签名: 日期: 日期: 北京邮电大学硕士研究生学位论文 基于嵌入式平台的无线l e d 信息发布系统设计与实现 基于嵌入式平台的无线l e d 信息发布系统的设计与实现 摘要 近年来,随着嵌入式系统的快速发展,越来越多的嵌入式设备被 用于工业控制等领域。同时随着无线通信技术的进一步普及,嵌入式 设备通过网络接入局域网或者i n t e r n e t 已经逐步成为相关应用的趋 势。以嵌入式系统为平台,依赖于无线网络进行数据传输,成本越来 越低,通信更加可靠,在此基础上开发与之对应的一套完整的应用系 统,用户可以在任何一台联网的计算机上通过浏览器对设备进行配 置、管理、查看,因此具有重要的研究意义和应用价值。 户外l e d 信息牌作为一种全新的信息媒体,己被广泛的应用。本 课题就是利用嵌入式系统结合无线通信技术,采用b s 架构和模块化 设计方法,设计了一套无线l e d 信息发布系统。目的就是实现l e d 屏 的远程控制和批量控制,要让无线监控与数据采集系统的开发更方便 快捷,让复杂的功能需求变得容易实施,省去繁重的编码任务,提高 系统稳定性和开发效率。 本论文设计的无线l e d 信息发布平台分为四部分: 1 数据传输单元( d t u ) d t u 是运行嵌入式实时操作系统uc o s - i i 的设备,通过嵌入式 t c p i p 协议l w i p 连接到i n t e r n e t ,利用g s m g p r s 公共网络将采集 和监控数据传送到本地的监控中心。 2 无线通信服务软件( m s e r v e r ) m s e r v e r 是一个数据中转站,它接收d t u 发来的数据,转发给客 户端,同时接收客户端的指令,下达给d t u 。 3 数据中心客户端( d c c ) d c c 和数据库进行通信,将d b 中的任务发给m s e r v e r ,同时将 m s e r v e r 反馈的信息放入d b 。 4 w e b 客户端( w e bc l i e n t ) w e b 客户端提供与用户的交互,将任务信息通过w e b 服务器存入 数据库,同时通过w e b 服务器读取数据库中的信息并显示。 本论文设计的无线l e d 信息发布系统是国内首款网页版无线l e d 屏广告投放系统,作者的主要工作在于设计和开发d t u 上层应用软 北京邮电大学硕士研究生学位论文基于嵌入式平台的无线l e d 信息发布系统设计与实现 件、无线通信服务软件的接口、数据中心客户端和w e b 客户端。目前 该平台开发完成,并已大规模商用,达到了课题的目的,也论证了该 平台的研究意义和应用价值。 关键词:无线,g p r s ,嵌入式,uc o s - i i ,d t u ,m s e r v e r ,w e b ,f l e x w i d e l y u s e d u s i n g e m b e d d e d s y s t e m sc o m b i n i n g w i r e l e s s c o m m u n i c a t i o n s t e c h n o l o g y ,a d o p t i n gb s a r c h i t e c t u r ea n dm o d u l a r d e s i g nm e t h o d s ,t h i si s s u ed e s i g n saw i r e l e s sl e ds c r e e ni n f o r m a t i o n p u b l i s h i n gs y s t e m i t sp u r p o s ei st oc o n t r o ll e ds c r e e n sr e m o t e l ya n di n l a r g eq u a n t i t i e s ,t h es e t t i n gu pf o rw i r e l e s ss u p e r v i s o r yc o n t r o la n dd a t a a c q u i s i t i o ns y s t e mq u i c k e ra n dm o r ec o n v e n i e n t ,t oa l l o wc o m p l e x f u n c t i o n a lr e q u i r e m e n t sb e c o m ee a s i e rt o i m p l e m e n t ,s a v et h eh e a v y c o d i n gt a s k s ,e n h a n c es y s t e ms t a b i l i t ya n dd e v e l o p m e n te f f i c i e n c y t h ep l a t f o r mi sd i v i d e di n t of o u r p a r t s : 1 d a t at r a n s m i tu n i t ( d t u ) d t ui sa ne m b e d d e dd e v i c ew h i t he m b e d d e dr e a l t i m eo p e r a t i n g s y s t e m m c o s - i i i ta d o p t se m b e d d e dt c p i pp r o t o c o ll w l p t oc o n n e c t 北京邮电大学硕士研究生学位论文基于嵌入式平台的无线l e d 信息发布系统设计与实现 t ot h ei n t e r n e t ,s e n d sd a t at ol o c a lm o n i t o r i n gc e n t e rv i ag s m g p r s n e t w o r k 2 w i r e l e s sc o m m u n i c a t i o ns e r v i c es o f t w a r e ( m s e r v e r ) m s e r v e ri sad a t at r a n s f e rs t a t i o n i tr e c e i v e sd a t af r o md t ua n d s e n d si tt oc l i e n t a st h es a m et i m em s e r v e rr e c e i v e st h ei n s t r u c t i o n s f r o mc l i e n ta n ds e n d st h e mt od t u 3 d a t ac e n t e rc l i e n t ( d c c ) d c cc o m m u n i c a t e sw i t hd a t a b a s ea n dm s e r v e r o nt h eo n eh a n d i t s e n d st h et a s k si nd a t ab a s et om s e r v e r o nt h eo t h e rh a n d ,i tu p d a t e sd a t a i nd a t a b a s ea c c o r d i n gt ot h ef e e d b a c ki n f o r m a t i o n so fm s e r v e r 4 w e bc l i e n t 、阮bc l i e n tp r o v i d e st h ei n t e r a c t i v ef o ru s e r s i tc a ns t o r e st a s k s i n f o r m a t i o n si n t od a t a b a s ea n dd i s p l a yi tv i aw e bs e r v e r t h ew i r e l e s sl 巳ds c r e e ni n f o r m a t i o np u b l i s h i n gs y s t e md e s i g n e db y t h i sp a p e ri st h ef i r s tc i v i lw e bl e ds c r e e na d v e r t i s i n gs y s t e m t h em a i n t a s to ft h ea u t h o ri st od e v e l o pu p p e r - l a y e ra p p l i c a t i o no fd t u 、i n t e r f a c e o fw i r e l e s sc o m m u n i c a t i o ns e r v i c es o f t w a r e 、d c ca n dw e bc l i e n t c u r r e n t l yt h ep l a t f o r mh a sb e e nf i n i s h e da n dw i d e l yu s e d ,w h i c ha c h i e v e s t h e p u r p o s e o ft h es u b j e c t ,a n dd e m o n s t r a t e st h e s i g n i f i c a n c e a n d a p p l i c a t i o nv a l u eo fr e s e a r c hp l a t f o r m k e y w o r d s :w i r e l e s s ,g p r s ,e m b e d d e d ,c o s - i i ,d t u ,m s e r v e r , w e b ,f l e x 北京邮电大学硕士研究生学位论文 基于嵌入式平台的无线l e d 信息发布系统设计与实现 第一章绪论 目录 1 1 课题研究背景 1 2 国内外研究现状 1 2 1 无线监控系统发展现状及前景 l 1 2 2 l ,2 ,2 基于g p r $ 的无线监控系统简介一3 3 3 1 3 3 2 第四章系统详细设计及实现 4 1d t u 应用软件的设计 2 6 2 7 2 7 2 9 2 9 2 9 3 d 3 2 3 3 3 4 3 5 3 5 4 1 1 胎解一一 4 1 2l w l p 线程 4 1 3n e t _ w r i t e os 能t j e 口d ( ) 的实现过程 4 2 无线通信服务软件的设计 4 2 2 0 9 值觥一 1 北京邮电大学硕士研究生学位论文 基于嵌入式平台的无线l e d 信息发布系统设计与实现 4 2 3 力豫j 蹩垂耍3 6 4 2 5 加珑序乒3 9 4 2 6 鼹务器的设计一 4 3 数据中心客户端的设计 4 3 1 概述 4 3 5d c c 主界面一 4 4w e b 客户端的设计与实现 铭 4 3 一司哆 一一钌 4 4 3 r i a 技术 4 4 4c a i r n g o r m 框架设计 4 4 5c a i r n g o r mi 作流程 4 4 7 客声端魄运作流程 4 4 8 客声端的技术难点 第五章测试结果分析 5 1 系统运行效果 5 4 5 5 5 7 5 8 5 8 5 1 1 硝寓叠 孚5 8 5 1 2 兰警i 苗i l $ :孚 5 1 4 系统管理 5 2 系统运行评估 第六章总结与展望 6 1 总结 6 2 展望 参考文献 6 2 附录1 点阵数据的提取和预览效果的实现 附1 1 点阵数据的提取【1 8 j 附1 2 预览效果的实现 致谢 攻读硕士学位期间发表的论文 2 铊以 “ 甜甜 酾 酊 酊n 俘 北京邮电大学硕士研究生学位论文 基于嵌入式平台的无线l e d 信息发布系统设计与实现 第一章绪论 互联网的迅猛发展促进了全球信息的共享和交流,同时人们也越来越希望通 过网络来实现远程信息的获取和设备的控制,嵌入式系统的发展在一定程度上满 足了这方面的需求。将无线通信数字业务与嵌入式系统结合在一起,开发与之相 对应的一整套应用系统,用户可以很方便地查看设备的状态,配置设备的参数, 控制设备的运行,从而实现设备的远程监控和批量控制,将会得到越来越广泛的 应用。 1 1 课题研究背景 随着信息化、智能化、网络化的发展,嵌入式系统技术也获得了广阔的发展 空间。嵌入式技术的迅速发展不仅使之成为当前微电子技术与计算机技术中的一 个重要分支,同时也使计算机的分类从以前的巨型机、大型机、小型机、微机之 分变为通用计算机与嵌入式系统之分。嵌入式的应用更是遍及金融、航天、电信、 网络、信息家电、医疗、工业控制、军事等各个领域,以致有些学者断言,嵌入 式技术将成为后p c 时代应用非常广泛的技术。 一 进入0 9 年代后,我国移动通信业飞速的发展。基于无线新技术的增值服务 悄然地改变着城市的面貌、改变着人民的生活方式,无线通信技术广泛地应用于 工业监控领域。采用先进的g s m g p r s 技术的无线监控管理系统,集计算机、通 信、机电、自动控制等多种先进技术于一体,成功实现了对无线分布式系统的监 控管理和灵活部署【1 1 。近年来,远程监测行业得到了迅速的发展,本课题正是结 合嵌入式技术及g s w g p r s 无线通讯技术,重点对无线远程监控的终端系统以及 与之相对应的应用系统进行了探索和研究。 课题的目的是构建一个实现特定功能的嵌入式设备以及依托于w e b 服务器 的一整套发布系统,它可以对远程设备进行监控,用户可通过网络远程访问w e b 服务器来实现数据的采集和历史数据的查询,也可以通过各种接口对远程设备进 行控制。此外,还可以根据需要添加新的控制功能,而不需对w e b 服务器的框架 进行大的改动。 本文所实现的嵌入式和w e b 服务器具有一般性,经过改进后可以用于工业控 制或智能家居等系统,因此具有一定的现实意义。系统可以用于远程温度、湿度 等物理量的采集,也可以用于远程图像的传输。通过嵌入式系统的各种接口,还 可以实现设备的远程控制。 北京邮电大学硕士研究生学位论文基于嵌入式平台的无线l e d 信息发布系统设计与实现 由于i n t e r n e t 的普及,借助于i n t e r n e t 可以快速、可靠地传递各种控制信 息。而嵌入式系统具有成本、体积、功耗等方面的优势,因此,将嵌入式系统与 i n t e r n e t 结合起来,是其发展的潮流与趋势。i n t e r n e t 中发展最快而且最先被 广泛使用的是w w w 服务。w e b 服务器与w e b 浏览器提供了方便而稳定的服务,通 过在嵌入式设备中增加t c p i p 协议栈并构建对应w e b 应用系统,用户就可以通 过w e b 浏览器远程监控并管理该设备。用户可以在任何地点用标准w e b 浏览器( 如 i e 和f i r e f o x 浏览器) 访问嵌入式设备,而不需要编写任何客户端程序。 在工业应用领域,在智能设备、仪器和传感器等领域使用浏览器通过网络访 问远端嵌入式设备是很有意义的。在用户端浏览器中可以在页面中进行系统的配 置和设备参数的调整。正因为如此,传统的c s 结构控制模式正逐步向b s 结构 转移,这样可以降低成本,而且不必要开发客户端的g u i l 2 1 。综上所述,开发嵌 入式设备以及与之对应的w e b 应用系统具有很重要的现实意义和应用价值。 1 2 国内外研究现状 1 2 1 无线监控系统发展现状及前景 远程监控技术的出现,是计算机网络技术与无线监控技术相结合的必然结 果。早期远程监控技术是非实时非在线监控方式,而现代远程监控技术是实时在 线监控方式,借助于计算机、互联网和通信技术,操作者可以依靠安装在现场的 各种传感器及音视频设备,远隔千里便可随时了解现场生产与设备情况,对生产 现场进行监控、诊断与控制。远程监控技术的模式是与通信技术的发展密不可分 的,伴随着通信技术的发展,出现了三种远程监控模式。 1 人工远程监控:这种方式是通过人工对现场参数及现场运行情况进行录, 然后带回总控室由工程师进行分析推理,这就包含了太多的人为因素,而且无法 实现实时在线监控,存在很多弊端,这是比较原始的方式。 2 有线网络远程监控:有线网络监控方式是现代远程监控模式,将现场各个 采样点通过通信线连成网。根据通信方式的不同,可以有以太网、光纤网等等, 这种方式也是现在广为使用的方式,如现场总线。其最显著的特点是现场的采样 设备将各种传感器获取的设备状态信息转变为数字信号后,通过网络传送给远程 诊断工程师。远程诊断工程师再利用计算机和现代数字信号处理技术对收到的数 字信号进行分析处理,对设备状态进行评估,给出诊断结论并将结果返回给现场 人员。由于数字信号远程传输的保真度高,不受时间和空间影响,因此诊断结论 可靠性高,可以实现真正意义上的实时在线远程监控与诊断。但是这种方式在网 北京邮电大学硕士研究生学位论文基于嵌入式平台的无线l e d 信息发布系统设计与实现 络铺设上投资巨大,而且受距离限制,各数据点之间的距离越远铺网的投资就要 上升,主要是由于需要增设路由器。 3 无线网络远程监控:无线网络远程监控又分为两种:一种是单独构建无线 网,另一种是利用公网g s m 。第一种方式由于要自己进行网络构建包括传输设备, 中继站,传输协议制定,工作量比较大。第二种用g s m 网络实现,这类监控的通 信方式是依托遍布全球的g s m 网,它的最大特点是打破了距离的限制,从而可以 实现全国乃至全球漫游监控这类监控主要是利用s m s 短消息和g p r s 数据业务通 过i n t e r n e t 进行通信。s m s 短消息方便快捷,适应于信息量小的情况:g p r s 技术 传输速度快,永远在线,用g p r s 技术实现的监控系统,实时性强,安全可靠, 按流量计费,能承载较大的数据量。利用g p r s 并加以s m s 方式作补充进行远程 监控,既避免了开发新的频率资源,又开辟了远程监控的新领域。该系统具有网 络覆盖范围广,系统抗干扰能力强,通信速度快,通信误码率低等优点,并且完 全利用g s m 和g p r s 移动通信网络,其建设和运行成本低。随着g p r s 网络技术的 不断发展,构筑在g p r s 网上的远程无线监控系统必然能与移动通信技术的发展 同步,因而具有广阔的前景1 1 j 。 1 2 2 基于g p r s 的无线监控系统简介 建设专用的有线或无线网络是传统监控系统的实现方式,这需要高额的建设 和维护费用。随着无线通信技术的迅速发展,提供给我们一种成本更低廉、速度 更快捷的通信方式,通用分组无线业务( g e n e r a lp a c k e tr a d i os e r v i c e ,简称 g p r s ) 。 通用分组无线业务( g e n e r a lp a c k e tr a d i os e r v i c e ,简称g p r s ) 1 3 j ,是在 现有全球移动通信系统( g l o b a ls y s t e mf o rm o b il e ,简称g s m ) 网络上开通的 一种新型的数据传输技术,g p r s 采用分组交换方式,仅在实际传送和接收数据 时才占用无线资源。g p r s 理论上可提供高达1 7 1 2 k b s 的传输速率,这意味着 通过便携式电脑,g p r s 用户能和综合业务数字网( i n t e g r a t e ds e r v i c ed i g i t a l n e t w o r k ,简称i s d n ) 用户一样快速地上网浏览,同时也使一些对传输速率敏感 的移动多媒体应用成为可能。除了速度上的优势外,g p r s 还有“永远在线”的 特点,即用户可随时与网络保持联系。另外分组交换接入时间缩短为少于1 秒, 能提供快速即时的连接,可大幅度提高一些事务( 如信用卡核对、远程监控等) 的效率。因此基于g p r s 网络的无线监控系统结构紧凑、功能丰富和实时性强等 特点,又可以利用g p r s 网络进行数据传输,扩展了系统的应用范围,使得该系 统可以广泛适用于水情远程监控、信用卡确认等场合【4 1 。 3 北京邮电大学硕士研究生学位论文 基于嵌入式平台的无线l e d 信息发布系统设计与实现 1 3 论文主要工作 本文的主要工作就是设计一款嵌入式设备,并构建相应的无线l e d 信息发布 的应用系统。它以嵌入式系统为指导思想,结合了t c p i p 协议和w e b 服务器技 术,尽可能的提供一个简单、灵活、高效的,适合于现代环境新特性的监控系统。 具体来说,本文所做的工作主要体现在以下几个方面: ( 1 ) 根据客户需求以及无线监控系统的特点,提出了无线l e d 信息发布系统 的整体设计方案。 ( 2 ) 嵌入式系统开发环境的搭建,嵌入式t c p i p 协议的设计与实现, u c o s - i i 往a r m 7 上移植的过程。 ( 3 ) 数据传输单元上层应用软件的设计和实现。 ( 4 ) 无线通信服务软件的设计与实现,集中于d c c 接口的设计实现。 ( 5 ) 数据中心客户端的具体实现,通信模块的设计,以及通信协议的制定。 ( 6 ) 网页客户端的设计实现,包括b s 架构的优点、r i a 技术特点、基于 c a i r n g o r m 的f l e x 应用程序设计方法、点阵数据的提取和预览效果的展示等技 术难点的代码实现,以及客户端与w e b 服务器的底层通信。 最后,对整个系统的设计过程和系统本身的性能作了总结,并探讨了系统进 一步改进的方向。 1 4 论文组织结构 第二章主要讲述无线l e d 信息发布系统的核心技术,涉及到嵌入式系统 u c o s - i i ,嵌入式t c p i p 协议栈l w i p 的设计与实现以及g p r s 系统的原理和网络结 构。 第三章主要讲述整体设计架构以及各个子模块的设计架构和实现的功能,包 括无线数据终端、无线通信服务软件、数据中心客户端以及w e b 客户端。另外简 要描述了无线数据终端的硬件设计方案。 第四章详细描述了四个主要功能模块的内部实现细节,包括无线数据终端应 用软件的设计,无线通信服务软件的设计( 主要集中于服务器的设计及d c c 接口 的设计) ,数据中心客户端的设计( 包括a d o 连接技术的实现步骤、通信模块的 流程设计以及通信协议的制定) ,w e b 客户端的各个管理模块以及运作流程,并 对基于c a i r n g o r m 的f l e x 应用程序设计做了详尽的描述。 4 北京邮电大学硕士研究生学位论文基于嵌入式平台的无线l e d 信息发布系统设计与实现 第五章对网页信息发布系统各个模块进行了大量的测试和评估,对系统的运 行效果有了清晰的认识,在肯定系统的重要价值的同时,也指出了系统的不足之 处。 第六章对论文所做的工作进行了总结,并提出了进一步的改进措施。 附录1 详细介绍了实现w e b 客户端的技术难点的源代码,包括两部分:点阵数 据的提取和预览效果的实现。 北京邮电大学硕士研究生学位论文基于嵌入式平台的无线l e d 信息发布系统设计与实现 第二章系统关键技术 2 1 嵌入式实时系统g o o s - i i 2 1 1l ic o s - i i 概述 目前,嵌入式操作系统种类繁多,按照实时性能分为两类:实时嵌入式操作 系统和非实时嵌入式操作系统。本系统对实时性要求较高,且选用的微处理器r a m 和f l a s h 的大小都很有限,故选用uc o s i i 作为嵌入式操作系统,t c p i p 协议和 文件系统通过扩展实现。 uc o s - i i 操作系统是一个源码公开、可移植、可固化、可裁剪和占先式的 实时多任务操作系统。虽然1 1c o s - 1 1 只是提供了时间管理、任务间通信同步、 任务管理和内存管理等主要服务,但它的可扩展性强。可扩展的上层服务有:设 备驱动,文件系统,图形系统和t c p i p 协议系统等,并且由于其性能可以与许多 高端商业软件产品相媲美,甚至某些性能比它们还要好,正以其巨大的优势吸引 了众多开发者。其主要特点如下。 ( 1 ) uc o s - i i 是一个占先式的内核,即已经准备就绪的高优先级任务可以剥 夺正在运行的低优先级任务的c p u 使用权。这个特点使得它可以把中断响应时间 限制在一定的范围内。这对于对中断响应时间有严格要求的系统是必不可少的。 ( 2 ) uc o s - i i 不支持时间片轮转法,它是一个基于优先级的实时操作系统。 ( 3 ) l ic o s - i i 对共享资源提供了信号量方法进行保护。 ( 4 ) l ic o s - i i 更适合小型控制系统,具有执行效率高、占用空间小、实时性 能优良和可扩展性强等特点,最小内核可编程至2 k b 。 ( 5 ) uc o s - i i 可移植到几乎所有的嵌入式应用类c p u 上。 嵌入式操作系统l ic o s - i i 是专为微控制器系统和软件开发而设计的公开源 代码的抢占式实时多任务操作系统内核,是微控制器启动后首先执行的背景程 序,作为整个系统的框架贯穿系统运行的始终。对实时性和稳定性要求很高的数 据采集系统来说,引入uc o s - i i 无疑将大大改善其性能。 2 1 2i ic o s - i i 特性 下面我们将从任务优先级、上下文切换、互斥条件、同步、任务间通信、中 断等几个方面消息说明uc o s - i i 的特性。 ( 1 ) 任务优先级: 每个任务都有其优先级,任务越重要赋予的优先级应越高。 6 北京邮电大学硕士研究生学位论文 基于嵌入式平台的无线l e d 信息发布系统设计与实现 应用程序执行过程中,诸任务优先级不变则称之为静态优先级。在静态优先 级系统中,诸任务以及它们的时间约束在程序编译时是已知的。应用程序执行过 程中,任务的优先级是可变的则称之为动态优先级。 uc o s - i i 采用的是动态优先级,可以通过调用o s t a s k c h a n g e p r i 0 0 来改变 优先级。 在| ic o s - i i 中可以管理多达6 4 个任务目前版本的l ic o s i i 有2 个已经被系 统用了。一个是空闲任务,一个是统计任务。| lc o s - i i 的任务优先级与其任务 i d 相同,且不存在两个优先级相同的任务。这样在实现其任务优先级调度算法时 变得非常容易。| lc o s 一通过一张就绪表来快速查找优先级最高的就绪任务, 而且不论系统中有多少任务,找到最高优先级的就绪任务时间花费是相同的。 实时内核应当避免出现优先级反转问题。 优先级反转问题来自两个因烈6 j : l 、任务之间在运行上的依赖性,体现为一个优先级较高的任务的运行必须 等待另一个优先级较低的任务完成某一段程序的运行。 2 、优先级较低的任务因为优先级太低而得不到运行的机会。 终 这里第二个因素来源于调度的规则,这是无法更改的,而任务之间在运行上 的依赖性则可以归纳为以下几类: 1 、因为共享资源的互斥使用而造成依赖。当优先级较低的任务在共享禁区 中运行时,优先级较高的任务不能将相应的共享资源剥夺过来而只能等待。 2 、因数据的流通方式所造成的依赖。如果优先级较低的任务是某项数据的 生产者,而优先级较高的任务是此任务的消费者,则当然只能等待。: 3 、因为在等待队列中的位置所造成的依赖。在一个先进先出的队列中,如 果优先级较低的任务排在前面,而优先级较高的任务排在后面,就也只好等待。 ( 2 ) 上下文切换 上下文切换实际含义是任务切换或c p u 寄存器内容切换。当多任务内核决 定运行另外的任务时,它保存正在运行任务的当前状态( c o n t e x t ) ,i 叩c p u 寄存器中的全部内容,这些内容保存在任务的当前状况保存区( t a s k sc o n t e x t s t o r a g ea r e a ) ,也就是任务自己的栈区之中。入栈工作完成以后,就是把下 一个将要运行的任务的当前状况从该任务的栈中重新装入c p u 的寄存器,并开 始下一个任务的运行,这个过程叫做任务切换。任务切换过程增加了应用程序的 额外负荷,c p u 的内部寄存器越多,额外负荷就越重。做任务切换所需要的时 间取决于c p u 有多少寄存器要入栈。 uc o s i i 中通过调用o st a s ks w 0 函数做上下文切换。 0 st a s ks w o 是宏调用,通常含有微处理器的软中断指令。因为uc o s i i 假定 北京邮电大学硕士研究生学位论文 基于嵌入式平台的无线l e d 信息发布系统设计与实现 上下文切换是靠中断级代码完成的,uc o s i i 需要的是一条处理器指令,其行 为就像是硬件中断。l ic o s - i i 使用宏定义将与实际处理器相关的软中断机制封 装起来,使之可以在多种处理器开发平台上移植。后面将会讲到具体移植方法。 ( 3 ) 互斥条件 实现任务间通讯最简便到办法是使用共享数据结构,特别是当所有的任务都 在一个单一地址空间下,能使用全程变量、指针、缓冲区、链表、循环缓冲区等, 使用共享数据结构通讯就更为容易。虽然共享数据区简化了任务间的信息交换, 但是必须保证每个任务在处理共享数据时的排它性以避免竞争和数据的破坏。与 共享资源打交道时使之满足互斥条件最一般的方法有【6 l : 关中断; 使用测试并置位指令; 禁止做任务切换; 利用信号量。 可是必须十分小心,关中断的时间不能太长,因为它影响整个系统的中断响 应时间,即中断延迟时间。当改变或复制某几个变量的值时应想到用这种方法来 做,这也是在中断服务子程序中处理共享变量或共享数据结构的唯一方法。在任 何情况下关中断的时间都要尽量短。 如果使用某种实时内核,一般地说,关中断的最长时间不超过内核本身的关 中断时间,就不会影响系统中断延迟,当然得知道内核里中断关了多久。 信号量实际上是一种约定机制,在多任务内核中普遍使用。信号量用于: 控制共享资源的使用权( 满足互斥条件) ; 标志某事件的发生; 使两个任务的行为同步。 信号像是一把钥匙,任务要运行下去得先拿到这把钥匙,如果信号已被别的 任务占用,该任务只得被挂起直到信号被当前使用者释放。 一般地说,对信号量只能实施三种操作:初始化( i n i t i a l i z e ) 也可称作建 立( c r e a t e ) ,等信号( w a i n 也可称作挂起( p e n d ) ,给信号( s i g n a l ) 或发信 号( p o s t ) 。信号量初始化时要给信号量赋初值,等待信号量的任务表( w a i t i n g l i s t ) 应清为空。 想要得到信号量的任务执行等待( w a i t ) 操作,如果该信号量有效( 即信号量 值大于0 ) ,则信号量值减1 , 任务得以继续运行;如果信号量的值为0 , 等待 信号量的任务就被列入等待信号量任务表,多数内核允许用户定义等待超时,如 果等待时间超过了某一设定值时,该信号量还是无效,则等待信号量的任务进入 就绪态准备运行,并返回出错代码( 指出发生了等待超时错误) 。 北京邮电大学硕士研究生学位论文基于嵌入式平台的无线l e d 信息发布系统设计与实现 任务以发信号操作( s i g n a l ) 释放信号量。如果没有任务在等待信号量,信 号量的值仅仅是简单地加1 。如果有任务在等待该信号量那么就会有一个任务进 入就绪态,信号量的值也就不加1 。于是钥匙给了等待信号量的诸任务中的一个 任务,至于给了那个任务要看内核是如何调度的收到信号量的,任务可能是以下 两者之一: 等待信号量任务中优先级最高的, 最早开始等待信号量的那个任务, o u t ,f i f o ) 。 或者是 即按先进先出的原贝l j ( f i r s ti nf i r s t 有的内核有选择项,允许用户在信号量初始化时选定上述两种方法中的一 种,但i jc o s 1 1 只支持优先级法。如果进入就绪态的任务比当前运行的任务优 先级高( 假设是当前任务释放的信号量激活了比自己优先级高的任务) ,则内核做 任务切换( 假设使用的是可剥夺型内核) ,高优先级的任务开始运行,当前任务 被挂起直到又变成就绪态中优先级最高的任务。 请求和释放信号量的过程是要花相当的时间的,有时这种额外的负荷是不必 要的,用户可能只需要关中断、开中断来处理简单共享变量以提高效率。例如两 个任务共享一个3 2 位的整数变量,一个任务给这个变量加1 ,另一个任务给这 个变量清0 。如果注意到不管哪种操作对微处理器来说只花极短的时间,就不需 要使用信号量来满足互斥条件了。每个任务只需操作这个变量前关中断,之后再 开中断就可以了。然而,如果这个变量是浮点数,而相应微处理器又没有硬件的 浮点协处理器,浮点运算的时间相当长,关中断时间长了会影响中断延迟时间, 这种情况下就有必要使用信号量了。 i ic o s - i i 中的信号量由两部分组成:一个是信号量的计数值,它是一个16 位的无符号整数( 0 塑j 6 5 ,5 3 5 ) 之间,另一个是由等待该信号量的任务组成的等 待任务表。用户要在o sc f g h 中将o ss e me n 开关量常数置成1 ,这样 i ic 0 s - i i 才能支持信号量。 在使用一个信号量之前,首先要建立该信号量,也即调用o s s e m c r e a t e 0 函数对信号量的初始计数值赋值,该初始值为。蛰j 6 5 。5 3 5 之间的一个数,如果信 号量是用来表示一个或者多个事件的发生,那么该信号量的初始值应设为0 。如 果信号量是用于对共享资源的访问,那么该信号量的初始值应设为1 ( 例如,把 它当作二值信号量使用) 。最后,如果该信号量是用来表示允许任务访问n 个相 同的资源,那么该初始值显然应该是n ,并把该信号量作为一个可计数的信号量 使用。 | lc o s i i 提供了5 个对信号量进行操作的函数。它们是:o s s e m c r e a t e 0 , o s s e m p e n d 0 ,o s s e m p o s t 0 ,o s s e m a c c e p t 0 和o s s e m q u e r y 0 函数。 9 北京邮电大学硕士研究生学位论文基于嵌入式平台的无线l e d 信息发布系统设计与实现 ( 4 ) 同步 可以利用信号量使某任务与中断服务同步( 或者是与另一个任务同步,这两 个任务间没有数据交换) 。如果内核支持计数式信号量,信号量的值表示尚未得 到处理的事件数。请注意,可能会有一个以上的任务在等待同一事件的发生,则 这种情况下内核会根据以下原则之一发信号给相应的任务: 发信号给等待事件发生的任务中优先级最高的任务,或者 发信号给最先开始等待事件发生的那个任务。 根据不同的应用,发信号以标识事件发生的中断服务或任务也可以是多个。 两个任务可以用两个信号量同步它们的行为,这叫做双向同步( b i l a t e r a l r e n d e z v o u s ) 。双向同步同单向同步类似,只是两个任务要相互同步。 ( 5 ) 时间控制块 l ac o s - i i 通过u c o s i i h 中定义的o s e v e n t 数据结构来维护一个事件控 制块的所有信息。该结构中除了包含了事件本身的定义,如用于信号量的计数器, 用于指向邮箱的指针,以及指向消息队列的指针数组等,还定义了等待该事件的 所有任务的列表。下面的程序清单是该数据结构的定义【6 】。 e c b 数据结构: t y p e d e fs t m c 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 l o se v e n tt b ls i z e ;尸等待任务列表幸 i n t l 6 uo s e v e n t c n t ;宰计数器( 当事件是信号量时) 宰 i n t 8 uo s e v e n t t y p e ;誊时间类型宰 i n t 8 uo s e v e n t g r p ;拿等待任务所在的组拳 o se v e n t ; 每个等待事件发生的任务都被加入到该事件事件控制块中的等待任务列表 中,该列表包括o s e v e n t g r p 和o s e v e n t t b l 口两个域。变量前面的 说明该变量 是数据结构的一个域。在这里,所有的任务的优先级被分成8 组( 每组8 个优先级) , 分别对应o s e v e n t g r p 中的8 位。当某组中有任务处于等待该事件的状态 时,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 t b l 口数组的大小由系统中任务的最低优先级决定,这 个值由1 1c o s i i 中的o s l o w e s t p r i o 常数定义。这样,在任务优先级比较少的 情况下,减少l ac o s - i i 对系统r a m 的占用量。 在uc o s - i i 中,事件控制块的总数由用户所需要的信号量,邮箱和消息队 列的总数决定。该值由o sc f g h 中的# d e f i n eo s _ m a x e v e n t s 定义。在调用 o s i n i t o 时,所有事件控制块被链接成一个单向链表空闲事件控制块链表。 1 0 北京邮电大学硕上研究生学位论文基于嵌入式平台的无线l e d 信息发布系统设计与实现 每当建立一个信号量、邮箱或者消息队列时,就从该链表中取出一个空闲事件控 制块,并对它进行初始化。因为信号量、邮箱和消息队列一旦建立就不能删除, 所以事件控制块也不能放回到空闲事件控制块链表中。 ( 6 ) 任务间通讯 有时很需要任务间的或中断服务与任务间的通讯。这种信息传递称为任务间 的通讯。任务间信息的传递有两个途径:通过全程变量或发消息给另一个任务。 用全程变量时必须保证每个任务或中断服务程序独享该变量,中断服务中保证独 享的唯一办法是关中断。如果两个任务共享某变量,各任务实现独享该变量的办 法可以是关中断再开中断,或使用信号量( 如前面提到的那样) 。请注意,任务只 能通过全程变量与中断服务程序通讯,而任务并不知道什么时候全程变量被中断 服务程序修改了,除非中断程序以信号量方式向任务发信号,或者是该任务以查 询方式不

温馨提示

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

评论

0/150

提交评论