




已阅读5页,还剩71页未读, 继续免费阅读
(微电子学与固体电子学专业论文)数据广播接收卡驱动程序的设计和实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
华中科技大学硕士学位论文 449 4 8 9 摘要 伍动程序是硬件设备和操作系统之间的接口,硬件设备实现的功能很大程度 上取决于驱动程序的设计和实现,因此在新硬件的开发中驱动程序的设计和研究 都是非常重要的椿文研究了一种新的网络终端设备- 数据广播系统终端接收卡在 r m d o w s 下的驱动程序的设计和实现。 首先,本文论述了数据广播系统的发展和特点,数据广播系统的应用前景。 然后描述了数据广播的各个子系统的组成和功能,分析了数据广播接收卡驱动程 序在整个数据广播系统中的作用和地位。 在分析数据广播协议的基础上,研究了基于m p e g 2 封装的p 数据的接收和 解码算法,并首先提出了使用模拟以太网卡m a c 层接口的方法对操作系统实现 一个虚拟网卡接口。( 方法是将解码的后p 数据重新封装成以太网卡数据帧格式, 使用此数据帧与v c m d o w s 网络的协议层通信。 根据接收卡的具体特点,提出了在网络驱动程序中实现应用层控制接口的方 法卉通过在标准网络接口上创建新的控制接口,很好的解决了非标准网络数据的 接收,为实现新的数据业务提供了基础。 ( 针对网络传输流量大的特点,设计采用了双缓冲的数据传输策略,使用了i s r 和d p c 平衡负载处理的方法,减少了突发的大数据量造成的数据丢失的情况;在 向应用层的数据传输上,采用了重叠i o 的数据传输方法,既提高了系统的性能, 也提高了数据的传输效率。义 最后,研究接收卡驱动程序的安装过程和安装文件的编写。( 也论述了应用程 序如何利用驱动程序提供的功能实现数据广播的服务。重点分析了使用m o d e m 拨号作为上行的外交互式i n t e r n e t 接入时终端软件的工作机理。、 、 关键词:数字视频广播;m p e g 2 传输流;多协议封装;网络驱动接1 2 1 规范 华中科技大学硕士学位论文 a b s t r a c t d r i v e ri sas o f t w a r ei n t e r f a c eb e t w e e nad e v i c ea n do s i 玎垢c a p a b i l i t yo ft h e d e v i c em o s t l yd e p e n d so nt h ed e s i g na n dr e a l i z eo fi t sd r i v e r , s oi ti si m p o r t a n tt o r e s e a r c ha n dd e s i g nt h ed r i v e rw h e nan e wd e v i c ei sd e v e l o p e d t h i sp a p e rw i l l r e s e a r c ht h ed r i v e ro fan e w k i n dn e t w o r kd e v i c e d a t a b r o a d c a s t i n gs y s t e mt e r m i n a l c a r du n d e rw i n d o w s o p e r a t i n gs y s t e m f i r s t l y , t h ep a p e rd i s c u s s e s t h ed e v e l o p m e n ta n dv i s i o no fd a t ab r o a d c a t i n g s y s t e m ,d e s c r i b e t h ec o m p o n e n to f e a c hd a t ab r o a d c a s t i n gs u b s y s t e m ,a n da n a l y z et h e f u n c t i o na n ds i g n i f i c a t i o no f t h ed r i v e ro f d a t ab r o a d c a s t i n gp cc a r d a f t e rad e e pr e s e a r c ho ft h et h e o r yo fd a t ab r o a d c a s t i n gs y s t e m ,d i s c u s st h e r e c e i v i n ga n dr e c o n f i g u r a t i o n t h ei pp a c k e t s e n c a p s u l a t e db ym p e g 2t r a n s p o r t s _ 廿e a m w es i m u l a t et h ee t h e r n e tm a cl a y e ri n t e r f a c eb e t w e e nd r i v e ra n do s ,t h ei pp a c k e t w i l lb ee n c a p s u l a t ei n t oe t h e r n e tc a r dp a c k e tf r a m ea f t e ri ti sr e c o n f i g u r e d ,t h e ng i v e t h i se t h e r n e tf r a i n et op r o t o c o ll a y e ro f w i n d o w sn e t w o r kc o m p o n e n t b a s eo nt h ec h a r a c t e r i s t i c so ft h ec a r d ;i n a k eac o n t r o li n t e r f a c eb e t w e e nd r i v e r a n da p p l i c a t i o n w ec r e a t ean e wd e v i c ei n t e r f a c ee x c e p tt h em i n i p o r ti n t e r f a c e ,t h i s i n t e r f a c ei su s e dt og e tc o n t r o lo rr e c e i v et sp a c k e tf r o m a p p l i c a t i o n t h ei n t e r f a c ei s t h eb a s et od e v e l o pn e wd a t ab r o a d c a s t i n gs e r v i c e i nt h el o w e rl a y e r , t oa v o i do rr e d u c et h ed a t al o s sw h e nt h ed a t ac o m ei nb u r s t , a s ed o u b l eb u f f e rt ot r a n s f e rd a t a , u s eab a l a n c eb e t w e e nl s r d i s p o s ea n dd p cd i s p o s e ; i nt h eu p p e rl a y e r ,u s eo v e r l a p p e di om e t h o dt og e tah i g hs y s t e mp e r f o r m a n c ea n d h i g h - s p e e d d a t at r a n s f e rt oa p p l i c a t i o n l a y e r f i n a l l y , r e s e a r c h t h ep r o g r e s so f t h ed r i v e r ss e tu pi nap c s y s t e m ,a n dd i s c u s st h e w r i t i n go f i n f f i l e a l s og i v eo u tt h em e t h o do f h o wt op r o g r a m a p p l i c a t i o nu s i n g t h e d r i v e r s t u d yt h ew o r kp r i n c p l eo f t e r m i n a ls y s t e mh o wt oi m p l e m e n ti n t e m e ta c c e s s w h e nd o w n l i n ku s ec a b l e ,a n du p l i n ku s et h er e t u r nc h a n n e lo f ap p pd i a lm o d e m k e y w o r d s :d i g i t a lv i d e ob r o a d c a s t i n g ( d v b ) t r a n s p o r ts t r e a m ( t s ) ,m u l t i - p r o t o c o l e n c a p s u l a t i o n ( m p e ) n e t w o r kd r i v e ri n t e r f a c es p e c i f i c a t i o n ( n d i s ) 华中科技大学硕士学位论文 i绪论 1 1 引言 电子技术的发展使我们已经进入到信息时代,信息时代的最大特点是资源和 信息的共享,而人们共享信息的方式已由报刊杂志,广播电视等传统媒介向互联 网等数字媒介转化。随着人们对信息需求的不断提高,现有的简单的图文为主的 信息已不能满足需求,数字化音视频等多媒体内容的信息将成为互联网的发展的 热点【i 胆i 。宽带网络正是应运这一要求而诞生的新兴技术,在我国,得以光纤为 主的骨干网已初步形成,所谓的宽带技术主要指的是宽带接入技术,也即所谓的 互联网“最后一公里”的用户接入技术。目前能够提供的宽带接入的方案主要有 三种例1 4 j :n - i s d n ,x d s l 和c a b l em o d e m 。其中n - i s d n 是基于电信公用电话交 换网络( r s t n ) 的解决方案,由于接入速率有限,目前已基本被淘汰;非对称数字 用户线( a d s l ) 技术即可以基于p s t n 网络,也可以在h f c 网络上实现,目前的 研究已趋成熟:而基于光纤同轴电缆( h f c ) 的有线电视网络( c a t v ) 的研究前景更 为广阔,美国近年来出现了d o c s i s 规范,提出了改造现有的i - f c 单向网络的方 案,终端采用c a b l e m o d e m 技术可以获得比a d s l 更高的带宽,但是对于现有网 络的改造是一项昂贵的工程,而且还存在技术上的难题,如如何克服上行信号在 节点处汇聚所形成的“漏斗效应”等。我国的有线电视网络已经遍布各省,市, 自治区,有线网络用户超过s 0 0 0 万户,全国有线电视台超过3 0 0 0 多家,而且大 多数网络没有经过改造。在人们研究了互联网的大多数服务的特点的基础上,提 出了不用大规模改造h f c 网络,仍采用单向网络的数据广播系统,它虽然不能像 c a b l e m o d e m 技术一样提供良好的交互与带宽,但其易于构建,成本低廉,对于 当前网络状况来说是一种很好的解决方案【5 1 。 数字数据广播系统的推出是基于这样一种应用背景,即当前的宽带业务存在 很强的不对称性,这种不对称性具体体现在两个方面; 华中科技大学硕士学位论文 1 1 上下行数据流量间的差异 根据对网络流量的统计分析表明:用户在接入网络后更多的时候是从网上下 载各种信息,而对外传输信息量却很小,这就使得下行数据流量大大超过上行数 据流量。 2 1 信息需求的共性和个性的差异 对一定区域的用户,其信息需求既有个性又有共性。在许多情况中,用户对 信息需求表现出强烈的共性,用户所需要的个性化的信息相对较少。 数据广播系统充分考虑了上述的不对称性,系统在下行方向选用现有的有线 网络提供海量数据通道,而上行方向的数据通道则利用外交互的方式实现。数据 广播方式的本身就以播发具有共性需求的信息为主。数字数据广播系统是一种针 对非对称应用的宽带接入方案。表1 1 给出了数据广播系统和其它几种接入方案 的比较。 表1 - 1 几种接入方案的比较 使用5 6 km o d e m i s d na d s lc a b l em o d e m 外交互数据广播 下行速率 0 0 5 6 63 03 0 m b p s 0 1 2 8 上行速率 5 6 1 2 86 4 06 4 0 1 0 0 0 05 6 k b p s 主要优点技术成熟,可接入不占用电话线,速率很高,充分下行速率高,组 多种业务速率高利用h f c 网络建简单,服务费 用低 主要缺点安装复杂,占用电传输距离有限,需要双向有线电占用电话线,上 话线,费用高费用较高视网络行速率较低 1 2 数据广播系统的系统组成 数据广播系统由前端系统和终端系统构成,前端系统又可以分为以下几个部 分组成即:数据播控子系统,用户节目管理子系统,外交互予系统,数字电视子 2 华中科技大学硕士学位论文 系统。其结构框图如图1 一l 所剥6 1 : 1 ) 数据播控子系统。数据播控子系统是数据广播系统的一个核心部分,它的 主要功能是有效地组织各种信息资源,通过特定的播出设备和软件将资源数据转 化为可以在c a t v 网上广播的信息送往有线电视播出设备,并对数据播出实行监 控。数据播控子系统的主要设备包括数据播出管理网络、播放服务器和i p d v b 网关和前端数字调制器。数据播出管理网络实际上是一个由若干服务器组成的局 域网,这些服务器将用于实现资源存储、资源注册、节目单编排、系统监控、用 户管理等功能f f l 。同时,数据播出管理网络与卫星接收子系统、有线台局域网等 外部网络进行连接,从它们那里获取需要的信息资源。播放服务器的主要功能是 播出数据,它通常配有两个网卡:其中一个接在数据播出管理网络上,用于接收 播出指令以及将待播出的资源复制到服务器的本地硬盘。另一个网卡则连接到数 据广播前端调制器用于根据播出指令播出数据,同时进行必要的流量控制。播放 服务器的另一个任务则是对播出的数据进行加密,使得数据仅对合法用户开放。 前端系统 飞作 用户和节目管 理子系统 彩 萎姬舔hf 抒系h 黧硼出 l 一终端子系统i 图1 - 1 数据广播系统结构图 2 ) 用户和节目管理子系统。管理子系统是用来对用户和节目资源统一管理的 数据库 8 1 。管理子系统管理的对象包括合法用户的开户、计费、接收授权,节目 华中科技大学硕士学位论文 的登记、播出以及播出统计等。本子系统配合播控子系统完成大部分的管理工作。 3 ) 外交互子系统。外交互子系统的主要功能是为系统实现双向接入业务。它 是单向数据广播业务基础上的一个重要扩展。严格地说:双向接入业务是由外交 互子系统、公用电话网和数据播出系统、c a t v 网共同支持的,其中前两者构建 了数据上行链路,后两者构建了数据下行链路。外交互子系统主要部件包括:p p p 接入服务器,d v b 接入路由器。 4 ) 数字电视播出子系统。数字电视播出子系统包或卫星转发和本地视频播出, 卫星转发系统将收到的数据送到数据播控子系统转播到c a t v 网上。本地视频播 出是直接按照数字电视标准播放存储在本地媒体服务器的视频流文件,主要包括 视频服务器等设备。 5 ) 用户终端子系统。在数据广播系统中,用户为了接收广播数据或者利用数 据广播网进行i n t e m e t 接入,需要配备相应的硬件设备和应用软件。这些硬件、 软件就构成用户子系统。用户子系统的硬件包括一台个人电脑、接收卡及一个普 通的电话m o d e m 。这样就可以接收数字数据广播系统播出的各种信息,并通过公 用电话网回传通道实现到有线台的双向接入,并进而接入i n t e m e t 。用户子系统的 软件主要包括接收卡的底层驱动程序,这是本文将要讨论的重点,驱动和应用程 序接口软件,包括频道搜索和选择,节目单的接收等,视频接收软件、文件资源 接收软件、各种股票分析软件等等。通过这些应用软件,用户可以有选择地接收 广播数据,并可以根据需要对这些数据进行存储、浏览、分析等等。 1 3 本课题的任务 数据广播接收卡是数据广播系统的终端子系统的主要设备,由于数据广播系 统的开放性标准。数据接收卡相对于前端系统是独立的。数据广播接收卡完成的 功能主要包括 9 1 : 1 ) 对数字信号解调,由于数字信号在c a t v 网络的传输是q a m - 6 4 或q p s k 调制的,终端必须从调制信号中得到还原数据,这一部分的工作主要由数字高频 4 华中科技大学硕士学位论文 头完成。 2 ) 解扰模块,广播系统为了对用户进行收费管理,必须在前端对信号进行加 扰,为了能够恢复原来的信号,接收卡必须具有解扰功能。 3 ) 解复用,c a t v 网数字信号为了便于发送和接收,采用m p e g 2 标准的复 用方法,应次要得到有用的数据,还必须对复用在一起的数据进行解复用。 只要设计符合d v b c 数据广播规范,d v b 接收卡的结构可以不同。目前国 内的几家厂商的卡主要有两种,一种是使用标准的网卡芯片提供网络接口,同时 提供自己的接口已实现频率调制和接收s i p s i ( 服务信息,程序特殊信息) 信息:另 一种设计方法就是直接由软件的方法即在接收卡的驱动程序中实现d v b 封装的 反解码。用硬件实现解码的方法硬件的设计比较复杂,而且也不够灵活,它的好 处是减少了对主机c p u 的负担,提高了系统的整体性能;软件解码的的特点是简 化了硬件的设计,降低了接收卡的成本,提高了系统设计的灵活性。考虑到当前主 机c p u 的性能已普遍比较高,采用驱动实现m p e ( 多协议封装) 解码是较好的选 择。 本文研究了在w m d o w s 操作系统下如何实现软件解码的驱动程序,重点是如 何实现与w m d o w s 操作系统的网络层的接口和如何接收一般的原始t s 流数据。 驱动程序的m p e 解码部分对w m d o w s 操作系统实现n d i s 网络接口,依据n d i s 网络驱动规范,接收卡的驱动程序实现的部分在n d i s 中属于n d i sm i r a p o r t 驱动 程序,它对上层驱动程序( 协议驱动或中间层驱动) 提交e t h c m c t 格式数据包或 其它的上层驱动能够识别的数据包。数据广播接收卡主要需要实现两个功能: ( 1 ) 实现与n d i s 上层驱动程序的接口,向上层提交数据。n i c 与上层的接口 是通过n d i s 库完成的,m i n i p o r t 调用n d i s 库的n d i s x x x 的函数通知上层接收 状态的改变等情况,m i n i p o r t 自身则导出一组m i n i p o r t x x x 的函数由n d i s 库调用。 ( 2 ) 实现用户接口,可以对接收卡进行频率和p i d 的设置,可以直接接收t s ( 传输流) 数据,用来实现d 、,b s i 的接收和数字电视节目的接收。 本课题是中国数据广播中心数据广播平台建设的终端系统的一部分,对于充 分发挥数据广播平台的优势具有非常重要的意义。本文第一章介绍了数据广播的 j 华中科技大学硕士学位论文 发展,数据广播系统构成以及本课题所涉及到数据广播终端的驱动的功能:第二 章将介绍本课题研究所依赖的理论基础,包括m p e g 2 传输流分组标准,d v b 数 据广播规范,w i n d o w s 驱动模型和n d i s 网络接口规范;第三章,介绍接收卡驱 动程序的网络接口的实现以及网络数据的接收算法;第四章,介绍驱动程序的控 5 制接口的设计与实现和驱动程序与应用程序的接口的实现方法;第五章,讲述驱 动程序的安装过程以及驱动程序的使用,终端应用程序开发的要点;最后一章对 本课题的研究进行总结。 华中科技大学硕士学位论文 2 数据广播基本原理和驱动程序设计规范 数据广播接收卡驱动程序设计是一个集网络、多媒体以及计算机操作系统软 件为一体的综合性项目。m p e g - 2 传输流分组标准是数据广播系统的基础,它给 出了c a t v 系统上的数据从前端到终端的组织方式,它也是d v b 数据视频广播 系统的基础。d v b 数据广播规范给出了数据广播系统从组织、传送到接收的所有 细节,它提出的i po v e r d v b 规范使数据广播系统可以与i n t e r a e t 互连。接收卡驱 动程序与操作系统之间的接口遵守n d i s 规范,以实现由操作系统的有机融合。 m p e g - 2 标准是由运动图像专家小组于1 9 9 4 年制定的,标准的编号为r r u - t r e c h 2 2 2 0 i i s o i e c1 3 8 1 3 i l u j 。m p e g - 2 是一个用于视频、音频和有关数据的编码 和复用的规格,希望能适用于一系列的应用、码率等级、质量等级和多种业务。 m p e g - 2 作为公认的压缩方案,具有标准的开放性、技术的低成本、成员间的互 操作性和灵活性、比特率的可选择扩展性及众多厂商的支持等优势,在网络、通 信、卫星链路等更广阔的领域被采纳。在未来数字电视广播、h d t v 及更广阔的 网络视频传输、多媒体通信等综合业务中,m p e g - 2 作为标准的地位已经不可动 摇。m p e g - 2 以m p e g - 1 标准( i s o f l e c1 1 1 7 2 ) 为基础,是对m p e g - 1 的改进和 扩充。下面我们只讨论本课题用到的第一部分( 系统部分) 。 2 1 1m p e g - 2 传输流 m p e g - 2 标准系统部分中规定了两种系统流:节目流( p r o g r a ms t r e a m ,简称 p s ) 和传送流( t r a n s p o r ts t r e a m ,简称t s ) h i 。数据广播系统将只用到的传输 流,因此下面的介绍都是关于传输流的。 7 华中科技大学硕士学位论文 传送流是用于在有可能发生错误的环境下( 如网络传输) 进行一道或多道节 目的编码数据的存储和传送,广泛应用于数字视频广播( d v b ) 和多媒体通信中。 传送流是由一个个传送分组包( t sp a c k e t ) 组成,每个传送分组包固定为1 8 8 个字 节。 传输流的包结构如图2 1 所示,它是由一系列长度固定为1 8 8 字节的传输流 分组包构成,每个传输流分组由包头和有效负载构成,传输流包头包括4 个字节 固定和长度不固定的适应调整字段构成,其余的都是有效负载,有效负载可以来 自p e s 分组或者私有数据。 l 同步i 传送错误l 有效负载i 传送优ii 传送加l 适应字i 连续计li lllllp i d lil 适应字段i i 字节l 指示器i 起始指示l 先级il 密控制l 段控制l 数器ii 8 ( b i t ) 1111 3224 圈2 - 1 传送流语法图 传送流分组的各部分的语义定义如下: 同步字节固定8 位字段,值为0 x 4 7 。 传送错误指示器l 位标志位,指出本传输流包是否有错误。 有效负载起始指示1 位的标志位,指出有效负载是否为p e s 分组的开始或 私有分段的开始,常被称为p u s i ( p a c k e tu n i ts t a r t _ i n d i c a t o r ) 位。 传送优先级1 位指示器,当被置位对此传送流分组包具有更高的优先级。 p i d1 3 位字段,用来指示有效负载中的数据类型,是传输流包头中最重要 的字段。 加密控制2 位字段指出此传输流是否加密。 适应字段控制2 位字段指出包头后是否存在调整字段和有效负载。 连续计数器4 位字段,对相同p i d 的传输流分组计数,当计数到达最大值 8 华中科技大学硕士学位论文 0 x 0 f 时自动回零。 有效负载m p e g 2 传送流的的有效负载可以传送任意的数据,为了应用的 方便,m p e g 2 系统部分定义了两种主要的数据包装方式,分别是打包的原始流 ( p a c k e te l e m e n t a r ys t r e a m ,简称p e s 分组) 和私有分段( s e c t i o n ) 。 2 2 2p e s 分组和私有数据分段 在m p e o - 2 系统中,编码的音、视频或数据流都被称为原始流( e l e m e n t a r y s t r e a m , 简称e s ) ,音、视频原始流的编码是在m p e g - 2 的第二部分和第三部分中 描述的。对原始流进行打包之后形成p e s 分组流,原始流数据作为负载加入p e s 分组中,而p e s 分组又作为负载加入传送流的数据包中。p e s 分组的长度不是一 定的,但一般都比t s 分组要长,因此将p e s 分组的加到传输流时,一般要使用 若干的t s 分组包传输,但任何t s 包都不可能包括有两个以上的p e s 的数据。 由于p e s 分组一般不能刚好填满它占有的t s 包,需要在第一个t s 包的有效数 据的开始填充若干的填充字节。p e s 到传送流分组的映射关系如图2 - 2 所示, i p e s g t a j p 啐分组l p e s 分咀 ili 相卧 ,l、- i 恻枞1懒觥ll 懒枞l i 这种映射过程在m p e g - 2 中被称为传输流的复用,它的逆过程称为解复用。 复用和解复用是m p e g - 2 编解码过程中很重要的步骤。被映射的第一个传送流分 组的首部都带有包起始指示,以便在解复用时可以方便的识别出一个p e s 包结构 的开始。 传输流有效负载也可以用私有分段的形式出现,m p e g - 2 的程序特殊信息 9 华中科技大学硕士学位论文 ( p s i ) 和d v b 的服务信息( s i ) 都是以私有分段方式传输的。 程序特殊信息包括所有使m p e g - 2 解码器能够进行程序的多路解调的i t u - t r e c h 2 2 2 o f i s o m c1 3 8 1 3 1 规格化数据和私有数据。程序由一些原始流组成, 每个原始流都有一个p i d 标注,程序、原始流或其中部分都有可能被条件访问。 程序特殊信息不可以加密。传送流中,程序特殊信息被分为以下4 类表,结构如 表2 1 所示。 表2 - 1 程序特殊信息表 结构名类型流保留的p i d #描述 l t u t r e e h 2 2 2 o i i s o i e c 程序关联表o x o o关联程序号和程序映射p d 1 3 8 1 3 1 h u - t r e c h 2 2 2 0 1 i s o i e c说明一个或多个程序组成部 程序映射表赋值的 1 3 8 1 3 1分的p i d 值 物理网络参数:f d m 频率、 网络信息衰私用赋值的 发送器号码等等 m t r e e h 2 2 2 o i i s o i e c建立一个或多个( 私用) e m m o x o o 流与每个独立p i d 值的联系 条件访问表 1 3 8 1 3 1 m p e c 挖传输流私有分段是用来传输数据的主要方式,用它传输的数据被称 为表。每一种类型的表由唯一的表i d ( t a b l ed ) 指示,由于表1 d 使用8 位字段表 示,最多可以又2 5 6 种表,标准规定从0 x 0 0 o x l f 的表由构成节目信息的表保留。 私有分段的表m 的定义如表2 - 2 所示。 表:2 - 2t a b l e _ i d 的赋值 值描述 0 x 0 0 p r o g r a ma s s o c i a t i o ns e c t i o n 0 x 0 1条件镐酣o n o x 0 2 p r o g r a m _ m a p _ s e c t i o n 0 x 0 3 0 】c 3 f1 1 1 j tr e e , h 2 2 2 o i i s o i e c1 3 8 1 3 保留 o x 4 0 0 x e f用户私用 o x f f禁止 1 0 华中科技大学硕士学位论文 分段被直接映射到传送流分组,也就是说不用先映射为p e s 分组。分段不一 定在传送流的开端处开始,传送流分组有效负载中的第一个分段的开始点由 p o i n t e r _ f i e l d 给出。 2 2d v b 数据广播标准 1 9 9 3 年9 月,为了有利于数字电视工业的发展,欧洲广播联盟开始了d v b 项目的研制,d v b 项目的目标是建立一个和i 怔p g 2 有着良好接口的数字电视服 务框架【1 2 1 d v b 标准由欧洲电信标准协会( e w d p c a nt e l e c a m m u n i c a t i o n ss t a n d a r d s i n s t i t u t e , 简称e t s i ) 发布,目前成员已遍布全球2 0 多个国家的2 0 0 多个组织。 2 2 1 致据广播传输协议 d v b 标准制定了在卫星,有线电视系统,地面广播系统,交互电视,数据广 播,条件接收( c a ) 等方面的一系列标准【l ”。d v b 标准文献e n3 0 11 9 2 等定义了 数据广播系统,d v b 数据广播标准中定义了五种不同的传输应用协议,用来支持 不同的数据传输方式,它们的关系如图2 - 3 所示: 1 ) 数据管道( d a t ap i p i n g ) :数据管道描述了最简单的数据封装方式,其实,数 据管道本身没有定义数据该如何组织,他只是将数据作为m p e g 2 传输流的有效 负载部分传输,在实际应用中并不常见。 2 ) 数据流a t as t r e a m i n g ) :数据流描述了一种支持流式服务的数据广播封装 方式,它采用了m p e g 2 系统中的p e s 分组方式传输数据,因此可以将m p e g 2 音视频看作为数据流封装的数据广播服务。 3 ) 多协议封装( m u l t i p r o t o c o l e n c a p s u l a t i o n ) :多协议封装提供了一种在c a t v 上传输现有计算机网络协议包的方式,数据的封装方式遵循m p e g 2 私有分段格 式和d s m - c c 。 4 ) 数据轮放( d a mc a r o u s e l s ) :数据轮放描述了数据广播服务中的周期性的 数据单元传送的业务应用,在数据轮放中,这些数据单元被动态的刷新。它采用 华中科技大学硕士学位论文 了d s m c c 中数据封装方法。 5 ) 对象轮放( o b j e c tc a r o u s e l s ) :对象轮放是支持交互式的服务方面的应用 的方案,他用到了d s m c c 中用户到用户的模型。 伽瞪 特定 韭务 雌 _ 曩鬻氅 雌 特定 尊定 矗著 量舟 特定 特定 t 鲁包 量量 ( 知m 乜, 懈 特定 翻 业务 l 爨融 瞪潮c c 对曩把藏: d 舅i _ c c惦- 眦 b s m - c c 瓠舟t t 靶敏基累靶箍 m p e c - 2 囊产t 和抽, 兰登竺! 竺! ! ! 竺!i 曩簟霄童量螺赢参悔波封收冀鼻艳奠耐量轮照甩户定义曩并 明类墨 图2 - 3 数据广播传输协议关系图 2 2 2 多协议封装与i po v e r d v b i n t e m e t 已经成为全球最大的网络,而t c p i p 协议是i n t e m e t 协议的工业标准, 要让c a t v 网络和全球i n t e m e t 互连,必须要有支持在c a t v 网络上传输m 协议 的方法,而多协议封装实现了这种功能。多协议封装被设计成传输大多数的网络 层协议,由于考虑到p 协议使用的广泛性,它针对口协议作了优化,如果没有 特别的指示,认为它传送的是球数据。 图2 - 4i p 数据的多协议封装 m p e 首部包括由6 个字节的目的m a c 地址,用于m 数据用户的的寻址,在 终端硬件上根据目的m a c 地址和终端设备的m a c 地址的匹配对数据进行过滤, 由于m p e 首部的m a c 地址并不是在一起,终端设备或软件必须对它们进行提取, 1 2 ,鞠斟省榭lli 华中科技大学硕士学位论文 它们的对应关系如图2 5 所示: 2 3 w i n d o w s 驱动程序模型 w i n d o w s 设备驱动程序是运行于内核模式的操作系统组件,w m d o w s 系列操 作系统中设备驱动程序的模型主要有三种【1 习1 1 碰1 7 】:虚拟设备驱动程序( v x d ) 是 w m d o w s 9 5 系统上使用的驱动程序模型,驱动程序文件的后缀一般为v x d ,它在 w m d o w s 9 8 下也可以正常工作;w m d o w sn t3 5 1 和n r 4 0 中使用与w m d o w s 9 5 中不同的驱动程序模式,一般将它们称为“内核模式”驱动程序,它使用了f o 管理器,呲粥管理设施( w m 【) 及电源管理,在结构上比v x d 更先进,除了 n t 及基于n t 构建的w m d o w s 2 0 0 0 支持此模型外,大多数“内核模式”驱动程 序也可在w m 9 8 下运行;另一种驱动程序模型是在“内核模式”驱动程序结构上 结合v x d 的即插即用( p l u ga n dp l a y , 简称p a p ) 和电源管理功能发展而来的, 被称为w i n d o w s 设备驱动程序模型( w m d o w sd r i v e rm o d e l 。简称w d m ) 。在结 构和工作方式上,w d m 与“内核模式”驱动程序非常相似,它们主要的区别在 于设备的安装方式和驱动程序如何创建设备。w d m 驱动程序使用即插即用( p n p ) 管理器告知何时向系统添加一个设备,或删除一个设备。p n p 管理器使用安装信 息文件( i n f ) 查找并安装新设备正确的驱动程序下图2 - 6 给出了w d m 和n t 华中科技大学硕士学位论文 息文件( i n f ) 查找并安装新设备正确的驱动程序。下图2 6 给出了w d m 和n t 式驱动程序关系: 图2 - 6w d m 与内棱模式驱动程序关系 2 3 2 驱动程序与操作系统的关系 现代的操作系统大多实现了多任务的操作环境,为了避免应用程序之间相互的 干扰以及应用程序对系统代码的破坏,在操作系统的底层都采取了保护措施。一般 的保护方法是让操作系统代码运行在用户应用程序代码不能直接访问的级别,这种 分级是由硬件完成的,i n t e l8 0 x 8 6 处理器规定了四种不同的代码运行级【1 8 1 ,分别为 融n 9 0 到硒n 9 3 ,它们的优先级从高到低,w i n d o w s 操作系统采用了其中的两种: 圈2 7w i n d o w s 内核模式组件总体结构 1 4 华中科技大学硕士学位论文 m n 9 0 级用于运行操作系统代码,称为内核模式;r i n 9 3 级用于运行应用程序代码。 称为用户模式。 图2 7 给出了w i n d o w s 操作系统的内核模式组件基础成分,它可以分为四个 主要层次:最底层为硬件平台,它之上是硬件抽象层( h a l ) 。在h a l 之上运行 着调度进程用的微内核,最上层是提供主要的系统服务( a p i ) 的执行体。 执行体是w m d o w s 中最大和最复杂的内核模式组件,它的工作是实现与操作 系统关联的许多基本功能。执行体由几个相互独立的软件组件组成,为用户模式 进程及它们相互之间提供服务。其中有一个称为i o 管理器的组件,它以相同的 方式与所有的驱动程序通信,图2 8 给出了驱动程序与f o 管理器的关系。 1 ;f 1 最高层驱动 i o 管 中间层驱动 理 器 最底垂驱动 霹件抽复屡 图2 - 8 设备驱动程序的调用 图2 - 8 不仅给出了驱动程序与f o 管理器之间的关系,还给出了分层驱动程 序结构,f o 请求包( i r p ) 从i o 管理器传递给驱动程序栈的最高层驱动程序, 然后相应的i r p 沿着驱动程序栈被传递到相应的驱动程序。驱动程序的分层可以 华中科技大学硕士学位论文 使程序更加简单,也更容易与新的硬件兼容,它的缺点上降低了执行效率。 2 3 3 内核模式的i o 处理 多任务的操作系统是通过中断切换处理器状态的,设备驱动程序大多也是中 断驱动的。w m d o w s 操作系统中使用了抽象的c p u 中断优先级方案,这种抽象的 优先级操作依赖于被称作为中断请求级( i r q l ) 的参数,m q l 是个数字,它定义 了当前的活动的重要性如何,这个数越高,继续当前的任务的可能性越大。表2 3 给出了w m d o w s 操作系统中队抽象的中断优先级。 表2 - 3 处理器的中断级别 中断类型 i r q l行为 无中断p a s s i v e _ l e v e l 常规线程执行 软中断a p c _ l e v e l异步过程调用 d i s p a t c h _ l e v e l d p c 或线程调度 硬中断d i r q l 设备中断处理 p r o f i l e _ l e v e l 配置文件定时器 c l o c k 2 _ l e v e l 时钟 s y n c hl e v e l 同步 i p i _ l e v e l 处理器间同步 p o w e k 电源故障_ l e v e l 驱动程序只会使用其中的3 个中断级,大多数的驱动程序例程工作在 队s s el e v e l 级别,它其实是没有中断的级别,也就是其它级别的代码都可 以中断当前代码的执行。驱动程序的硬件中断服务锣! i n ( i s r ) 使用d i r q l 中断级 别,而中断后续处理的延迟过程调用( d p c ) 使用d i s p a t c hl e v e l 级别。 延迟过程调用( d i f f e rp r o c e d u r ec a l l ,简称d p c ) 是驱动程序设计中一个很重 要的概念,在w m d o w s 下,为了更多的设备中断被处理器响应,驱动程序的中 断服务例程一般都只做很少的工作,而将中断引起的大部分处理放到延迟过程调 用中处理,延迟过程调用是一种软件中断。 1 6 华中科技大学硕士学位论文 延迟过程调用是为了处理这样一种情况,在的d i r q l 上运行对时间要求不 是很高或者处理的时间太长的代码会阻止系统对其它中断的响应,从而降低了系 统的总体运行效率,d p c 使用软件中断推迟了这种代码的执行,直到较高的m q l 的活动完成。d p c 的工作流程如图2 - 9 所示: 圈2 4 延迟过程调用的处理 1 ) 当运行在较高m q l 的一段代码像在较低的m q l 上运行时,该代码将一 个d p c 对象加到系统d p c 队列的尾端,并请求d p c 软件中断。因为当前的i r q l 在d i s p a t c hl e v e l 之上,该中断不会马上得到控制权,但他人保持挂起。 2 ) 处理器在处理完高m q l 的代码后开始处理d i s p a t c hl e v e l 下的代码, 处理d p c 队列的调度。 3 ) d p c 派发器从它的队列中取出d p c 对象,并调用其指针存放在该对象中 的函数,这个函数将在d i s p a t cl e v e l 级别上运行。 4 ) 所有的d p c 对象都队列中被处理,d p c 派发器取消软中断。 w m d o w s 系统使用虚拟内存,虚拟内存将物理内存分为固定大小的单元, 被称为页,在x 8 6 系统上, 页的大小为4 k b 。设备驱动程序使用两种内存,一 种是在物理内存中不可以交换出去的内存,称为非分页内存;另一种是可以被换 出的内存,称为分页内存。非分页内存是一种宝贵的系统资源,过分的使用非分 页内存将会严重影响系统的性能。在d i s p a t c hl e v e l 以上的中断级别访问分 1 7 华中科技大学硕士学位论文 页内存将引起严重的错误,它可能使操作系统的内核崩溃。分页内存与非分页内 存由不同的内核函数申请。 2 3 4 驱动程序的上层调用接口 应用层对驱动程序的1 0 操作是通过操作系统执行体i o 管理器帮助完成的, i o 管理器创建每个代表i o 操作的1 0 请求包( i or e q u e s tp a c k e t ,简称i r p ) ,传递 i r p 给正确的驱动程序,并且在此1 0 操作完成后,处理这个数据包。相反,驱动 程序接收i r p ) 执行i r p 指定的操作,并且在完成后将i r p 送回给i o 管理器或为 了下一步的处理而把它送到另一个驱动程序( 通过1 0 管理器) 。 i r p 处理是驱动程序要做的主要工作, i o 管理器使用i r p 结构存储用户态 程序和驱动程序间的参数。由于驱动程序是可以分层的,一个i r p 结构可能被驱 动程序栈中不同驱动程序处理,i r p 结构中为每个驱动程序分配有一个 i o 的结构,图210显示了驱动程序与他们使用的栈单元之_stack_location 间的关系。驱动程序使用i o g - e t c u t r e n t s t a c k l o c a t i o n 的得到指向自己使用i o 栈的 指针。 圈2 n 设备栈如何处理i r p 驱动程序使用主功能码和次功能码识别不同的i r f 请求,在驱动程序中,不 同主功能码的i r f 由不
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 推行职业教育改革
- 人力资源管理中的人才流动与晋升
- 羽绒服款式设计报告
- 吹塑模具细则
- 2025政治专升本考试题(含答案)
- 心理学在危机沟通中的应用
- 个人成长规划方案
- 家电维修质量验收细则
- 心理测试工具开发规范
- 2025危险化学品安全作业能力检测试卷及参考答案详解
- 《第3课 数据的价值》参考课件1
- 2025届高考试题原创命题比赛说题稿
- 2024年四川省大竹县级机关和事业单位考调人员75人历年(高频重点提升专题训练)共500题附带答案详解
- 小学道法小课题研究活动记录
- 湖南省建筑工程定额
- 《外科护理》课程标准
- 党风监督员培训课件
- (2024年)人才培养计划方案
- 《UI设计》课件-第1章:UI设计概述
- 国开Python语言基础形考理论考核1-4答案
- 《招标投标法》课件
评论
0/150
提交评论