




已阅读5页,还剩54页未读, 继续免费阅读
(通信与信息系统专业论文)usb协议数字视频传输的研究与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
u s b 协议数字视频传输的研究与实现 摘要 随着通信领域和计算机领域技术的不断发展,人们需要交换的 信息种类越来越多,数量也越来越大,这就要求提供一种廉价的、遍 布全球的信息传输手段。而u s b 便是与当今计算机的发展趋势相适 应的,它是一种快速的、双向的、廉价的并可以进行热插拔的串行接 口。目前,u s b 技术正在以飞快的速度发展。 基于u s b 协议的数字视频设备的开发,以前一直没有一个统一 的标准,每个厂商因此自己制定基于u s b 的视频协议,以此来开发 相应的硬件设备和驱动程序,由此造成的最明显的一个后果是每个设 各厂商必须开发自己的基于w i n d o w s 操作系统的驱动程序,因而造 成了不同厂商的设备与操作系统的不兼容性。 2 0 0 3 年9 月,u s bi f ( u s bi m p l e m e n t e r sf o r u m ) 发布了支持 视频数据流的u s bv i d e od e v i c ec l a s ss p e c i f i c a t i o nr e v i s i o n1 0 标准。 这个标准定义了u s b 设备的视频流功能,具体化了每一个基于u s b v i d e oc l a s s 协议设备的标准描述符和类指定的描述符,同时又进一 步解释了控制视频流的视频类请求。该标准的推出,使得视频流设备 可以更简单的和p c 连接进行数字视频数据流的传输。进一步扩大了 数字视频设备与多媒体传输技术的应用范围。预计该标准可以用在廉 价的网络摄像机、便携式摄像机、高端d v 等设备上。 由于该标准在2 0 0 3 年9 月份提出,因此目前市场上能够见到的 支持该视频类标准的设备还很少,各个设备厂商都在为它们的设备进 行视频协议的标准化。因此,基于u s b 视频类协议的相关研究,具 有很强的前沿性、新颖性、实用性。 本论文以u s b 视频类协议为标准,进行相关项目的技术研发。 整个系统分为两部分,一部分是设备端,也就是带有u s b 接口的数 字摄像机,在这里我们称之为f i r m w a r e ;另一部分是p c 端的基于 w i n d o w s 操作系统的驱动程序。项目的主要内容包括:开发设备端的 驱动程序,实现基于基本u s b 协议的视频设备向基于u s b 视频类协 议的标准转换;开发p c 端的基于w i n d o w s 操作系统的内核流模式的 驱动程序,实现u s b 设备与p c 之间的通信。 本文主要分四部分。第一章研究并提出了系统总体方案及本课 题任务描述;第二章介绍了相关的u s b 技术;第三章介绍了u s b 视 频类协议的相关知识,以及在嵌入式系统( e l a t eo s ) 下u s b 设备视 频功能的实现;第四章详细介绍了w i n d o w s 下w d m 驱动程序的开 发方法,以及设备端在w i n d o w s 系统下驱动程序的设计与实现。 关键词:u s b 视频类协议嵌入式系统驱动程序w d m t h er e s e a r c ha n dc o d 皿l e t i o no f d i g n a lv i d e o 瞰n s p o r tb a s e 0 nu s bs p e c i f i c a t i o n a b s t r a c t u n d e rt h e d e v e l o p m e n to f t h ec o m m u n i c a t i o na n d c o m p u t e r t e c h n o l o g i e s ,m o r ea n dm o r ev a r i e t i e sa n dq u a n t i t i e so ft h ei n f o r m a l :i o n a r en e e d e dt ob ee x c h a n g e db yt h ep e o p l e ,w h i c ha r er e q u i r e dt op r o v i d e ac h e a pa n dw o r l d w i d em e a n so fc o n n e c t i o n t h eu s bt e c h n o l o g ya d a p t s t ot h et e n d e n c yo ft h ec o m p u t e r s ,a n di t i sak i n do fh i 曲s p e e d , b i d i r e c t i o n a l ,e c o n o m i c a l ,a n dh o tp l u gs e r i a li n t e r f a c e s of a r , t h eu s b t e c h n o l o g yi sr a p i d l yd e v e l o p i n g t h e r ei sn o tau n i v e r s a lu s bs p e c i f i c a t i o nf o rt h ed e v e l o p m e n to f d i g i t a lv i d e od e v i c e ,s ot h em a n u f a c t u r e rm u s tm a k es p e c i a lu s bv i d e o s p e c i f i c a t i o nb a s eo nt h eu s bb a s i cs p e c i f i c a t i o nf o rt h ev i d e od e v i c e i t c a u s e sar e s u l tt h a te v e r ym a n u f a c t u r e rm u s td e v e l o pt h ew i n d o w sd r i v e r f o r t h ed e v i c ea n dm a n yd e v i c e so fd i f f e r e n tm a n u f a c t u r ea r en o t c o m p a t i b l ei nw i n d o w s0 s u s bi m p l e m e n t e r sf o r u mi s s u e su s bv i d e od e v i c ec l a s s s p e c i f i c a t i o nr e v i s i o n1 0i n2 0 0 3 9 t h i ss p e c i f i c a t i o nd e f i n e st h ev i d e o s t r e a mf u n c t i o no fd e v i c e ,d e t a i l st h eb a s i cd e s c r i p t o ra n dc l a s ss p e c i f i e d d e s c r i p t o r , a n di n t e r p r e t st h ev i d e oc l a s sr e q u e s tf o rt h ec o n t r o io fv i d e o s t r e a m t h i ss p e c i f i c a t i o ni st ob ew i d e l yu s e do nd i g i t a lc a m e r ai nt h e f u t u r e w ed e v e l o po u rp r o j e c tb a s eo nt h eu s bv i d e oc l a s ss p e c i f i c a t i o n 。 t h es y s t e mi n c l u d e st w op a r t s :o n ep a r ti st h ed e v i c e ,w h i c hi st h ed i g i t a l v i d e oc a m e r aw i t hu s bi n t e r f a c e a n dw ec a l li tf i r m w a r e a n o t h e rp a r ti s p cd r i v e rf o rw i n d o w so s t h ec o n t e n to ft h ep r o j e c ti n c l u d e s :d e v e l o p t h ef i r m w a r ed r i v e rt oc o n v e r tt h eu s bb a s i cs p e c i f i c a t i o nt ot h eu s b v i d e oc l a s s s p e c i f i c a t i o n ;d e v e l o pt h ek e r n e lm o d e lw d mp cd r i v e r w h i c hm n si nw i n d o w so s a n dc o m p l e t et h ef u n c t i o nt ot r a n s f e rt h e v i d e od a t af r o md i g i t a lv i d e oc a m e r at op cb vu s bl i n e t h ec o n t e n to ft h i st h e s i si sa r r a n g e da sb e l o w :i nc h a p t e r1 t h e a r c h i t e c t u r eo ft h ew h o l es y s t e mi sp r e s e n t e da n dt h et a s ko fm i st h e s i si s d e s c r i b e da l s o i nc h a p t e r2 i n t r o d u c et h et e c h n o l o g ya b o u tu s b i n c h a p t e r 3 ,i n t r o d u c et h eu s bv i d e os p e c i f i c a t i o na n dc o m p l e t et h ev i d e o t r a n s f e rf u n c t i o nf o rt h ed e v i c ei ne m b e d d e ds y s t e m ( e l a t eo s 、i n c h a p t e r 4 ,i n t r o d u c eh o wt od e v e l o pt h ew d md r i v e r d e s i g na n d c o m p l e t e 也ew d md r i v e rw h i c hr u n si nw i n d o w so sf o rt h ed e v i c e k e yw o r d s :u s bd r i v e rw d me m b e d d e ds y s t e m v i d e oc l a s ss p e c i f i c a t i o n 独创性( 或创新性) 声明 本人声明所呈交的论文是本人在导师指导下进行的研究工作及取得的研究 成果。尽我所知,除了文中特别加以标注和致谢中所罗列的内容以外,论文中不 包含其他人已经发表或撰写过的研究成果,也不包含为获得北京邮电大学或其他 教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任 何贡献均已在论文中作了明确的说明并表示了谢意。 申请学位论文与资料若有不实之处,本人承担一切相关责任。 本人签名:王j 盥缕 日期: 生:士:f 关于论文使用授权的说明 学位论文作者完全了解北京邮电大学有关保留和使用学位论文的规定,即: 研究生在校攻读学位期间论文工作的知识产权单位属北京邮电大学。学校有权保 留并向国家有关部门或机构送交论文的复印件和磁盘,允许学位论文被查阅和借 阅;学校可以公布学位论文的全部或部分内容,可以允许采用影印、缩印或其它 复制手段保存、汇编学位论文。( 保密的学位论文在解密后遵守此规定) 保密论文注释:本学位论文属于保密在一年解密后适用本授权书。非保密论 文注释:本学位 本人签名: 导师签名: 适用本授权书。 日期:堑堕:坐1日期: 型:i :笠:f 日期:划:竺: 韭室酆垫盘堂亟堑盔垒逢童竖b 盐丛墼墨熟塑堡捡盟堑蛊墨塞墨 第一章系统总体设计 1 1 系统背景介绍 随着计算机技术的飞速发展以及多媒体技术的广泛应用,各种新的外设不 断涌现,其中数字音视频设备的发展尤其迅速,如各式各样的m p 3 、数码照相机、 数字摄像机等等。这些音视频设备的广泛应用,使得外设与计算机之间数据的交 换量越来越太,尤其是实时视频数据的传输。对计算机接口的承受力提出了更高 的要求。因此,在设备接口中就有了比串口,并口速度更快的u s b l 0 2 0 接口以 及i e e e1 3 9 4 。 在主机一侧,由于有多种的操作系统,比如微软的w i n d o w s 系列操作系统, 开放源码的l i n u x 系统等。而主机上的接口性能与操作系统有很大的关系,操 作系统内核对接口的支持程度在很大程度上决定了接口的整体性能。当某一个数 字视频设备通过接口与主机进行通信时,存在于主机系统内的驱动程序起了决定 性的作用,它为数据的传输提供了支持与保证。因此,针对相应的操作系统设计 开发一套好的驱动程序在很大程度上决定了数据传输的可靠性和有效性。 综上所述,选择一个适当的接口,设计实现相应设备的驱动程序,是实现 数据有效、可靠传输的根本保证。 1 2 关于u s b 技术 随着计算机应用的拓展,p c 机的外设越来越多,机箱后的插口也形形色色: 并行口、串行口、键盘口、鼠标口、游戏手柄接口、音频输入输出口、视频输出 口。p c 机有限的i o 插槽无法满足日益增加的外设需要。因此,简化外设 扩充方法,使之方便易行成为各个p c 机厂家面临的重大研究课题。在这个背景 下,m i c r o s o f t 公司于1 9 9 4 年提出了p l u g & p l a y ( 即插即用) 方案,这种技术解 决了用户选择资源的困难,由系统自动设置,但新外设的安装仍然相当麻烦,而 且外设扩充数量的问题也没有解决。因此,在1 9 9 6 年召开的面向p c 机硬件技术 工作者会议上,c o m p a q 、i n t e l 和m i c r o s o f t 三家厂商提出了设备插架( d e v i c e b a y ) 概念。 u s b 就是设备插架的一种规范。至今,各种u s b 的外设已经有上千种。 那么,u s b 为什么如此受青睐呢? 这要从它的历史和它自身的很多优点谈起。 u s b 是英文u n i v e r s a ls e r i a lb u s 的缩写,中文含义是“通用串行总线”。最初 u s b 是由c o m p a q 、d i g i t a lq u i p m e n t 、i b m 、i n t e l 、m i c r o s o f t 、n e c 以及n o r t h e r nt e l e c o m 七家公司共同开发的一种新的外设连接技术,并于1 9 9 6 ! 盏垫垫盘堂塑圭堑盔皇迨塞g 塑垃丛熬圭i 逝篮捡盟壁塞墨塞丑 年提出了1 0 版本,1 9 9 8 年更新为1 1 。其目标是发展一种兼容低速和高速的通 信技术,从而可以为广大用户提供一种可共享的、可扩充的、使用方便的串行总 线,将串行通信技术推向2 l 世纪。 u s b 技术得以广泛发展和应用的主要原因有以下几点: 1 速度 速度快是u s b 最突出的特点之一。在u s b i 1 规范中,有高速和低速两种 传输速率,高速方式的传输速率为1 2 m b p s ,低速方式的传输速率为1 s m b p s , 而新的u s b 2 0 标准最高传输速率达到4 8 0 m b p s 。比如键盘鼠标游戏手柄这样的 设备,只要低速方式就可以满足它们的要求了;而扫描仪、打印机等设备就需要 用到高速方式。下图是u s b 接口和其它几种接口的速度对比: 匝蕊雹啊圃墨墨皿墨墨墨蕊翌圈曩一 a p p 酶d e s 鼬o #1 0 k b p s ,n1”一。 b u s :( a d b t 。 j s e r i a lp o r t g e o p 姒r p 蛳 u 譬”s 。:i a 蘸t l o 、w i 。 s p e e d : u s s a s h l g h : s p e e d 。o “、。 s o s i | i 同f e w 瞻 u s b 2 口砒 f u l + i :霉p e s d r 。1 。 f a s t s c s i ;。 2 3 0k b p s ;2 m b p s :- 谢m :! b p s 。屯; 7-? ,n “强枷徊掌,0 0 一? 。一j 、0o 。 。一 一。一薯o m b p s 4 0 0m b p s : 一 3 6 0 柏0 。m b p s 一 8 。8 。0 m b p s 。 u l t r as c s p 31 8 - 1 6 0m b p s 图卜1u s b 接口和其它几种接口的速度对比 从图中我们可以看出,u s b 接口虽然不是最快的,但从它普及的速度来看, 在未来几年内,也许会逐渐替代串口和并口、甚至i e e e1 3 9 4 。 2 成本及应用 成本低及应用广是u s b 标准最大的一个特点,它通常不需要单独芯片支持, 而是可在主板芯片中附加,这样就节省了设备的固定成本,这就具有了应用的先 天基础。目前,u s b 除了可以应用于常见的p c 机及外围设备中,它还广泛地应 用于多媒体设备。 3 方便使用 u s b 支持热插拔,设备的人工切换也因此变得省时省力。在软件方面,u s b 设计的驱动程序和应用软件可以自动启动,无需用户做更多的操作,这同样为用 a 盏坚塾盘堂堕堑宝塞熊塞望垫丛熬生煎堑童捡煎壁壅墨塞丑 户带来极大的方便。另外,u s b 设备也不涉及中断冲突问题。u s b 口单独使用 自己的保留中断,不会同其它设备争用p c 机有限的资源,同样为用户省去了硬 件配置的烦恼。 4 、连接 u s b 接口支持多个不同设备的串列连接,一个u s b 口理论上可以连接1 2 7 个u s b 设备。连接的方式也十分灵活,既可以使用串行连接,也可以使用h u b , 把多个设备连接在一起,再同p c 机的u s b 口相接。 5 、电源 u s b 在设备供电方面提供了灵活性。u s b 线缆中包含有两根电源线及两根 数据线。部分设备,例如读卡器、摄像头、游戏手柄等耗电比较少的设备可以通 过u s b 口直接取电。可通过u s b 口取电的设备又分低电量模式和高电量模式, 前者最大可提供1 0 0 毫安的电流,而后者则是5 0 0 毫安。倘若设备需要更大的电 流,那就只好通过外置变压器来供电了。 1 3 国内外现状及课题意义 基于u s b 协议的数字视频设备的开发,以前一直没有一个统一的标准,每 个厂商因此自己制定基于u s b 的视频协议,以此来开发相应的硬件设备和驱动 程序。由此造成的最明显的一个后果是每个设备厂商必须开发自己的基于 w i n d o w s 操作系统的驱动程序,因而造成了不同厂商的设备与操作系统的不兼 容性。 2 0 0 3 年9 月,u s bi f ( u s bi m p l e m e n t e r sf o r l j l r l _ ) 发布了支持视频数据流 的u s bv i d e od e v i c ec l a s ss p e c i f i c a t i o nr e v i s i o n1 o 标准。这个标准定义了u s b 设备的视频流功能,具体化了每一个基于u s bv i d e oc l a s s 协议设备的标准描述 符和类指定的描述符,同时又进一步解释了控制视频流的视频类请求。该标准的 推出,使得视频流设备可以更简单的和p c 连接进行数字视频数据流的传输。进 一步扩大了数字视频设备与多媒体传输技术的应用范围。预计该标准可以用在廉 价的网络摄像机、便携式摄像机、高端d v 等设备上。 由于该标准在2 0 0 3 年9 月份提出,因此目前市场上能够见到的支持该视频 类标准的设备还很少,各个设备厂商都在为它们的设备进行视频协议的标准化。 因此,基于u s b 视频类协议的相关研究,具有很强的前沿性、新颖性、实用性。 1 4 本课题任务描述 由于以上u s b 技术的优势,我们可以看出未来u s b 的应用及其发展趋势都 是相当不错的,因此在本课题中,我们选用u s b 接口进行相关项目的技术研发。 由于本课题很前沿,同时为了降低开发过程中的复杂度,我们选取了一款低端的 数码摄像机作为研究,其支持的视频流特性是非压缩的、1 6 0 1 2 0 、2 0 f r a m e s 。 待该技术成熟时,再选择更高端、更实用的设备进行开发。本课题开发的支持 u s b v i d e oc l a s s 协议的设备已于2 0 0 4 年六月份投入实用。 此系统从整体上来说分为两部分,一部分是设各端,也就是带有u s b 接口 的数字摄像机,在这里我们称之为f i r m w a r e :另一部分是p c 端的基于w i n d o w s 操作系统的驱动程序。 设备端的f i r m w a r e 是基于嵌入式操作系统( e l a t eo s ) ,在j v cd s c 2 4 仿真 板下用a n s ic 开发的。需要完成三方面的工作: i 支持基于u s b 视频类标准格式的视频数据的传输; 2 支持基于u s b 视频类标准格式的静态图像的传输; 3 支持基于u s b 音频类标准格式的音频数据的传输。 p c 端驱动程序利用m i c r o s o f td d k ( d r i v e rd e v e l o p m e n tk i t ) 开发,在 w i n d o w s 2 0 0 0 ,w i n d o w s 9 8 和w i n d o w s m e 下都可以使用。需要实现的功能主要 有以下几方面: 1 实现基于u s b 视频类标准格式的视频数据从设备端到p c 端的传输 2 实现基于u s b 视频类标准格式的静态图像数据从设备端到p c 端的传输 3 实现基于u s b 音频类标准格式的音频数据从设备端到p c 端的传输 4 p c 对设备数据传输状态的控制 5 驱动程序安装文件的编写 下图是整个系统的结构图,其中虚线区域是我们所作的项目,其余的部分, 或者由操作系统提供,或者由第三方提供。 图i - 2 系统结构图 a 烹竖垫叁堂塑堑盔垒迨圭 望垃丛墼主垫塑篮盐i i 煎窥壹塞丑 第二章u s b 协议概述 2 1u s b 的硬件结构 u s b 采用四线电缆,其中两根是用来传送数据的串行通道,另两根为下游 ( d o w n s t r e a m ) 设备提供电源,对于高速且需要高带宽的外设,u s b 以全速 1 2 m b p s 的传输数据;对于低速外设,u s b 则以1 5 m b p s 的传输速率来传输数据。 u s b 总线会根据外设情况在两种传输模式中自动地动态转换。u s b 是基于令牌 的总线。类似于令牌环网络或f d d i 基于令牌的总线。u s b 主控制器广播令牌, 总线上设备检测令牌中的地址是否与自身相符,通过接收或发送数据给主机来响 应。u s b 通过支持悬挂恢复操作来管理u s b 总线电源。 u s b 系统包括u s b 互连、u s b 主机和u s b 设备三部分,u s b 互连是指设 备与主机之间的连接与通信过程,下描述了u s b 系统的构成。 h o s ti n t e r c o n n e c t p h y s i c a ld e v i c e - 嘲一嘲。蛳tf u n c t i o nl a 学 。删e 季:卜 = 、t f ,:。- to - _ 1 :雾妻,l i b s wp 紫i u s bo e v l c ( l 啷g y 啦m 簿辩粼蝴 l 卜l i - 、i l w e r o - 叠j 。、。 。弋。 u s bb u sj i 。羔j :l | l 辫n t m l 萄i mi i n t e r f a c el a y i c o n t r o “o r it | _ a c 协a ic o m m 帅i c a 越o n sf l o w 枣然泓嚣搿托辔一l o g l c a i m ml m i c a t i 。n sf l o w 图2 - 1u s b 系统拓扑结构 韭立竖垫盘堂塑圭壁塞生监童 b 垃丛丝主垫堑篮捡盟盟容量塞丑 u s b 系统采用级联式星型拓扑,该拓扑由三个基本部分组成:主机( h o s t ) 集线器( h u b ) 和功能设备( f u n c t i o n ) 。图2 - 2 描述了u s b 系统的拓扑结构。 3 t i e r 4 图2 - 2u s l 系统拓扑结构 主机包含有主控制器和根集线器( r o o th u b ) ,控制着u s b 总线上的数据和 控制信息的流动,每个u s b 系统只能有一个根集线器,它连接在主控制器上, 她可以提供一个或多个接入点。 集线器是u s b 结构中的特定成分,它提供叫做端口( p o r t ) 的点将设备连接 到u s b 总线上,同时检测连接在总线上的设备,并为这些设备提供电源管理, 负责总线的故障检测和恢复。 2 2u s b 的软件结构 每个u s b 系统只有一个主机,它包括三层定义,如图2 - 3 所示 图2 - 3 主机各层通信框架 u s b 总线接口 u s b 总线接口处理电气层与协议层的互连。从互连的角度来看,相似的总 线接口由设备及主机同时给出,例如串行接口机( s i e ) 。u s b 总线接口由主控 制器实现。主控制器的功能是由硬件、固件和软件组合完成。 u s b 系统 u s b 系统用主控制器管理主机与u s b 设备间的数据传输。它与主控制器间 的接口依赖于主控制器的硬件定义。同时,u s b 系统也负责管理u s b 资源,例 如带宽和总线能量,这使客户访问u s b 成为可能。u s b 系统还有三个基本组件: 主控制器驱动程序( h c d ) 它可把不同主控制器设备映射到u s b 系统中。h c d 与u s b 之间的接口叫 h c d i ,特定的h c d i 由支持不同主控制器的操作系统定义,开放式主控制器驱 动器( o h c d ) 处于软件结构的最底层,由它来管理和控制主控制器。o h c d 实 i k 室竖塾杰堂塑墅宝生造圭塑垃丛墼主热堡盟捡鲍堑塞墨塞墨 现了与u s b 主控制器通信和控制u s b 主控制器,并且它对系统软件的其他部分 是隐蔽的。系统软件中的最高层通过o h c d 的软件接口与主控制器通信。 u s b 驱动程序( u s b d ) 它在o h c d 驱动器之上,它提供驱动器级的接口,满足现有设备驱动器设 计的要求。u s b d 以y o 请求包( i r p s ) 的形式提供数据传输架构,它由通过特 定管道( p i p e ) 传输数据的需求组成。此外,u s b d 使客户端出现设备的一个抽 象,以便于抽象和管理。作为抽象的一部分,u s b d 拥有缺省的管道。通过它可 以访问所有的u s b 设备以进行标准的u s b 控制。该缺省管道描述了一条u s b d 和u s b 设各间通信的逻辑通道。 主机软件( h o s ts o f t w a r e ) 在某些操作系统中,没有提供u s b 系统软件。这些软件本来是用于向设备 驱动程序提供配置信息和装载结构的。在这些操作系统中,设备驱动程序将应用 提供的接口而不是直接访问u s b d i ( u s b 驱动程序接口) 结构。 u s b 客户软件( c l i e n ts o f t w a r e ) 它是位于软件结构的最高层,负责处理特定u s b 设备驱动器。客户程序层 描述所有直接作用于设备的软件入口。当设备被系统检测到后,这些客户程序将 直接作用于外围硬件。这个共享的特性将u s b 系统软件置于客户和它的设备之 间,这就要根据u s b d 在客户端形成的设备映像由客户程序对它进行处理。 2 3u s b 的基本特性 对u s b 协议来说,有一些基本的特性术语,比如d e v i c e 、e n d p o i n t 、p i p e 、 i n t e r f a c e 、c o n f i g u r a t i o n 、d e s c r i p t o r 等,下面简要介绍它们之间的关系。 每一个设备会有一个或者多个的逻辑端点在里面,每个端点叫e n d p o i n t 。 e n d p o i m 0 被用来传送配置和控制信息。在主机和设备的e n d p o i n t 之间的连接叫 做管道( p i p e ) ,与e n d p o i n t o 之间的连接叫做缺省管道。对于同样性质的一组 e n d p o i n t 的组合叫做接口( i n t e r f a c e ) ,如果一个设备包含不止一个的接口就可以 称之为复合设备。同样的道理,对于同样的类型的接口的组合可以称之为配置 ( c o n f i g u r a t i o n ) 。但是每次只能有一个配置是可用的,而一旦该配置激活,里面 的i n t e r f a c e 和e n d p o i n t 就都同时可以使用。主机从设备发过来的描述符 ( d e s c r i p t o r ) 中来判断用的是哪个配景、哪个接口等等,而这些的描述符通常是 在e n d p o i n t o 中传送。 1 0 2 4u s b 的数据流模型及数据传输方式 u s b 的数据流模型 i n t e f f a c e 2 - 4u s b 的数据流模型 u s b 系统软件通过一个缺省的控制通道来管理设备。而客户软件用通道束管 理接口。通道束的一端为端点,一端为缓冲区。客户软件要求通信数据在主机上 的一个缓冲和u s b 设备上的一个端点之间进行。主机控制器或u s b 设备( 取决于 数据传送方向) 将数据打包后在u s b 上传。由主机控制器( h c ) 协调何时通过总线 访问在u s b 上传递数据。u s b 不解释在通道中传送的数据的内容。消息通道要求 数据组织成u s b 定义的格式,但它的内容,u s b 是不管的。 u s b 的数据传输方式 u s b 的数据传输方式共有四种:控制( c o n t r 0 1 ) 传输、同步( i s o c h r o n o u s ) 传输、中断( i n t e r r u p t ) 传输、批量( b m k ) 传输。通常传送方式的主动权都在 主机( 1 1 0 s t ) 这一边。 ( 1 ) 控制传输:主要用于命令状态操作,由主机软件发起的请求响应 通信过程,具有突发性,非周期的特点。控制传输允许对一个设备的不同部分进 行访问,它用于支持客户软件及其功能模块之间的配置命令状态等类型的通 信流。控制传送是双向传送,数据量通常较小。控制传送方式可以包括8 、1 6 、 3 2 和6 4 字节的数据,这依赖于设各和传输速度。控制传输典型地用在主机和 u s b 设备之间的零结点( e n d p o i n t o ) 之间的传输,但是指定供应商的控制传输 可能会用于其它的结点。 ( 2 ) 同步传输:主要用于主机和设备与时闻有关的信息传输,具有周期性、 连续性的特点。这种传输类型保留了数据中时间压缩的概念。但是,它并不意味 着这一类数据传送都是实时的。同步传输提供了确定的带宽和延时( 1 a t e n c y ) 。 它被用于时间严格并具有较强容错性的流数据传输,或者用于要求恒定的数据传 送率的即时应用中。同步传输具有的特性是:在一定的时延条件下,保证对u s b 带宽的访问;只要向管道提供了数据,就应当保证通过该管道的数据所要求的恒 定的数据传输速率;一旦由于错误而使传送失败,不应利用“重试”来传送数据。 就同步传输方式的应用来讲,执行实时通话的语音设备,使用同步传输模式是很 好的选择。 ( 3 ) 中断传输:主要用于向主机通知设备的服务请求,它是由设备发起的 通信,具有数据量小,非周期,低频率,延时一定等特点。对于中断管道,u s b 未对其通信流规定数据结构。一个中断管道是一个流管道因此它总是单向的, 而且,一个中断管道仅用于向主机输入数据。u s b 不支持输出中断管道。这种 传输方式典型的应用在少量的分散的、不可预测数据的传输,键盘、操纵杆和鼠 标就属于这一类型。 ( 4 ) 批量传输:主要用于那些可以利用任何可用的带宽进行传送或可以 延迟到有可以利用的带宽时再进行传送的数据,它具有非周期和突发性强的特 点。批量传输类型是设计用来支持那些在不同的时刻需要传输相对而言数据量较 大的数据,并且该传输可以推迟到有可用带宽时再进行的设备。申请一个批量传 输类型的管道要提供下列条件:根据可用的带宽对u s b 进行访问:如果由于总 线上的错误而出现偶然的传输失败,需要重试;保证对数据的传递,但不对带宽 或时延提供保证。就批量传输方式的应用来讲,打印机和扫描仪属于这种类型。 这种类型的设备适合于传输非常慢和大量被延迟的传输,可以等到所有其它类型 的数据的传送完成之后再传送和接收数据。 u s b 将其有效的带宽分成各个不同的帧( f r a m e ) ,每帧通常是l m s 时间长。 每个设备每帧只能传送一个同步的传送包。在完成了系统的配置信息和连接之 后,u s b 的h o s t 就会对不同的传送点和传输方式做一个统筹安排,用来适应整 个的u s b 的带宽。通常情况下,同步方式和中断方式的传输不能占据超过整个 带宽的9 0 ,剩下的就安排给控制方式传输数据。而只有在没有其它传输方式请 求时,批量传输才会得到处理。 韭室坚垫盘茎塑盟塞垒迨塞婴b 垫丛塾主i 蚴堡捡鳢壁荭盏塞丑 2 5u s b 设备的状态 一个u s b 设备有几个可能的状态,有些状态对于u s b 系统和主机是可见的, 而另外一些则为u s b 设备内部所有。 图2 - 5 描述了u s b 设备的状态图。 图2 - 5u s b 设备的状态图 。插入( a t t a c h e d ) u s b 设备插入h u b 或r o o t h u b 。 o 上电( p o w e r e d ) u s b 设备可以接外部电源或者直接在它所接的h u b 上吸取能量,分别叫做自 供能( s e l f p o w e r e d ) 和总线供能( b u s p o w e r e d ) 。 o 缺省( d e f a u l t ) 设备上电后,在它接收到总线复位之前不能对任何总线状态变化做出反应。 当接收到复位后,设备就可以分配地址了。 o 分配地址( a d d r e s s ) 每一个u s b 设备被主机分配一个独一无二的地址。 o 配置( c o n f i g u r e d ) 设备必须被配置完成之后才能使用设备功能。 o 省电( s u s p e n d e d ) 为了节省能源,i j s b 设备在一段时间内没有接到总线数据传输时自动进入到 省电状态。再省电状态,u s b 设备保留内部各状态,包括分配的地址和各项配置。 2 6 常用u s b 设备操作 所有的u s b 设备支持通用的操作集,这一节主要是具体地说明这些操作。 动态插拔: u s b 设备允许在任意时刻插拔。提供连接点或端口的集线器应当负责汇报 端口的状态改变情况。 当主机探测到连接操作后,会使得所连的集线器端口生效,设备也会因此而 复位,一个被复位了的u s b 设备有如下特性: - 对缺省u s b 地址发生响应 没有被配置 初始状态不是s u s p e n d e d 当设备从一个集线器端口移去时,集线器会使得原来连接的端口失效,并且 通知主机设备已移去。 地址分配: 当u s b 设备连接以后,由主机负责给此设备分配一个唯一的地址,这个操 作是在设备复位及端口使能操作以后。 配置: u s b 设备在正常被使用以前,必须被配置,由主机负责配置设备。主机一 般会从u s b 设各获取配置信息后再判定此设备有哪些功能。 作为配置操作的一部分,主机会设置设备的配置值,并且,如果必要的话会 选择合适的接口的备选设置。 只须一个简单配置,一个设备可能支持多重接口。它们代表了设备向主机提 供的单一的功能或特性,用来与这组相关端结点通信的协议以及接口内各端结点 的目的可以作为一个设备类的一部分或者由厂商制定具体定义。 另外,一个配置中的接口可能有备选设置。这些各选设置会重定义相关端结 点的数目或特性。如果是这样的话设备必须支持g e ti n t e r f a c e 与s e ti n t e r f a c e 请求,来汇报并选择指定的接口的设备选设置。 在每个设备配置下,每个接口描述表都包括用来标识接口及各选设置的域, 接口被从o n 1 编号。n 为配置所支持的能同时使用的接口数目,类似的设置 的编号也从0 开始。当设各初始化配置后,缺省设置是各选设置0 。 为了支持通用的设备驱动程序管理一组相关的b u s 设备,设备与接口描述 表中包含了类( c l a s s ) ,子类( s u bc l a s s ) ,及协议( p r o t o c 0 1 ) 域。这些域用来标识一 i b 立坚垫盘茔塑主壁峦生造塞竖b 垫i 邀圭垫塑篮捡盟盈塞墨塞堡 个设备的功能及用于通信的协议。 一个类的值被分配给一组按照特性划分成u s b 类说明一部分的设备。一个 类的设备可进一步划分成予类,并且在一个类或子类中,一个协议代码值可定义 主机软件是怎样与设备通信的。注意:类、子类、与协议值必须一致。 数据传送: 数据可能以四种方式在u s b 设备端结点与主机之间传送。在不同设置下, 一个终端结点可能被用于不同的传输方式,但一旦设置选定,传送方式就选定了。 电源管理: u s b 总线电源是一个有限的资源,在设备枚举阶段,主机估测电源的需求。 如果电源的需求量超过u s b 总线所能提供的电量,主机软件则不能选择那个配 置。 请求处理: u s b 设各请求主要有两种:标准设备请求和类定义请求。除s e t a d d r e s s () 请求以外,在安装完成返回a c k 信号以后,设备就开始处理请求。在某一状态 成功结束以前,设备应当“完成”对请求的处理。许多请求费时较多,像这样的请 求,该设备类应该定义一个方法而不是等待交换状态信息阶段( s t a t u s s t a g e ) 的结 束来表示该操作已经完成。当端1 2 1 状态改变并表明此端口已经生效时,一个信号 就会产生表明复位信号已经结束。这种技术可以防止当主机知道某一个请求费时 较长的情况一直探测此请求是否已完成。 所有的设备应当及时处理请求,u s b 给定一个5 秒的命令处理的时间上界。 实际上,具体实现时,应当尽可能快地完成请求的处理。 如果设备收到s e t a d d r e s s ( ) 请求,设备必须能在5 0 m s 内完成请求的处理,并 完成状态的转换,在s e t a d d r e s s ( ) 的请求下,当设备发出o 长度的状态数据包 或设备收到状态数据包的响应信号a c k 就表明状态转换结束了。 在状态转换结束后,设备有2 m s 的s e t a d d r e s s ( ) 恢复时间。在这段时间结 束以后,设备必须能在新地址处接受s e t u p 数据包,并且,必须确保此时设备不 对旧地址的信号产生响应。( 当然,除非新旧地址是一样的) 。 a b 室酆垫盘鲎塑盟塞生逢塞h s b 垃丛墼主垫塑篮捡的堑峦生塞丑 第三章嵌入式系统下u s b 视频类设备驱动的设计与实现 3 1 嵌入式实时操作系统介绍 嵌入式系统被定义为:以应用为中心、以计算机技术为基础、软件硬件可裁 减、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系 统。嵌入式系统和具体应用有机的结合在一起。它的升级换代也是和具体产品同 步进行,因此嵌入式系统产品一旦进入市场,具有较长的生命周期。嵌入式系统 中的软件,一般都固化在只读存储器中,而不是以磁盘为载体,可以随意更换, 所以嵌入式系统的应用软件生命周期也和嵌入式产品一样长,嵌入式系统中的软 件也因此更强调可继承性和技术衔接性,发展比较稳定。 嵌入式系统的核心是嵌入式微处理器。嵌入式微处理器一般具备以下4 个特 点: 1 ) 对实时多任务有很强的支持能力,能完成多任务并且有较短的中断响应 时间,从而使内部的代码和实时内核的执行时间减少到最低限度。 2 ) 具有功能很强的存储区保护功能。这是由于嵌入式系统的软件结构已模 块化,而为了避免在软件模块之间出现错误的交叉作用,需要设计强大的存储区 保护功能,同时也有利于软件诊断。 3 可扩展的处理器结构。能最迅速地开发出满足应用的最高性能的嵌入式 微处理器。 4 ) 嵌入式微处理器必须功耗很低,尤其是用于靠电池供电的便携式计算机 和无线通信设备中时更是如此,甚至功耗只需毫瓦级。 实时多任务操作系统( r t 0 s ) 是嵌入式应用软件的基础和开发平台,用户 的其他应用程序都建立在r t o s 之上。不但如此,o s 还是一个标准的内核, 将c p u 时间、中断、i o 、定时器等资源都包装起来,留给用户一个标准的a p i , 并根据各个任务的优先级
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论