(信号与信息处理专业论文)多模式无线视频传输系统的软件系统和控制技术研究.pdf_第1页
(信号与信息处理专业论文)多模式无线视频传输系统的软件系统和控制技术研究.pdf_第2页
(信号与信息处理专业论文)多模式无线视频传输系统的软件系统和控制技术研究.pdf_第3页
(信号与信息处理专业论文)多模式无线视频传输系统的软件系统和控制技术研究.pdf_第4页
(信号与信息处理专业论文)多模式无线视频传输系统的软件系统和控制技术研究.pdf_第5页
已阅读5页,还剩65页未读 继续免费阅读

(信号与信息处理专业论文)多模式无线视频传输系统的软件系统和控制技术研究.pdf.pdf 免费下载

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

文档简介

南京i i f f fl b 顺l j 学位论文多模式无线视频传输系统的软件系统和控制技术研究 摘要 随着无线网络技术和多媒体数字信号处理技术的发展,无线多媒体通信系统得 到越来越广泛的应用。目前公共无线移动网络提供了大覆盖范围、低速率的无线数 据通信手段,加上无线局域网提供了在较小范围内的高速无线接入i n t e r n e t 技术, 两者相互补充,为无线多媒体视频流的传输提供了必要的网络通信基础。无线视频 通信终端是无线多媒体通信系统的重要组成部分,它完成视频的采集、压缩和通信 接口等功能。本系统是以p h i l i p s 公司的高性能多媒体处理器t m l 3 0 0d s p 作为核心, 采用基于嵌入式操作系统的软件实现视频编解码和系统控制的方案,采用低比特率 的h 2 6 3 编码标准进行视频压缩,并以公共移动网络( g p r s c d m a ) 和无线局域网 w l a n 作为系统的接入选择方式,实现了多种网络通信模式并存情况下的无线视频通 信。 本课题主要工作是负责多模式无线视频传输实验系统的移动终端的软件系统框 架调整、码流控制以及系统的多任务调度。论文中根据各种无线网络传输状况采用 了合适的码流控制策略,充分利用编码器和底层数据传输能力,以保证更好的视频 质量效果,同时还结合p s o s 实时多任务机制,进行任务调度,使任务之间更加协调 工作,并实现多模式的切换。文中给出的实际测试结果表明,该实验系统能够在多 种网络工作模式下可靠地工作,达到了预期设计的基本目标。 关键词:无线视频通信,t m l 3 0 0 ,h2 6 3 ,码流控制,任务调度,模式切换 南京邮i u 坝,l :学位论文多模式无线桃频传输系统的软件系统和控制技术研究 a b s t r a c t w i t ht h ed e v e l o p m e n to fw i r e l e s sn e t w o r ka n dm u l t i m e d i ad i g i t a ls i g n a l p r o c e s s i n gt e c h n o l o g y ,w i r e l e s sm u l t i m e d i ac o m m u n i c a t i o ns y s t e m sw il l b e w i d e l yu s e d a tp r e s e n t w i r e l e s sm o b i l en e t w o r kp r o v i d e sw i d e r a n g ea n d l o w b i tr a t ew i r e l e s sd a t ac o m m u n i c a t i o n ,m e a n w h i l e ,w i r e l e s sl a np r o v i d e s at e c h n o l o g yo fh i g h s p e e da c c e s st oi n t e r n e ti nas m a l lr a n g e a l lt h e s e a r en e c e s s a r yb a s ef o rw i r e l e s sv i d e oc o m m u n i c a t i o n w i r e l e s sv i d e ot e r m i n a l w h i c hi n t e g r a t e st h ev i d e oc a p t u r e ,c o m p r e s s i o na n dc o m m u n i c a t i o ni n t e r f a c e , i sak e yp a r to faw i r e l e s sm u l ti m e d i ac o m m u n i c a t i o ns y s t e m i nt h i ss t u d y , t h es y s t e r ni sc o n s t r u c t e do nt h eh i g hp e r f o r m a n c em u l t i m e d i ad s pt m l 3 0 0 i t u s e ss o f t w a r et oi m p l e m e n th 2 6 3v i d e oc o d e ca n ds y s t e mc o n t r o l ,a n dc h o o s e s g p r s ,c d m aa n dw l a nw i r e l e s sn e t w o r ka sa c c e s sm o d e b ya u t o m a t i cn e t w o r k s w i t c h i n g i tr e a l i z e sv i d e ot r a n s m i s s i o nw h e nt w om o r ew i r e l e s 8n e t w o r k s c o e x is t t h em a i nw o r ko ft h i st h e s i si sc o n c e n t r a t e do nt h ea d j u s t m e n to ft h e s o f t w a r ef r a m e w o r ko ft h ew i r e l e s sv i d e et e r m i n a l ,r a t ec o n t r o la n dm u l t i t a s ks c h e d u l i n g a c c o r d i n gt ow i r e l e s sn e t w o r kt r a n s m i s s i o nc o n d i t i o n ,a p r o p e rr a t ec o n t r o lp o l i c yi sa d o p t e d ,w h i c hm a k e sf u l lu s eo ft h ea b i l i t y o fv i d e oc o d e ea n dt h el o wl a y e rd a t at r a n s m i s s i o na b i l i t yt oe n s u r eb e t t e r v i d e oq u a l i t y t h em u l t i t a s km e c h a n i s ma n ds c h e d u l i n g ,a sw e l la sn e t w o r k s w i t c h i n gc o n t r o la r ed e s c r i b e d ,t h a te n s u r ear e l i a b l ea n de f f e c t i v ev i d e o t r a n s m is s i o n r e a l t i m ee x p e r i m e n t a lr e s u l t sa r eg i y e na n da n a l y s e d ,w h i c h d e m o n s t r a t e st h a tt h es y s t e mh a sr e a liz e dt h ee x p e c t e dp e r f o r m a n c e k e yw o r d s :w i r e l e s sv i d e oc o m m u n i c a t i o n ,t b t l 3 0 0 ,i i 2 6 3 ,r a t ec o n t r o l ,t a s k s c h e d u l e m o d es w i t c h 南京邮电学院学位论文独创性声明 本人声明所呈交的学位论文是我个人在导师指导下进行的研究 工作及取得的研究成果。尽我所知,除了文中特别加以标注和致谢的 地方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包 含为获得南京邮电学院或其它教育机构的学位或证书而使用过的材 料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了 明确的说明并表示了谢意。 研究生签名:盎。:k日期:翌堂:生:j 南京邮电学院学位论文使用授权声明 南京邮电学院、中国科学技术信息研究所、国家图书馆有权保留 本人所送交学位论文的复印件和电子文档,可以采用影印、缩印或其 他复制手段保存论文。本人电子文档的内容和纸质论文的内容相一 致。除在保密期内的保密论文外,允许论文被查阅和借阅,可以公布 ( 包括刊登) 论文的全部或部分内容。论文的公布( 包括刊登) 授权 南京邮电学院研究生部办理。 研究生签名:莲,立:缸 导师签名: 南京:郫i 包填【学位论文第一章概述 1 1 课题背景 第一章概述 近年来,通信技术的发展集中表现在移动通信和基于i p 网络通信的迅猛发展。 人们对通信的要求也在不断提升,在文本和语音通信基本得到满足的情况下,很自 然会要求丌通直观、方便的视频通信,实际上就是要求建立一个丰富多彩的多媒体 通信环境。随着i t u t 的3 g 标准的制定,许多国家的移动通信设备制造商和业务 提供商加快了从2 g 到2 5 g ,并且向3 g 的发展部署,丌创了无线通信与互联网、视 频融合的新时代。为了迎接移动多媒体时代的到来,在欧美日等许多发达国家和地 区,无线视频流的传输作为多媒体通信应用的关键技术已经成为研究的一个重点, 些国际知名的大公司、大学、研究所投入了大量的人力和资金进行相关的理论和 技术研究。同时,无线局域网w l a n 技术在最近几年来也取得了令人瞩目的进展,目 前无线局域网标准化己经相继完成了i e e e8 0 2 1 1 a ,b ,g 等规范,速率从2 m b p s 到5 4 m b p s 成为无线接入i n t e r n e t 的另外一个重要的手段。一般认为,目前的公 共无线移动网络g s m 、g p r s 、c d m a l x 等提供了大范围低码率的无线移动接入通信网 络手段。,而无线局域网提供了在较小范围内的高速无线接入i n t e r n e t ,两者相互 补充,为无线多媒体视频流的传输提供了必要的网络通信基础。 我国的移动通信事业近年来也取得了巨大的发展。中国移动在全国进行的大范 围网络改造,将2 g 的g s i 升级到2 5 g 的g p r s ,推出移动彩信等多媒体业务,包括 多媒体短消息,电子图片传输,以及电子邮件、无线上网等服务,并开通g p r s 数据 承载业务,提供了3 0 4 0 k b p s 的数据业务。中国联通的c d m ai x 网络,提供了 1 5 0 k b p s 2 m f l p s 的1 6 5 宽带数据业务,并且组建了3 g 的实验网。中国电信在最近 也加速介入无线通信这一巨大的市场,在各地丌始了大范围的“小灵通”推。,属 于无线市话,并且可以提供3 2 e b p s 和6 4 k b p s 的数据承载。无线局域网这几年也发 展迅速,一些地方的通信公司在大的会展中心、高级宾馆等“热点地区”开展了相 应的无线上网服务,例如“天翼通”、“无线伴侣”等业务。此外,一些移动运营公 南京邮l 乜坝i + 学位论文第一章概述 司准备开展将移动网和无线局域网进行无缝连接的数据业务,充分结合移动网络和 无线局域网的各自的技术优势。总之,这些网络基础建设和无线接入技术为发展无 线多媒体业务和应用,尤其是视频流的传输打下了基础。因此,针对无线网络技术 的现状和未来发展趋势,本课题将公共移动网络( g p r s c d m a ) 和无线局域网作为系 统的接入选择方式。 推动多媒体通信技术应用的发展的另一重要方面是当前信号处理技术和d s p 技 术的发展水平。国外的实时流媒体处理技术近年来进展较快,这种发展可以从各种 通用和专用的高性能多媒体信号处理芯片的纷纷推出而得到验证。例如德国汉诺威 大学推出的芯片a x p e l 2 8 0 ,美国t i 公司的t m s 3 2 0 一c 6 x x :卷片,e s s 公司的l v p 芯片, p h i l i p s 公司推出的t r i m e d i a 系列t m l x 0 0 系列芯片。此外还有专用于视频编码的 a s i c 芯片相继出现,例如最近日本东芝公司推出的m p e g 一4 的编解码芯片,i b m 公司 和台湾的华邦公司( w i n b o n d ) 的类似芯片等。由于基于高性能d s p 的系统丌发具有 较强的灵活性,以及较高的性价比,可以满足不同应用下不同视频压缩的要求。因 此,本课题采用的是p h i l i p s 公司的高性能多媒体d s pt m l 3 0 0 。”为处理核心的终端 系统研制方案。 无线通信在很多方面都超出了传统的有线通信方式,尤其在一些特殊的地理环 境下,更是体现出了其优越性。但是,无线通信仍然有存在不少的局限,因为实际 的无线信道传输速率仍然很有限,如g p r s c d m a 实际传输速率只有几十k b p s ,而且 误码率高。因此,在无线信道传输视频就需要考虑高压缩效率、码流控制和较好的 信道容错能力等问题。由此可见,研究适用于不同网络环境的独立机型的无线视频 终端系统,特别是在多种通信模式并存情况下的无线视频传输终端系统,是一项具 有一定的挑战意义和应用前景的工作。 1 2 课题任务与内容安排 本课题主要是对多模式无线视频传输系统的终端软件系统和控制技术进行研 究,目标是在g p r s 、c d m a 、w l a n 等多种无线网络并存情况下,通过灵活的编码控制、 实时网络状态测试和网络工作模式切换,实现可靠的视频传输,获得最佳的重建图 像质量。课题所研制的实验终端系统以p h i l i p s 公司的高性能多媒体d s pt m l 3 0 0 南京邮t u 坝i 学位论文 第一章概述 为硬件核心,采用h 2 6 3 视频压缩标准。”。3 ,结合p s o s 实时多任务机制,在多种通信 接口并存的情况下,实现了w l a n 和g p r s 双模式下的网络切换与视频通信以及w l a n 和c d m a 双模式下的网络切换和视频通信。其中本人的主要工作包括如下几个方面: l 、在熟悉t m l 3 0 0 系统软件框架基础上,包括b s p 文件、h 2 6 3 编解码文件、系 统总控制和接口文件、底层驱动模块,以及p s o s 实时多任务机制等,对移动视频终 端系统的软件框架进行模块化和优化处理,比如任务合并与拆分,改善系统控制的 灵活性。 2 、针对单个网络的视频传输模式,提出相应的码流控制策略和任务调度机制, 提高视频传输效果。 3 、建立多种网络传输模式的程序框架,把单模式视频通信转为多模式视频通信, 通过网络的切换和任务调度,实现可靠的工作和最佳的视频传输。 4 、结合实际调试和测试,分析和改善多模式无线视频传输系统的性能。 本文的内容是这样安排的:第二章主要介绍了整个系统软件框架,包括系统组 成、系统软件的接口设计以及控制策略。控制策略主要是指任务控制和码流控制: 第三章详细介绍了单模式下视频通信的任务处理以及码流控制;第四章详细介绍了 多模式下视频通信是如何进行网络切换,任务调度以及码流控制:第五章给出了系 统测试数据与分析;第六章总结了本文的工作。 南京邮电颂| :学位论文销二章系统组成、接口啦计及控制策略 第二章系统组成、接口设计及控制策略 2 1 系统框架 2 1 1 物理系统框架 本文研究的实验系统中,接收显示端是位于内部网络( 如校园网) 某个固定位 置的p c 机,而系统的无线视频终端接入的可能是某种无线移动公网( g p r s 或c d m a ) , 也可能是位于内部的无线局域网w l a n 。为了能实现跨网数据传输,并且能在网络中 任意位置都能接收到无线视频,就必须采用有效的数据转发机制,为此本系统尝试 了两套视频转发机制,一个是校园网转发机制,另一个则是公网转发机制。 校园网服务器 摄像 幽2 - 1 校吲网转发系统框架 如图2 一l ,是一个校园网转发系统框架。无线视频终端通过摄像头采集视频数据, 然后经过t _ 1 1 3 0 0 视频编码板编码,编好的码流通过无线m o d e m 传到校园网服务器上。 如果设在校园网中心的视频服务器发现接收端已经注册,就把视频流数据转发给该 接收端。这里,视频服务器有公网i p ,同时它能访问校园网内的接收端,即它能接 收和转发两个网段上的数据。这样处理的好处是,接收端不用接无线m o d e m ,就可 以与无线视频终端进行通信。但是,由于校园网服务器只提供一个固定的u d p 端口, 南京邮l u 坝i 学位论立 第二章系统组成、接l 二| 设汁及拄制策略 不提供i c p 端口,对视频通信机制有一定的限制。这种转发机制只适合g p r s c d i a 模式下u d p 的视频通信。因此,本课题最终采用的是下面的公网转发系统。 g p r s c d m a m - _ l2 - 2 公网转发系统框架 图2 2 是个公网转发系统框架,集g p r s 、c d m a 、w l a n 三种模式于一体,g p r s 、 c d m a 模式用同一个设在公网上的服务器,而w l a n 模式用一个专门的w l a n 服务器。 虚线表示控制信道,用于无线视频终端、服务器和接收端之间建立通信链路。当通 信链路建好,接收端会给服务器发送丌启命令,服务器再把命令转发给无线视频终 端。无线视频终端收到开启命令后,就开始把视频数据传给服务器,服务器再视频 数据转发给接收端。 由于本文主要考虑a p 和接收端在同一内网中,所以在内网中增加一个w l a n 服 务器。在w l a n 模式下,最开始是在服务器的帮助下先建好通信链路,然后接收端直 接把丌启命令发给无线视频终端,无线视频终端收到的命令,就直接把高速视频流 数据发给接收端,无中间转发过程。 公网转发系统是没有u d p t c p 端口的限制,而且可以双向通信。这为视频通信 提供了更加灵活的通信方式。 南京邮 b 坝l 学位论史笫二章系统组成、接口世计及控制策略 2 1 2 软件系统框架 无线视频终端视频流服务器 接收端 蒹竖宴盒k 三二二二二 命令转发模块 卅 处理模块】厂”。”“”“ d h c p r e c e i v e :获取本地i p 地址。 w l a n t i m e r :检测w l a n 及d h c p 状态并响应。 l i n k s t a r t t a s k :检查底层链路是否有可通链路。 2 3 全局参数接口设计 为了使任务之间或任务与中断之间更好的同步通信,系统还需要对全局参数接 口进行设计。本文主要涉及用户任务和底层中断所需的全局参数接口设计,有关用 户层数据结构和全局变量都在系统数据结构定义的头文件t m s t r u c t u r e h 中定义。 1 、针对编码任务,如图2 6 所示: 南京邮l u 坝i 学位论立第二章系统组成、接u 设计控制策略 幽2 - 6 编码任务的全局参数接口设计 全局变量中,码流控制变量r a t e c o n t r o l p a r a m 和编码缓存控制变量 b u f c t l v i d e o t o m u l 都是数据结构类型变量。对编码器码流的控制,有五个 控制变量,分别是图像格式i m a g e f o r m a t 、帧间编码量化步长i n t e r _ q p 、 帧内编码量化步长i n t r a q p 、接收速率r e c v r a t e 以及网络丢包率变量 p a c k l o s s 。这些变量的初始化在i n i t a l l0 函数中进行,编码器采取的是 帧层控制,即在每次一帧编码前,进行对这些参数的访问。r e c v r a t e 和 p a c k l o s s 是根据r t c p 任务反馈信息获得的。在编码任务中,可以根据参数 r e e v r a t e 修改量化步长参数。在打包发送任务中根据p a c k l o s s 来控制包发 送速度。在多模式的网络切换时,根据选择的网络可以修改量化步长和图像 格式参数的初始值。r a t e c o n t r o l p a r a m 结构类型如下: t y p e d e fs t r u c t r a t e c o n t r o l p a r a m i n ti m a g e f o r m a t :图像格式,“3 ”表示c i f ,“2 ”表示q c i f i n ti n t e r q p : i 陨间编码量化步长 i n ti n t r a q p : 帧内编码量化步长 i n tr e c v r a t e :表示网络上实际视频速率值 i n tp a c k l o s s : 反应网络上丢包情况 ) r a t e c t l p a r a mr a t e c o n t r o l p a r a m : 编码缓存控制变量b u f c t l v i d e o t o m u l 和编码缓存设计密切相关的,其数据 结构类型在第六点介绍。 编码任务用了三个编码标志,挂起标志h 2 6 3 h 、上溢标志h 2 6 3 h n u b 和等待 底层事件标志h 2 6 3 h u n g 。 一务一 磊一 一编一 南京邮电硕i + 学位论文第二章系统组成、接 _ j 设计及控制策略 通信事件有三个:开始编码事件e v s t a r t c o d i n g ,这个事件是由网络切换 任务来发给编码任务的,表示编码器可以编码;e v v l r e a d 表示允许采集缓 存v i 从摄像头读视频数据事件;事件e v s e n d t o v i d e o 表示发送任务发现编 码缓存数据不够,需要编码器继续编码。 2 、针对发送任务,如图2 7 : 图2 7 发送任务的全局参数接口设计 发送任务标志主要是挂起标志。w l a n s e n d h 、c d m a s e n d h 、g p r s s e n d h 分别是 w l a n 、c d m a 和g p r s 发送任务挂起标志。s e n d h u n g 是发送任务等待底层事件 标志。 通信事件有两个:e v l i n k t e s t 是用于丌启c d m a 链路检测任务事件:e v v f d e o t o s e n d 是需要发送任务发送数据时,编码任务发给发送任务的事件。 3 、针对网络切换任务,如图2 8 : 图2 - 8 删络切换任务的全局参数接口设计 网络切换时,网络切换任务需要对三种模式标志进行赋值,来表示目前选择 哪种模式进行通信。w l a n c o m m 、c d m a c o m m 、g p r s c o m m 分别为w l a n 、c d m a 、 g p r s 模式通信标志。 网络切换任务所需的通信事件有六个,都是来自底层链路检测任务。当g p r s 链路建好时,底层任务会给网络切换任务发送事件e v - g p r s c o m m 。如果g p r s 任务发现底层链路断了,底层任务会给网络切换任务发送事件e v g p r s c o m m o f f 。同理,e vc d m a c o m m 、e vc d m a c o m m o f f 、e vw l a n c o m m 和e vw 1 a n c o m m o f f 南京邮i u f ! i ii :学位论文第二章系统组成、接口设计及控制策略 都是由底层任务根据底层链路状态发给网络切换任务的事件。 4 、针对控制信道任务,如图2 9 所示: 图2 - 9 控制信道任务的全局参数接口设计 由于公网转发环境对三种模式分别建了数据信道和控制信道,任务需要设计几 个标志,以便更好的通信。w l a n r e g t i m e o u t 、c d m a r e g t i m e o u t 、g p r s r e g t i m e o u t 分 别表示三种模式下向服务器注册超时标志。w l a n s e n d f l a g 、c d m a s e n d f l a g 、g p r s s e n d f l a g 表示三种模式下,发送端准备好,且受到接收端发来的开启命令,这时 打包发送程序可以打包发送的标志。 5 、针对底层链路检测任务和中断,如图2 - 1 0 所示: 底层链路检测任务 和中断i s r b u f s i z ec o d i n g b u f s i z es e n d b u f f e r c t l j r pb u f c t l p p p t o x i o 底层链路状况标志: i v l a n o k 、l a n o h c p o k 、i r l a n l i 帐o k c d n a p p p g p r s p p p 通信事件: e v - p p o t o s e n d 、e v _ 尸p p t o y i d e o 图2 1 0 底层链路检测任务和中断的全局参数接口设计 全局变量中,b u f s i z e c o d i n g 、b u f s i z e s e n d 是底层发送缓存的两个下溢 值,分别用于控制编码任务、打包发送任务。底层发送缓冲控制变量b u f c t l p p p t o x i o 与b u f c t l v i d e o t o m u l 是属于同一种数据结构类型。该结构类型 在第六点介绍。 关于底层链路状况标志,w l a n 模式用了三个标志,即w l a n o k 、w l a n d h c p o k 和w l a n l i n k o k 。c d m a 模式用的是c d m a p p p 标志。g p r s 模式用的是g p r s p p p 标志。 g p r s c d m a 底层中断用了两个事件来同步编码和发送任务。这两个事件分别 是e v p p p t o s e n d 、e v p p p t o v i d e o 。 6 、最后介绍一下编码缓存和底层发送缓存的数据结构设计,都是采用循环链表 南京邮电硕一】? 学位论文第二二章系统组成、接口设计及控制策略 形式存取数据。数据结构如下: t y p e d e fs t r u c t b u f f e r c t l 一w r p i n tp w r i t e :缓冲区写指针 i n tp r e a d : 缓冲区读指针 i n tn c o u n t :缓冲区可读字节数 b u f f e r c t l _ w r pb u f c t l v i d e o t o m u l ,b u f c t l p p p t o x i o : u n s i g n e dc h a r * b u f v i d e o t o m u l :一一 编码缓存 u n s i g n e dc h a r * b u f p p p t o x i o :一一 底层发送缓存 缓存区写入一个字节数据,写指针p w r i t e 就加一。读出一个字节时,读指针 p r e a d 也加一。把写入的字节数减去读出的字节数就是缓存数据量n o u n t 。对于顺序 链表,p r e a d 是不会赶超p w r i t e 的。但对于循环链表而言,经常会出现p r e a d 大于 p w r i t e 的情况,所以计算缓存数据量时,要考虑这种情况出现。编码缓存大小由 v i d e o b u f f e r s i z e 决定,本系统取值为3 2 0 0 0 字节。底层发送缓存大小由p p p _ s e n b u f s i z e 决定,取值为1 0 0 0 0 字节。如下图所示: 顺序缓存 循环缓存 图2 - 1 1 读写缓存示意图 2 4 多任务处理与通信机制 无线视频终端核心开发板采用的多媒体处理器d s p 是p h i l i p s 公司的 t r i m e d i a l 3 0 0 。其核心c p u ( t m l 3 0 0 的c o r e ) 的运行是由实时操作系统k e r n e lp s o s 进行控制的,支持c c + + 年np a s c a l 语言。p s o s 实时操作系统与w i n d o w s 操作系统相 一尸 南京邮i 乜坝i 学位论文第二章系统组j j ! ;:、接副设计及控制策略 比较是一个模块化的、高性能的实时操作系统,它提供了基于开放系统的标准多任 务环境,可驻留在u n i x 和基于d o s 的计算机上,还能通过串口或t c p i p ”。的网络连 接来进行通信。p s o s 特别适用于内嵌式微处理器,它的每一部分都是自包含的,允 许开发者规定自己的o s 功能和内存以满足应用的需要。这样丌发者可以比较容易地 设计从基于p s o s 的简单独立机型设备,到复杂的运行于网络上的多处理器系统。利 用p s o s 系统比较容易实现h2 6 3 框架下的图像编解码处理,而且效率比较高,实时 性强。p s o s 系统组成框图“1 如下所示: c ,c + + 接口 图2 1 2p s o s 系统组成框幽 p s o s 组成模块包括:p s o s + 实时多任务核、p s o s + m 多处理器多任务核、p r a + t c p i p 协议包、p r p c + 远端处理调用库、p h i l e + 文件系统管理器、p r e p c + a n s ic 标准库、p r o b e + 静态调试代理等。在本系统中,只需一个t m t 3 0 0 就可以完成视频通 信工作,故不考虑多处理器多任务核。下面主要是介绍p s o s + 实时多任务内核机制。 2 4 1p s o s + 实时多任务内核基本概念 p s o s 系统中任务包括系统任务和用户任务两类。关于用户任务的划分并没有一 个固定的法则,但很明显,划分太多将导致任务间的切换过于频繁,系统丌销太大,划 分太少又会导致实时性和并行性下降,从而影向系统的效率。一般说来,功能模块a 与功能模块b 是分丌为两个任务还是合为一个任务可以从是否具有时间相关性、优 先性、逻辑特性和功能耦合等几个方面考虑。下面介绍一下有关基本概念。 l 、优先级 南京| | i j i u 坝l 学位论立 第二章系统组成、接口设计及控制策略 每个任务都有一个优先级。p s o s 系统支持0 2 5 5 级优先级,o 级最低,2 5 5 级最 高。o 级专为i d l e 任务所有,2 4 0 2 5 5 级为系统所用。在运行时,任务( 包括系统任 务) 的优先级可以通过t s e t p r i 系统调用改变。 2 、任务状态 p s o s 下任务具有三种可能状态并处于这三个状态之一。只有通过任务本身、其 他任务或i s r 对p s o s 内核所作的系统调用才能改变任务状态。从宏观角度看,一个 多任务应用是通过一系列p s o s 的系统调用来迫使p s o s 内核改变受影响的任务状态, 从而从运行一个任务到运行另一任务。 对于p s o sk e r n e l ,任务在创建前或被删除后是不存在的。被创建的任务在能够 运行f j 必须被启动。一旦启动后,一个任务通常处于下面三个状态之一:r e a d y 就 绪、r u n n i n g 运行和b l o c k e d 阻塞。 就绪任务是未被阻塞可运行的,只等待高优先级任务释放c p u 的任务。由于一 个任务只能由正运行的任务通过系统调用来启动,而且任何时刻只能有一个任处于 运行状态,所以新任务总是从就绪态开始。 运行态任务是正在使用c p u 的就绪任务,系统只能有一个r u n n i n g 任务。一般 r u n n i n g 任务是所有就绪任务中优先级最高的,但也有例外,即任务的可强占标志 被关掉。 任务是由自身特定活动而变为阻塞的,通常是通过系统调用,引起调用任务进 入等待状态的。所以任务不可能从r e a d y 态到b l o c k e d 态,因为只有运行任务才能 执行系统调用。 3 、任务模式字m o d ew o r d 。 每个任务带有一个m o d ew o r d ,用来改变调度决策或执行环境。主要有以下四个 参数:p r e e m p t i o ne n a b l e d d i s a b l e d 可抢占标志使能不使能、r o u n d r o b i ne n a b l e d d i s a b l e d 时间片轮转使能不使能、i n t e r r u p t se n a b l e d d i s a b l e d 中断使能不使 能、a s re n a b l e d d i s a b l e d 异步信号服务例程使能不使能。 当可抢占标志置位时,表示该任务可以被更高优先级任务抢占c p u 。时间片轮转 标志只适用于等优先级的任务,他们之叫是按时阳j 片来循环执行的。中断不使能表 示f 在运行的任务不允许中断发生,中断使能则表示陔任务可被中断打断。每个任 南京邮【u f i 学位论文 第二章系统l 成、接口i ! ; 计殷控制策略 务可以通过a s c a t c h 建立一个异步信号服务例程a s r 。异步信号类似于软件中断。 当a s r 位为l 时a s c a t c h 所指向的任务将会被改变执行路径,先执行a s r ,再返回 原执行点。 2 4 2 多任务处理 当多个任务并行存在,而系统资源有限时,这时就需要有任务调度策略来使各 个任务相互协调工作,充分利用系统资源,来达到更高的效率。 1 、任务调度 p s o s + 核采用了基于优先级、可抢占的调度算法。一般来说,p s o s + 核确保了在 任何时间运行的任务都是所有准备运行的任务中优先级最高的。任务的设置与每个 任务的模式字的抢占位和时间片轮转位是否置位有关的。有两个因素将影响动态调 度的效果:一是优先级可变( 通过t s e t p r i 系统调用改变任务的优先级) :二是任 务模式字中的p r e e m p t i o nb i t 位和r o u n d r o b i nb i t 位。p r e e m p t i o nb i t 位决定不 同优先级的任务是否可抢占,并和r o o n d r o b i nb i t 位一起决定任务的时间片轮转是 否有效。 p s o s 系统中引起调度的原因有两条:一是在轮转方式下时间片到:二是p s o s 系统调用引发任务调度。该系统调用可能是i s r 发出的,也可能是某个任务发出的。 2 、运行任务的切换 下面三种情况将引发运行任务切换: 在时间片轮转方式下( 此时任务模式字的r o u n d r o b i nh i t 与p r e e m p t i o nb i t 均为e n a b l e ) ,运行任务t a s ka 的时间片用完,且r e a d y 队列中有相同优先级的其 它任务,则t a s ka 退出运行。 在运行任务t a s ka 的m o d ew o r d 的p r e e m p t i o nb i t 位为e n a b l e 的前提下,若 t a s ka 发出的某条相同调用引发一个优先级高于t a s ka 的任务t a s kb 从b l o c k 状 态进入r e a r y 状态,则将t a s kb 投入运行。 i s r 使用i r e t u r n 系统调用,则i s r 退出运行,p s o sk e r n e l 选择r e a d y 队列中 优先级最高的任务投八运行( 这一任务并不一定是被i s r 打断的时运行任务) 。 3 、任务状态转移 南京帅l 乜坝l 学位论义第二章系统纰成、接口设计及控制策略 下图说明了在p s o s + 任务中可能的状态转移。这里,e 表示运行态,r 表示就绪 态,b 表示阻塞态。 剧2 1 3 任务状态转移图 r e :一个就绪的任务进入运行状态。当正在运行的任务阻塞了,这时就绪 队列中优先级最高的任务将转为运行状态。或者某个更高优先级任务由阻塞 状态转为就绪状态时,它会抢占正在运行任务的c p u ,自己进入运行状态。 在等优先级的情况下,正在运行任务的时间片用完,这时就绪队列中与其等 优先级的任务将转为运行状态。 e r :当某个更高优先级任务由阻塞状态转为就绪状态时,它会抢占正在运 行任务的c p l ,这时刚才运行状态的任务将转为就绪状态。或者在等优先级 的情况下,正在运行任务的时间片一用完就会转为就绪队列。 e b :当正在运行的任务要从一个空消息队列中获得一个消息,或者等待某 个事件、信号量标志,即任务所需资源得不到满足时,此任务就进入阻塞状 态。还有,计时等待也会导致任务由e b 。 b r :处于阻塞状态的任务,其所需的消息事件或者信号量标志获得时,任 务将处于就绪状态。或者阻塞任务等待超时,任务也会转为就绪状态。或者 f 在等待的对象被别的任务删除了,这时不会使任务永久等待,反而会使任 务由b r 。 b e :在b r 条件满足的1 司时,阻塞任务又比刚刁执行的任务的优先级高, 且e f j j 执行任务的抢占比特置位( 即可被抢占) ,阻塞任务才会进入执行状 态。或者在等优先级任务时间片刚好用完时,b e 。 2 4 3 任务之间及任务与中断之间的通信机制 在p s o s 中,任务之间及任务与中断之间的通信、同步有三种方式:消息队列、 南京u 电倾i :学位论文 第二章系统组成、接u 设计及控制策略 事件和信号量。 1 、消息队列提供了一种完成通信和同步的高度灵活的、一般目的的机制,包括 定长和变长两种,相应系统调用包括:定长消息队列q c r e a t e 、q i d e n t 、q d e l e t e 、 q r e c e i v e 、q s e n d 、q _ u r g e n t 和q _ b r o a d c a s t ,以及变长消息队列q v c r e a t e 、 q v i d e n t 、q v d e l e t e 、q v r e c e i v e 、q v s e n d 、q v u r g e n t 和q v b r o a d c a s t 。队歹0 一般不专用于任何任务,它可作为多个任务到多个任务的通信交换站,队列数目在 p s o s + 酉e 置表中定义。 2 、事件是p s o s + 提供的一种同步策略。每个任务有相关的3 2 位事件标志,高 1 6 位为系统保留,低1 6 位为用户定义。相应系统调用包括:e v r e c e i v e 、e v s e n d 。 任务可等待一个任务,几个之一或者是几个事件的全部。与消息相比,它能同步一 任务,但不能直接携带任何信息;在拓扑结构上,事件是点到点发送,而消息却是 发送给消息队列,可以点到多点:事件接收时可以设置等待多个事件,而消息只能 等待消息队列中的一个;事件不累计不排序,消息自动缓存和排序。 3 、信号量也是p s o s + 的一种同步机制,多在互斥应用中作为资源标志用,相应 系统调用包括:s m _ c r e a t e 、s m _ i d e n t 、s m _ d e l e t e 、s r n - - p 和s m _ v ,其个数也是在 p s o s + r g 置表中定义。这里关键的调用是: s mp ,如果信号量标志计数不为0 ,调用操作成功,并使计数减一。如果信 号量计数为0 ,调用者可选择等待或等待超时或无条件返回。 s m v ,返回一个信号量标志。调用时如无任务等待信号量,则标志数加一, 如有任务等待,则信号量等待队列中的第一个任务从队列中释放出来并准备 运行。 在系统中,各个任务是在一种相互协同状态下工作的,因此本文中软件控制 的关键主要是优先级安排、任务调度、任务之间以及任务与中断之间的同步通信。 由于任务之间都采用的是点对点通信,作者主要采用的是事件来通信同步各任务以 及中断。 南京邮i u 坝l 学位论文第二章系统组成、接口设计及控制策略 2 5 系统状态控制策略 a 、 系统启动 b 网络检测 c 、 网络环境 确定 工作环境 络检测 发送传输 e 网络检测 收发端通 信建立 图2 1 4 无线视频终端系统状态转移图 本节主要介绍无线视频终端系统的状态控制机制,如图2 一1 4 所示。 首先,系统一上电系统就处于启动状态a ,然后进入主函数r o o t0 ,并丌启 创建各个用户任务。结束后,系统进入网络检测状态b 。当底层任务检测有网络存 在,系统转到确定网络环境j 状态c 。网络切换任务选择好通信模式后,系统就开始 转到状态d 。 这时,系统继续进行网络检测,并开始建立收发端通信链路。当系统收到发送 端发来的丌启命令时,系统马上转到状态e 。这时,视频通信才算开始。同时,系 统还需要维护工作环境和不停地定时网络检测。 当底层发现有网络链路断通现象都会通知网络切换任务,这时,系统转到状态f 。 网络切换任务根据底层任务发来地事件信息,决定是否网络切换。网络切换任务一 处理完事件,就丌始进入阻塞状态,而系统返回到状态e 。 当系统收到接收端发来关闭命令时,系统就会转到状态g 。这时,系统继续维护 工作环境和网络检测,只是视频编码传输停止。当底层发现有网络链路断通现象时, 底层任务会通知网络切换任务。这时,系统由状态g 转到状态f 。网络切换任务一 处理完事件,就开始进

温馨提示

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

评论

0/150

提交评论