(无线电物理专业论文)基于usb20免驱摄像头固件的设计.pdf_第1页
(无线电物理专业论文)基于usb20免驱摄像头固件的设计.pdf_第2页
(无线电物理专业论文)基于usb20免驱摄像头固件的设计.pdf_第3页
(无线电物理专业论文)基于usb20免驱摄像头固件的设计.pdf_第4页
(无线电物理专业论文)基于usb20免驱摄像头固件的设计.pdf_第5页
已阅读5页,还剩49页未读 继续免费阅读

(无线电物理专业论文)基于usb20免驱摄像头固件的设计.pdf.pdf 免费下载

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

文档简介

b a s e do nu s b 2 0c a m e r a f r e ed r i v e - oo t l r m w a r ed e s i g n at h e s i s s u b m i t t e di np a r t i a lf u l f i l l m e n to ft h er e q u i r e m e n t f o rt h em sd e g r e ei nr a d i op h y s i c s b y z e n gc h e n g p o s t g r a d u a t ep r o g r am c o l l e g eo fp h y s i c a ls c i e n c e t e c h n o l o g y c e n t r a lc h i n an o r m a lu n i v e r s i t y s u p e r v i s o r :z h a n gg u o p i n g a c a d e m i ct i t l e :p r o f e s s o r 111i i ii iiii 9 9 0 8 7 厶1 a p p r o v e d m a y 2 0 1 1 硕士擘位论文 m a s t e r st h e s i s 华中师范大学学位论文原创性声明争使用授权说明 原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师指导下,独立进行研究工作 所取得的研究成果。除文中已经标明引用的内容外,本论文不包含任何其他个人或 集体已经发表或撰写过的研究成果。对本文的研究做出贡献的个人和集体,均已在 文中以明确方式标明。本声明的法律结果由本人承担。 作者签名: 噌裎 日期:加ff 年夕月:;日 学位论文版权使用授权书 学位论文作者完全了解华中师范大学有关保留、使用学位论文的规定,即:研 究生在校攻读学位期间论文工作的知识产权单位属华中师范大学。学校有权保留并 向国家有关部门或机构送交论文的复印件和电子版,允许学位论文被查阅和借阅; 学校可以公布学位论文的全部或部分内容,可以允许采用影印、缩印或其它复制手 段保存、汇编学位论文。( 保密的学位论文在解密后遵守此规定) 保密论文注释:本学位论文属于保密,在年解密后适用本授权书。 非保密论文注释:本学位论文不属于保密范围,适用本授权书。 作裕名:嗜采参翱签名悯 一 ,1 日期:伽1 1 年歹月引日日期:- ,年5 月5 自 本人已经认真阅读“c a l i s 高校学位论文全文数据库发布章程”,同意将本人的 学位论文提交“c a l l s 高校学位论文全文数据库 中全文发布,并可按“章程中的 规定享受相关权益。圃童途塞堡童厦澄蜃! 旦圭生;旦二生;旦三生蕉查! 作者签名诒 - 4 毒呈f 作者签名: 什 日期:功。f 年r 月1 日 孙签名_ 嗍 日期:年歹月弓j 日 硕士学位论文 m a s t e r st h e s i s 摘要 随着时代的进步和技术的发展,传统的摄像头虽然随着总线技术的发展在传输 数据速率上有了很多提高,但是其还存在很多缺陷,对于某种摄像头,用户必须安 装对应的驱动,当用户更换摄像头时,其需要跟换驱动或者升级操作系统才能正常 的使用,这给用户带来了很大的不便。此时,免驱摄像头越来越多的出现在人们的 视野中。与传统摄像头相比,免驱摄像头能够实现操作系统的兼容,实现真正的即 插即用。本文就是主要是针对这种免驱动网络摄像头提出的一种免驱固件设计方 式,其中对程序的流程重点介绍其采用的设计方式和某些问题的处理。 本文首先介绍免驱摄像头发展历史,同时还介绍了固件设计所需具备的基础常 识,包括u s b 2 0 协议、u s b 总线传输特点、u s b 数据传输方式等。在剖析u v c ( u s b v i d e oc l a s s ) 协议的基础上,对免驱摄像头芯片的结构以及相关寄存器都进行了相应 的阐述,同时还对固件设计时数据采用的数据结构进行了说明。在固件设计章节, 针对固件,采用中断消息处理机制,设计灵活的程序结构和精简的处理函数,及时 的处理各种命令状态,节省程序运行的r a m 空间,降低设计成本,保证设备的正 常高速运行。在设计工作方面中,利用k e i l c 5 1 编译工具,基于u s b 2 0 和u v c 协 议,编写免驱摄像头底层固件程序;结合u v c 协议,设计了多带宽选择,节约总 线资源;利用v c + + 6 0 ( m i c r o s o f tv i s u a lc + + 6 o ) 可视化编程工具编写了摄像头上层 应用软件,实现视屏图像在主机端的显示和视频图像的捕获;设计了固件下载的方 式,对e e p r o m 数据的保存设计了一种全新的方式,方便了固件中变量和常数的 更新;结合控制器操作手册,完成了设备段固件消息收发机制的软件设计。最后, 论文给出了部分仿真方式过程及结果。 特别提出的是,本文侧重点在摄像头的免驱固件设计,本文给出了市场上免驱 摄像头固件设计的方式,包括对u s b 通信的设计、视频接口的设计以及视频和标 准控制类请求支持接口的设计。 关键词:免驱;u s b 2 0 ;u v c 协议;u s b 控制芯片 a b s t r a c t w i t ht h ed e v e l o p m e n tt h et i m e sa n da d v a n c e so fi n f o r m a t i o n a lt e c h n o l o g y ,a l t h o u g h t r a d i t i o n a lc a m e r a sh a sal o tt oi m p r o v eo nt h et r a n s m i s s i o nd a t ar a t ea st h ed e v e l o p m e n t o ft h et e c h n o l o g yw i t ht h eb u s b u tt h e r ea r es t i l lm a n ys h o r t c o m i n g s f o rac a m e r a , u s e r sm u s ti n s t a l lt h ec o r r e s p o n d i n gd r i v e r ,1 1 e nc h a n g i n gt h ec a m e r a , u s e r sn e e d c h a n g et h ed r i v e ro ru p g r a d et h eo p e r a t i n gs y s t e mt ou s en o r m a l l y t h e r ei sag r e a td e a l o fi n c o n v e n i e n c ef o ru s e r s t l l i st i m e m o r ea n dm o r ec a m e r a sa p p e a ri np e o p l e sv i s i o n c o m p a r e dw i t ht h et r a d i t i o n a lc a m e r a , c a m e r a f r e e d r i v ec a na c h i e v eac o m p a t i b l e o p e r a t i n gs y s t e m ,c a na c h i e v et r u l yp l u ga n dp l a y f o rt h i sf r e ed r i v e rw e bc a m e r a , t h i s a r t i c l ed e s i g naw a yt od r i v ef i r m w a r ed e s i g n ,w h i c hf o c u s e so nt h ep r o c e s so ft h e i rw a y s a n dt r e a t m e n t 、加t hc e r t a i np r o b l e m s f i r s t t h i sp a p e ri n t r o d u c t i o n st h eh i s t o r yo ft h ec a m e r a - f l e ed r i v e ,a n di n t r o d u c e s t h eb a s i ck n o w l e d g eo ft h ef i r m w a r ed e s i g n ,i n c l u d i n gt h eu s b 2 0p r o t o c o l ,u s bb u s t r a n s f e rc h a r a c t e r i s t i e s u s bd a t at r a n s f e rm e t h o d s o nt h e b a s i so fa n a l y z i n gu v c p r o t o c o l 、t h es t r u c t u r eo fc a m e r ac h i p f r e ed r i v ea n dr e l a t e dr e g i s t e r sa r ed e s c r i b e d a t t h es a m et i m e ,t h ed a t as t r u c t u r eu s e di nf i r m w a r ed e s i g na r ed e s c r i b e d i nc h a p t e r so f f i r m w a r ed e s i g n , f o rf i r m w a r e ,i n t e r r u p tm e s s a g eh a n d l i n gm e c h a n i s mu s e d , f a c i l e p r o g r a ms t r u c t u r ea n ds t r e a m l i n ep r o c e s s i n gf u n c t i o nd e s i g n e d ,t r e a tv a r i o u sc o m m a n d s t a t et i m e l yt os a v et h es p a c eo ft h er a mr t m n i n ga n dr e d u c ec o s t so fd e s i g na n de n s u r e t h en o r m a lh i g h s p e e do p e r a t i o no fe q u i p m e n t i nw o r ko fd e s i g n , i tu s e sc o m p i l a t i o n t o o l sk e i l c 51 ,b a s e so nu s b 2 0a n du v ca g r e e m e n t ,p r e p a r e su n d e r l y i n gf i r m w a r eo f c a m e r a f r e ed r i v e ;w i t hu v c a g r e e m e n t , i td e s i g n so p t i o n so fam u l t i - b a n d w i d t h ,s a v e s b u sr e s o u r c e s ;u s i n gv i s u a lp r o g r a m m i n gt o o lv c h 6 0 ( m i c r o s o f tv i s u a lc h6 o ) ,i t p r e p a r e st h eh e a d t i e ra p p l i c a t i o ns o f t w a r eo fc a m e r a , i ta c h i e v e dn l ei s p l a y i n gs c r e e n i m a g eo nt h eh o s ts i d e sa n dc a p t u r i n go fv i d e oi m a g e ;i td e s i g n saw a y t od o w n l o a dt h e f i r m w a r e d e s i g n san e ww a yt os a v et h ee e p r o md a t a , f a c i l i t a t e su p d a t e si n t h e v a r i a b l e sa n dc o n s t a n t so ff i r m w a r e ;c o m b i n a t i o nw i t hm a n u a lc o n t r o l l e r ,i tc o m p l e t et h e s o f t w a r eo fm e s s a g i n gm e c h a n i s mo ft h ef i r m w a r ei nt h es e c t i o no fd e v i c e f i n a l l y , t h e p a p e rs h o w sp a r to ft h ep r o c e s sa n dr e s u l t so fs i m u l a t i o nm e t h o d s i np a r t i c u l a rt h a t t h i sp a p e rf o c u so nt h ea v o i df l o o d i n gd e s i g no fc a m e r a m s p a p e rs h o w st h ew a yo ff i r m w a r ed e s i g no fc a m e r a - f r e ed r i v ei nt h em a r k e li n c l u d i n g t h ed e s i g no fu s bc o m m u n i c a t i o n , t h ed e s i g no fs c r e e ni n t e f f a c ea n ds t a n d a r dc o n t r o i c l a s si n t e r f a c ed e s i g nt os u p p o r tt h er e q u e s t k e y w o r d s :f r e ed r i v e ;u s b 2 0 :u v cp r o t o c o l ;u s bc o n t r o l l e rc h i p : 硕士学住论文 m a s t e r st h e s i s 摘要 a b s t r a c t 1 绪论 目录 1 1u s b 摄像头的发展以及免驱概念的提出1 1 2 免驱摄像头的发展现状1 1 3 本论文的研究目标与主要工作2 2 实现u s b 免驱设计的基础知识 2 1u s b 总线技术特点4 2 1 1u s b 的易于使用4 2 1 2u s b 的速度4 2 1 3u s b 总线的拓扑结构:5 2 1 4u s b 接口的电气特性6 2 2u s b 通信协议。6 2 2 1u s b 数据流模式6 2 2 2u s b 划分的数据单元8 2 2 3u s b 数据传输模式9 2 3u s b 外设硬件设备的免驱工作原理1 2 3u s bv i d e oc l a s s 视频驱动。1 3 3 1u s bv i d e oc l a s s 协议介绍1 3 3 2 基于协议的视频功能拓扑1 3 3 3u v c 协议中的描述符及其配置15 3 3 1 设备描述符一16 3 3 2 配置描述符。16 3 3 3i a d ( i n t e r f a c ea s s o c i a t i o nd e s c r i p t o r ) 描述符17 3 3 4 端点描述符1 7 3 3 5u v c 接口描述符18 3 3 6c l a s s s p e c i f i cv i d e o s t r e a m i n gi n t e r f a c ei n p mh e a d e r 描述符l8 硕士学位论文 m a s t e r st h e s i s 3 3 7 字符串描述符19 3 4u v c 类请求命令1 9 3 5 免驱u s b 视频传输系统核心部件选择2 0 3 6 芯片相关控制寄存器2 1 3 7u s b 控制阶段数据输入输出流程2 2 4 免驱u s b w e b c a m e n 系统固件设计。 4 1 固件主程序设计流程2 4 4 2 固件程序消息处理机制2 6 4 3 固件设计中视频控制流程2 8 4 4 固件中设计模块的组成2 9 4 4 1 标准u s b r e q u e s t 请求处理模块一2 9 4 4 2 类请求处理模块3 0 4 4 3e e p r o m 存储模块3 0 4 4 4 中断处理模块3 2 4 4 5 设备描述符初始化模块3 3 4 5 数据在e e p r o m 中的处理3 3 4 6u s b 带宽自动调整的固件设计3 6 4 6 1v i d e op r o b ea n dc o m m i tc o n t r o l s 3 7 4 6 2 固件自动调节带宽设计3 8 5 应用程序的设计和系统测试 5 1 上层应用软件的设计4 0 5 1 1 主程序视频显示界面4 0 5 1 2 软件界面设计4 0 5 2 设备枚举测试4 2 6 结论 6 1 总结4 4 6 2 展望4 4 参考文献 致谢 1绪论 1 1u s b 摄像头的发展以及免驱概念的提出 在人们的视频会议、家庭会议、网络视频会话等多个领域,摄像头技术占优很 大的比重。摄像头主要是通过镜头生成的光学头像投射到图像传感器上面转为电信 号,再送到数字信号处理芯片处理,再经过u s b 接口上传到电脑中,通过显示器 显示头像。 1 9 9 8 年6 月,w i n d o w s 9 8 系统使得u s b 设备得以飞速发展,而在摄像头发展 方面,其成像效果主要是受到图像传感器、数字信号处理芯片和u s b 接口三个方 面的影响,总线带宽成为u s b 摄像头发展的瓶颈。自u s b 2 0 摄像头芯片问世以来, 摄像头芯片从1 0 万像素飙升到1 0 0 0 多万像素,同时各种各样的方案也有1 0 0 多种, 电脑摄像头的接口也全面升级到u s b 2 0 接口,带来了摄像头i t 技术领域的革新【l 】。 随着时代的进步和技术的发展,传统的摄像头虽然随着总线技术的发展在传输 数据速率上有了很多提高,但是其还存在很多缺陷,对于某种摄像头,用户必须安 装对应的驱动,当用户跟换摄像头时,其需要跟换驱动或者升级操作系统才能正常 的使用,这给用户带来了很大的不便。2 0 0 7 年,随着v i s t a 操作系统的出现,电脑 不需要安装摄像头的驱动就能让摄像头正常使用,正是在这种背景下,免驱摄像头 就成为电脑摄像头行业的第二次技术革命。 与传统的普通的摄像头相比,免驱摄像头具有如下优点: ( 1 ) 不需要安装驱动,即插即用,方便快捷。 ( 2 ) 兼容多个操作系统。 ( 3 ) 对于支持免驱摄像头的操作系统,免驱摄像头也可通过加载驱动使用。 因此研究免驱摄像头的设计有着很重要的实用价值。 1 2 免驱摄像头的发展现状 随着数字处理技术和现代工艺的发展,目前的摄像头都采用免驱设计,同时兼 容驱动设计。摄像头的发展方向是基于免驱的高帧速摄像头的研制。随着其核心技 术图像处理器的不断发展和数据传输接口的发展,图像传感器和数据传输接口的发 展直接了影响着摄像头的品质。 摄像头行业近几年来取得了非常飞快的发展,但是还正处于技术和市场的成长 阶段,其发展很大程度上受到了当前网络技术和带宽的约束。具体来看,一是市场 起步晚,容量增速不快;二是实际运用不够广泛,主要还是以一种消费类产品运用, 当然这也是其技术限制的;三是电脑硬件的限制。但是其未来发展前景广阔,将会 向高像素、高质量图像传感器、高传输速度以及专业化方向发展。 目前,系统免驱功能针对不同版本的微软操作系统需要分类处理。由于国内绝 大多数的电脑用户都是使用盗版系统,盗版系统操作系统的大部分附带功能和驱动 资源包括摄像头免驱所必需的公版驱动资源进行删减,从而导致了免驱产品在适用 操作系统下不能免驱的情况发生。所以说,对于摄像头能否免驱工作,主要在于其 u s b 控制芯片选择的方案以及主机的操作系统。目前,在全球市场上支持免驱的 u s b 控制芯片主要有中国的松翰和中星微、美国的e m p i a 以及日本的理光等几家知 名摄像头芯片厂商。他们设计的u s b 控制芯片都能很好的兼容操作系统,无论是 摄像头,还是u 盘芯片等等。而现在市场上的摄像头采用的图像传感器多为 c m o s ( 金属半导体材料) 型。c c d ( 单晶半导体) 只有少数几个厂商,比如索尼、松下 掌握了这门技术 2 1 。 摄像头在操作系统使用方面,由于正版操作系统都是完整版的,所以不存在驱 动兼容问题。简化版m i c r o s o f tw i n d o w sx ps p 2 v i s t a 操作系统用户,可以安装免驱 优化软件进行系统修复即可实现免驱功能。 ( a ) m i c r o s o f tw i n d o w sx ps p l 2 0 0 3 2 0 0 0 操作系统,须安装操作系统升级补丁 f b ) 简化版m i c r o s o f tw i n d o w sx ps p 2 n i s t a 操作系统,可能需要安装操作系统 升级补丁 ( c ) 完整版m i c r o s o f tw i n d o w s x ps p 2 v i s t a 操作系统完全支持免驱功能 ( d ) m i c r o s o f tw i n d o w s9 8 m e 操作系统,无法运行此设备 1 3 本论文的研究目标与主要工作 本文主要是在利用当前较为普遍的免驱摄像头芯片,根据免驱摄像头的工作原 理,实现免驱摄像的软件架构。 本文的重点是免驱摄像头的固件编程与仿真,编译环境是德国k e i l 公司的 k e i l c 5 1 编译器,使用的语言是c 语言。在设计国件部分时候,采用中断消息处理 机制,充分的优化了固件代码,理论上减少了内部r a m 和r o m 区的大小,充分 利用外部存储器e e p r o m ,灵活的实现了变量的外部更改和数据的修改与更新。同 时,做了如下工作: ( 1 ) 利用k e i l c 5 1 编译工具,基于u s b 2 0 和u v c 协议,编写免驱摄像头完整 2 : 硕士学位论文 m a s t e r st h e s i s 固件程序。 ( 2 ) 利用v c 泔可视化编程工具编写了摄像头上层应用软件,实现视频图像在 主机端的显示和视频图像的捕获。 ( 3 ) 设计了固件下载的方式,对e e p r o m 数据的保存设计了一种全新的方式, 方便了固件中变量和常数的更新。 ( 4 ) 设计多带宽选择的设计方式,根据数据量的大小自动选择带宽,节约系统 资源。 ( 5 ) 结合控制器操作手册,完成了设备段固件消息收发机制的软件设计。 本论文共分为六个章节,下面是各个章节的概要说明。 第一章“绪论介绍了免驱技术的国内外研究现状以及本论文固件设计的一 些创新点。 第二章“实现u s b 免驱设计的基础知识”介绍了设计中所运用的u s b 2 0 总线 技术的特点,解释了免驱的概念。 第三章“u s bv i d e oc l a s s 视频驱动详细的分析了免驱设计固件的原理,给出 了设计视频固件的拓扑结构,给出了免驱摄像头设备的描述符构成方式。 第四章“免驱u s bw e b c a m e r a 系统固件设计 作为重点章节,详细的给出了 固件消息处理流程、固件模块构成以及视频控制流程处理等等。 第五章“应用程序的设计和系统测试 实现了上层视频图像的采集并且给出 了设备枚举的测试以及带宽切换过程。 第六章“结论 给出了部分结果同时对论文以后的工作进行了展望。 | 酉 : : 硕士学位论文 m a s t e r st h e s i s 2 实现u s b 免驱设计的基础知识 2 1u s b 总线技术特点 u s b1 0 是于1 9 9 6 年出现的总线协议。其以i n t e l 公司为主,微软、飞利浦、 n e c 等七家公司共同制定的串行接口标准。u s b l 1 在2 年后升级,也就是u s b l 1 , 其传输速度也达到了1 2 m b p s 。2 0 0 0 年4 月,u s b 2 0 推出,传输速度达nt4 8 0 m b p s , 是u s b1 1 的四十倍。u s b 总线技术是外部设备连接p c 机的优先选择,其允许外设 在主机与其他外设工作时候与主机进行连接、配置、使用和移除。目前,在产品接口 方面u s b 总线占据很大的比例。当然,这也是来自其自身优越的特性。本章将从以下 几个方面来介绍u s b 总线技术【3 1 。 ( 1 ) u s b 总线的易于使用性能 ( 2 ) u s b 的速度 ( 3 ) u s b 总线的拓扑体系 ( 4 ) 即插即用 2 1 1u s b 的易于使用 从使用者的角度来说,u s b 接口易于使用,其具备如下特点: 自动配置 不需要用户设定 为其他设备空出硬件资源 易于连接 。 简易电缆 热插拔 可以主线供电 2 1 2u s b 的速度 u s b 目前有三种传输速度,分别是:低速、全速、高速,其速度分别可以 达到1 5 m b p s 、1 2 m b p s 、4 8 0 m b p s 。一个控制芯片可能被指定为低速或全速。 低速和全速都能连接到u s b 总线上,用户不能指定其传输方式,这跟其物理特 性有关,当u s b 设备连接主机时,能够直接得到该外设是低速还是高速,从而 4 : 硕士学位论文 m a s t r st h e s i s 相应的传输速度。 外设和主机之间的传输速率是小于总线速率的,数据的传输速率取决于传 输类型和总线处理其他传输的繁忙程度。在全速下,一个处于空闲的总线上最 快的传输速度是很快的,理论最大值为1 2 m b p s ,高速空闲理论值则为 4 8 0 m b p s l 4 1 。 目前,具备u s b 功能的p c 机都支持u s b 2 0 协议,进行高速数据传输, 不过需要主机具有u s b 2 0 的主机板或者是扩展卡。表1 u s b 总线接口与其他 接口对照表是u s b 总线接口与其他接口在速度和使用范围的一个比较。 表2 1u s b 总线接口与其他接口对照表 接口名称扩展设备传输速度属性 u s b 接口 1 2 74 8 0 m键盘鼠标调制解调器 s p i 接口 82 1 m微控制器通信 r s 2 3 222 0 k 鼠标工具 以太网 1 0 2 41 g p c 上网 在u s b 2 0 总线技术已经广泛使用的同时,u s b 3 0 也应运产生,其采用新的电 源管理机制,支持待机、休眠、暂停三种状态。同时,其现版本的f i r m w a r e 使 其u s b 总线的传输速度达到了3 2 g b p s ,最大传输带宽高达5 0 g b p s ,也就 是6 2 5 m b s l 5 1 。 2 1 3u s b 总线的拓扑结构 u s b 体系采用分层的星型拓扑来连接所有u s b 设备,如图2 1 所示。 图2 1u s b 体系分层结构图 在图2 1 中,集线器( h u b ) 是每个星形结构的中心,同时根h u b 是一个特殊的 5 硕士学住论文 m a s t e r st h e s i s u s bh u b ,它集成在主机控制器里,不占用地址。根h u b 不但实现了普通u s bh u b 的功能,还包括其他一些功能。整个拓扑结构由唯一的主机、集线器、设备构成。 u s b 支持最大5 个h u b 层和1 2 7 个外设【6 1 。用户可以使外设与最近的h u b 连接, 这种结构体现出了u s b 总线接口的易于连接的特点。 2 1 4u s b 接口的电气特性 在u s b 接口技术中,其支持热拔插是一个显著地特点。即插即用包含热拔插 和自动配置量两个方面的内容。热拔插主要是由物理层实现,而自动配置主要依靠 协议软件实现i 。 图2 2 是u s b 电缆的定义。 v b t i t s d + m g n d二 图2 2 电缆定义 图中d + 和d 是一对差模的信号线。v b u s 提供了+ 5 v 的总线电源,可以给其他 一些外设,比如h u b 和摄像头供电。信号线在高速的情况下必须使用带有屏蔽的双 绞线,而且最长不能超过5 米,主要由于信号的衰减。由此看来,信号传递的好坏 跟信号电缆线的质量有很大程度的关联。u s b 在连接点和电缆上做了处理,使得热 拔插产生的强电流可以被完全吸收。 2 2u s b 通信协议 u s b 通信协议指主机与外设之间的数据流交换协议以及其他相关协议。这里, 需要从u s b 数据流模式、u s b 的包标志域、u s b 数据传输模式等方面来介绍u s b 通信协议。 2 2 1u s b 数据流模式 u s b 系统中数据的传输,宏观的看来是在主机和u s b 功能设备之间进行,微 观的看是在应用软件的缓存( b u f f e r ) 和u s b 功能设备的端点之间进行。u s b 数 据的传输是通过管道进行的。u s b 外设通过管道即默认的端点0 管理设备,设备驱 动程序通过其他的管道来管理设备的功能接v i t 趴。 6 : : 硕士学位论文 m a s t e r st h e s i s 端点:主机与u s b 外设通讯只能通过端点进行。一个u s b 设备可以包括若 干个端点,不同的端点以端点编号和方向区分。不同端点通过定义修改属性,就可 以支持不同的数据传输类型、数据访问间隔以及其传输的最大数据包大小。协议规 定除端点0 外,所有的端点只支持一个方向的数据传输,具体的传输方向需要定义。 端点它支持双向的控制传输。和端点关的联管道与端点有相同的属性,如支持的数 据传输类型、最大包长度。我们需要了解的是,对主机来说,每个端点其实是一个 一定大小的数据缓存区,并且每一个端点都有一个固定的唯一的地址,同时每个端 点都有自己的特性,包括其支持的数据传输模式、d a t a 传输方向、字节单向传输 的大小。端点0 是默认的控制端点,用于设备初始化参数。 管道( p i p e ) :当主机与设备连接时,管道就是代表主机与设备的这种连接,其 实一种逻辑概念。管道有两种类型,一种是传输数据没有通过u s b 定义数据的数 据流管道,另外一种是符合u s b 定义数据结构的消息通道。 数据包:u s b 总线上数据传输的最小单位,包括s y n c 、数据及e o p 三个 部分。其中数据的格式针对不同的包有不同的格式,但都以8 位的p i d 开始。p i d 指 定了数据包的类型( 共1 6 种) 而令牌包即指p i d 为玳o 删s e t u p 的包。 图2 3 描述了u s b 的数据流传输过程。 主机蕊连物理设备 lll 厂、 一 j 0 缆 客p 戟舞h=i 挂口l 跬备 功蟹辟镗日 一二 措日的甏 能 v 层 a 絮n 碡乏 j 馐* # 1 fi t 镕b 稿 埘 攉口 拇叶鞋 l a m 格式 钞上u , hu 翘埋瓣 u s b 系统戟件 避燕i l 穗盛怒 设 智坶嫒鑫 一 一 i l 备 鼽执 嚣越 层 科目办o 事务仃t m 悔弛靛辫 囊瘩甜 j 下m 嚣嚣il u s b 总线援u 接 。i l u 7 i 。l 屋 畦线iu 昭电暧 _ _ _ 瞥遘t 囊节韩十平好密件鲫辫童琏 客 截赛f - 轭蛔 参 渐抟辘赣掘自年枷膨啪格_ j 耄 图2 3u s b 数据流传输流程 7 : 硕士学住论文 m a s t e r lst h e s i s 通过上图,我们得知其数据传输过程如: 设备驱动程序调用u s b d 接口唧s bd r i v e ri n t e r f a c e ) ,从而发出输入输出请求 ( i r pi or e q u e s tp a c k e t ) ,u s b 驱动程序接到请求后调用h c d 接e l ( h o s tc o n t r o l l e r d r i v e ri n t e r f a c e ) 将i r p 转化为u s b 的传输( t r a n s f e r ) 。个或多个u s b 传输都可以 包含在i r p 里面,然后h c d 将u s b 传输分解为总线操作( t r a n s a c t i o n ) i 扫主控制器 以包( p a c k e t ) 的形式发出。必须知道的是:所有的数据传输都是由主机开始的,任何 外设都无权开始一个传输1 9 】。 2 2 2u s b 划分的数据单元 u s b 总线上数据的传输是以数据包形式进行的。数据包可以分为:令牌包、数 据包和应答包三种。当一个数据包传输时,都需要主机或者外设给出应答。数据包 的格式如表2 。 表2 1 数据包格式 名称值意义 同步域( s y n c )固定为0 0 0 00 0 0 1用于同步 标识域( p i d )四位标识符+ 四位标识符表明包的类型和格式,共1 6 种 反码 地址域( a d d r )7 位地址设备在主机上的地址( 注1 ) 端点域( e n d p )4 位 帧号域( f r a m )1 1 位每个帧都有其编号,最大为0 x 8 0 0 数据域( d a t a ) 校验域( c r c ) 表中,p i d 表征了数据包的类型,分为令牌( t o k e n ) 、数据( d a t a ) 、握手 ( h a n d s h a c k e ) 以及特殊包4 大类,共1 6 种类型的p i d 。 1 域 域是包的组成部分,不同的域构成一个数据包。域可以分为同步域、标志域、 地址域、帧号域、数据域以及c r c 校验。 2 包类型 ( 1 ) 令牌包 其中包括i n ( 输入) 、o u t ( 输出) 、s e t u p ( 设置) 和s o f ( s t a r to ff r a m e 帧起始) 四种类型其中i n o u ts e t u p 的格式如图2 2 。 其中,a d d r 和e n d p 指明了接受主机数据包的端点。对烈来说,所指定的 端点将传出数据包。 ( 2 ) 数据包 数据包分为d a t a 0 和d a t a l 两种类型。这两种包的定义为了支持数据触发同步。 8 硕士学位论文 m a s t e r st i - l e s i s 数据包也包括p i d 、d a t a 和c r c 三个域。 ( 3 ) 应答包 应答包包括a c k 、n a k 、s t a l l 以及n y e t 四种,其中a c k 表示肯定的 应答,成功的数据传输;n a k 表示否定的应答,失败的数据传输,要求重新传输; s t a l l 表示功能错误或端点被设置了s t a l l 属性:n y e t 表示尚未准备好,要 求等待。 2 2 3u s b 数据传输模式 u s b 数据传输有四种模式:控制传输、同步传输、中断传输、批量传输。它 们在数据格式、数据包传输大小、总线访问限制等方面有各自不同的特征【l o l 。 ( 1 ) 控制传输 一次控制传输分为三( 或两个) 个阶段:建立( s e t u p ) 、数据( d a t a ) ( 可 能没有) 以及状态( s t a t u s ) 。每个阶段都由一次或多次( 数据阶段) 事务传输组 成( t r a n s a c t i o n ) 。图2 4 是控制传输的事务传输流程图。 数据 握手 匿圈 图2 4 控制传输事务流程 从上图可以看出,建立阶段过后,可能会有数据阶段,这个阶段将会通过一次 或多次控制传输事务,完成数据的传输。同样也会采用p i d 翻转的机制。建立阶 段,d e v i c e 只能返回a c k ( 应答) 包,或者不返回任何包。最后是状态阶段,通过 一次方向与前一次相反的控制事务传输来表明传输的成功与否。如果成功会返回一 个长度为0 的数据包,否则返回n a k 或s t a l l 。图2 5 为整个控制传输的示意 图: 9 控制的写 d a t a od a t ald a t a 0d a t a o ld a t al 控制的读巨囹回回围圃 设置阶段 状态阶段 无数据阶段 的控制传输 d a 。l a od a i a l 图2 5 控制传输的示意图 ( 2 ) 批量传输 批量传输的特点: ( a ) 传输的数据中没有u s b 定义的数据结构,这是显著特点。 ( b ) 运用情况主要用于大量的、对时间没有要求的传输。 ( c ) 数据传输的方向是单向传输。 ( d ) 在全速批量传输的情况下,这种传输最大数据有效荷载可以是6 4 字节,对 于高速批量端点,最大的数据有效载荷必须是5 1 2 字节,而任何低速设备不支持批 量传输。 ( e ) 没有以带宽的保证,只要总线有空闲,就能传输数据。 如果接受的数据有c r c 或者位填充出现错误,那么将不会返回任何握手包。 ( 3 ) 中断传输 中断传输主要应用于定时查询设备是否有中断数据需要传输,是一种主机定 时侦听设备。中断传输在高速的模式下其传输速度可以达到1 0 2 3 字节,全速时候 小鱼6 4 个字节。其主要用于游戏杆、鼠标、键盘这些u s b 外设。其属于异步数据 传输。 只有一个输入方向作为唯一传输方向是中断操作的特性。具体格式与批操作 的输入情形类似。一收到输入标记,设备便可以返回数据、n a k 或s t a l l 。主机 对数据包接受的反应,如果主机无错的接受了数据,那么则发出a c k 握手包;反 之则不返回包。 下图2 6 为中断传输流程图。 1 0 图2 6 中断传输流程图 ( 4 ) 同步传输 同步操作在u s b 传输模式中,其包含了两个阶段,令牌阶段和数据阶段,其 传输流程图如图2 7 。在同步传输过程中,因其不支持重发的能力,所以没有应答 阶段,另外它也不支持数据的触发同步与重试。同步传输应用于实时性要求较高, 而准确率较低的场合,其容忍误差数据的出现。在摄像头设计工程中,一般都采用 同步传输的方式,在数据传输过程中,几个字节的错误,人眼无法识别出来【l 1 1 。 同步包的数据大小一般情况下全速是1 0 2 3 个字节,高速是1 0 2 4 个字节。 固匪园 图2 7 同步传输流程图 : 硕士学位论文 m a s t e r st h e s i s 2 3u s b 外设硬件设备的免驱工作原理 免驱摄像

温馨提示

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

评论

0/150

提交评论