




已阅读5页,还剩60页未读, 继续免费阅读
(信号与信息处理专业论文)usb20协议层的实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
北方工业大学硕士学位论文摘要u s b 2 o 是目前计算机与外部设备连接普遍采用的标准。与其它通信接口相比,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 2 o 协议层的设计与实现。文章首先介绍了论文研究的目的和意义、u s b 研究现状及发展趋势,接着概要叙述了u s b 2 0 协议的一些基本概念,对u s b 2 o 总线拓扑结构、u s b 信号、信息包、传送类型和设备请求等分别做了介绍。在对u s b 协议层的体系结构进行详细的分析后,按照自上而下模块化的设计思想,将该设计划分成u t m i 接口模块、协议层p l 模块、控制和状态寄存器模块、存储器接口和仲裁器模块、w i s h b o n e 总线接口模块,并应用v 舒l o gh d l 硬件描述语言分别对各子模块进行设计,使用仿真工具和综合工具对该设计进行仿真和综合,最终完成u s b 2 0 协议层的实现。关键词:u s b 2 o ,协议层,仿真,综合北方工业大学硕士学位论文t h er e a l i z a t i o no fu s b 2 op r o t o c o ll a y e ra b s t r a c ta tp r e s e n t ,u s b2 0h a sb e e i lw i d e l ya c c e p t i 丑硒s t a i l d a r do fp e r s o n a lc o m p u t e r锄dp 谢p h e r a ld e v i c e sw r h i c hh a sb e e i la p p l i e di n t 0v 撕o u sd e v i c e s c o i n p 耐n gt 00 t h e rc 0 删m u i l i c a t i o ni n t e r :f a c e t h em o s ta d v a l l t a g e so fu s bi n t 刚a c ei si t sf 酗ts p e e d ,f c a s i b i l i 坝p l u ga 1 1 dp l a ys u p p o n i n g ,a n da :u t o m a t i cc 0 瓶g u r a t i o n s i n c em ea d v e i l to fu s b ,t h ea p p l i c a t i o no fs p a c ec o n s 切n t l ye x p a n d i n gh a sn o wb e c o m eo n eo ft h ec o m p u t e r s 锄i n d i s p 肌s a b l ei n t e l l 沁e b a s e do n l cm 觚ya d v a i l t a g e so fu s b ,i ti sf o r e s e e a b l em a t 州lm eu s b 协锄s f c rr a t ei m p r o v e d ,r e a l t i m e 讹n s m i s s i o no fm e向n h e re 1 1 h a n c e d ,a i l di t su s ew i l lb e c o m eb r o a d 既w i mm ed e v e l o p m e n to fm et i i i l e s ,m o r cf l e x i b l e ,v e r s a t i l eu s bi n t e 吨l i c ei sn l cm t i 】r e 仃do fd e v e l o p m e n t 1 1 1 ep r o t o c o l1 a y e ri sm ec o r eu n i to ft h ew l l o l eu s bd e v i c e s ,炖c hi sr e s p o n s i b l ef 1 0 rp r o c e s s i n gb y l ep r o v i s i o n so ft h ea 孕e e m e n tu s bm o s to ft l l ec o n t 肌t s n l r o u g ht h ei n - d 印廿lr e s e 疵ho ft h ep 幻t o c o ll a y e fa n dd e v e l q m e n tt 0m e e tt h en e e d so fs p e c i a lc h i p s ,s c i e i l c e 锄dt ec _ h n o l o g yt oa 幽e v en l e 仃a i l s f b m a t i o no fi 叫) r o v em ei n 衄t l a t i o n a lc o m p 舐t i v e i l e s so fm ei n f o 眦a t i o np r o d u c t sw i l lb eo f 舯a ts i 班i f i c 锄c e 1 1 1 i sp a p e rs t i l d i e su s b 2 。0p r o t o c 0 1 l a y 嚣d e s i 印a n d 湎p l e m e i l t a t i o n 1 1 1 ea r t i c l ef i r s ti n 仃o d u c e dap a p c ro nm ep 呷o s e 觚ds i 龋m c a l l c e ,u s b0 nt h es t a n l sq u 0a n dd e v e l o p m e n t 臼嘲1 d ,a n dm e no u t l i n ea g r e 锄e n tu s b 2 0d e s c r i b e ds o m eo fc o n c e p to fu s b 2 ,0b u st o p o l o 跚u s bs i 鲈a l i n g ,p a c k e t s ,仃肌s 向t y p e s 锄dd e v i c er e q u e s t sw e r ed o n e u s bp r o t o c o l l a y 惯i nm ea r c h i t e 孤鹏o fad e t a i l e da n a l y s i s ,a c c o r d i n gt 0t o p - d o w nm o d u l a rd e s i 印c o n c 印t ,t h ed e s i 印i sd i 啊d c di n t ou t m ii n t e r eb l o c k ,t h ep r o t o c o l1 a y 盯( p l ) ,c o n t l 0 珧t a t u sr 9 舀s t m 锄。巧i n t 刊沁e 锄da r b i t 如n c t i o ni n t e r f - a c e ,觚da p p l i c a t i o no fv c 晒l o gh d lo ft h er e s p e c t i v em o d u l ed e s i 鳃,u s eo fi n t e 黟a t e ds i m u l a t i o nt o o l s 唧l e t e st h eu s b 2 op r o t o c o l l a y 贫r e a l i z a t i o n k e yw o r d s :u s b 2 o ,p r o t o c o ll a y e r ,s i m u l a t i o n ,s y n t h e s i s2独创性声明本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得韭友王些盔堂或其他教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示谢意。学位论文作者签名:相p签字日期泗8 对月沩日学位论文版权使用授权书本学位论文作者完全了解皇量友些太堂有关保留、使用学位论文的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁盘,允许论文被查阅和借阅。本人授权j 丝虚王些太堂可以将学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编学位论文。( 保密的学位论文在解密后适用本授权书)学位论文作者签名:套谰芦签字日期:油2 年f 月w 日学位论文作者毕业后去向:工作单位:通讯地址:导师签名:? 么售0签字日期:稍年f 月沙日电话:邮编:北方工业大学硕士学位论文1 绪论1 1 论文研究的目的和意义u s b 是u n i v e r s a ls 嘶a lb u s 的英文缩写,即通用串行总线接口。随着计算机各种软硬件的升级和发展,u s b 的热插拔、即插即用、共享式小巧接口、成本低、使用灵活、性能可靠、兼容性好等一系列优点,使得它迅速成长,成为各种操作系统、控制芯片和开发工具支持的一种标准接口【1 1 。自从问世以来,u s b 应用空间不断扩大,目前已成为计算机的必备接口之一,同时也广泛应用于嵌入式系统中。其主要特征如下:( 1 ) 数据传输方式为了满足不同设备的数据传输要求,u s b 总线上支持4 种不同传输方式:控制传输( c o n 仃o l 仃a n s 删、中断传输( i n t 唧tn 觚s f 砩、批传输( b u l k 投彻s 触) 、同步传输( i s o c h r o n o u s 仃a n s 购。u s b 2 o 规范支持3 种不同的传输速率:1 5 m b p s的低速数据传输、1 2 m p b s 的全速数据传输、4 8 0 m b p s 的高速数据传输。高速数据传输主要针对图像、大容量存储等设备类,具有低价位、易使用、支持多个设备、高带宽等特点。全速数据传输针对电话、音频、图像压缩等设备类,可取代传输速度较快的并行接口等。低速数据传输主要针对交互设备( 如键盘、鼠标、游戏杆等) ,其价位低、易使用、可热拔插、且支持多种设备,可取代诸如r s - 2 3 2 、p s 2 等接口。( 2 ) 电源管理u s b 总线带有+ 5 v 的电源线以及电源地线。u s b 设备可以从系统总线上获得+ 5 v ,最大5 0 0 i n a 的供电。当u s b 外围设备处于待机状态的时候,会自动启动省电的功能来降低耗电量;当要使用设备时,又会自动恢复原来的状态。在使用电池供电的计算机系统上,这个特性特别有用。( 3 ) 系统的扩展性u s b 总线协议规定,通过集线器( h u b ) 可连接多达1 2 7 个外设。标准的u s b电缆长度为5 m ,通过h u b 或中继器可以便外设距离达到3 0 m 。由于u s b 接口不占用系统的i o 口、地址总线和中断向量,当总线上的接口不够时,用h u b 扩展接口数量以便连接更多的u s b 设备。u s b 总线在物理上是层次星形的总线拓扑结构。一个h u b 在每个星形的中心,其中每一个节点( n o d e ) 作为u s b 节点接北方工业大学硕士学位论文入一个u s b 设备;根据其芯片功能的不同可有很多不同的下行端口,接入不同的u s b 设备,但是任何一个h u b 只能有一个上行端口。( 4 ) 热插拔u s b 实现了真正的“即插即用”功能。设备连接后由u s b 自检测,并且由软件自动配置,完成后立刻就能使用,不需要用户进行干涉。在操作系统方面,由主机负责扫描总线上的所有接口,自动识别u s b 设备的插拔,并相应地加载或卸载设备驱动程序,实现了即插即用功能。( 5 ) 良好的兼容性u s b 规范具有良好的向下兼容性,如u s b 2 o 的主控制器就能很好地兼容u s b l 1 的产品。操作系统在检测到全速u s b 设备接入时,会自动按照1 2 m b p s的速率进行传输,而其他高速u s b 设备并不会因为全速设各的连接而减慢它们的传输速率,它们仍可继续使用4 8 0 m b p s 的速率进行传输。u s b 虽拥有如此诸多优点,但由于其协议比较复杂,开发u s b 产品难度较大。所以,本文根据u s b 2 o 协议规范,应用i p 核设计思想,对协议层进行深入研究将具有深远的意义。协议层描述了u s b 主机与u s b 设备交互时的语法和协议。协议同时还规范了数据链路的建立,正常或异常传送处理的动态过程等【2 】。通过对协议层的深入研究,开发出满足需要的专用芯片,实现科学技术向生产力的转化,促进生产力的发展,缩小同世界发达国家之间的技术差距,提高信息产品的国际竞争力等方面都将具有非常重大的意义。1 2u s b 研究现状及发展趋势u s b 是1 9 9 4 年由c o m p a q 、i b m 、m i c f o s o 佥等多家公司联合推出的,它将最终解决对串行设备和并行设备如何与计算机相连的争论,从而大大地简化计算机与外设的连接过程【3 】。u s b 最初的公开版本是1 9 9 4 年1 1 月发布的u s b 0 7 ,之后不断更新,1 9 9 8 年9 月发布的u s b l 1 ,该版本中定义了两种传输工作模式,低速模式的数据传输速率为1 5 m b p s ,全速模式的传输速率达到了1 2 m b p s ,比标准串口、并口都要快,这一版本得到了计算机业界的广泛响应,到1 9 9 9 年,u s b 已经被广泛应用。2 0 0 0 年,u s b 组织又推出了新的版本协议一u s b 2 o ,这个版本将u s b 总线的传输速率提高到了4 8 0 m b p s 的水平,支持全速模式和高速模式,兼容u s b l 1 协议,还支持未来的宽带宽数字摄像设备及下一代扫描仪、打印机和存储设备。u s b 接口支持多个设备的同时连接,具有真正的即插即用特性。u s b 接口2北方工业大学硕士学位论文不再使用瓜q 的中断控制及输入输出的地址资源( oa d d r e s s ) ,而是依靠开机后操作系统分配给设备一个逻辑位置来传输数据,所以从根本上解决了中断冲突和资源占用等诸多问题。另外近年来的计算机主板大都采用了支持u s b 功能的控制芯片组,并且安装了u s b 接口插槽。在操作系统方面,从w i n d o w s 9 5 0 s i 也开始,操作系统都内置了对u s b 接口标准的支持。基于这些优势,u s b 受到外设产品的普遍青睐,并使得u s b 接口的外部设备越来越多。目前,u s b 2 0 的发展甚至到了可以支持实时高分辨率视频传输的水平【4 】。可以预见,随着u s b 传输速率的进一步提高,传输实时性的进一步增强,其用途将更加宽广。随着时代的发展,更灵活、通用性更好的u s b 接口无疑是未来发展的趋势【5 j 。1 3 论文章节安排本文首先对u s b 2 o 协议进行了较为深入的研究,分析了u s b 2 0 体系结构,在此基础上,按照自上而下模块化的设计思想进行功能划分。采用v 嘶l o gh d l硬件描述语言对u s b 2 0 协议层进行描述,使用a l t e r a 公司的q l l a r t u si i 软件进行功能仿真和综合。全文共分五章,具体安排如下:第一章绪论,主要分析了论文研究的目的和意义,介绍了u s b 研究现状及发展趋势,给出了本论文的章节安排。第二章u s b 协议简介,主要介绍了u s b 2 o 总线拓扑结构,u s b 信号,信息包,传输类型和设备请求。第三章u s b 2 o 协议层体系结构,在第二章协议分析的基础上,给出了u s b 2 0 接口芯片的总体设计,对协议层进行了模块划分,分析了源代码层次结构及顶层引脚定义。第四章u s b 2 o 协议层的具体设计与实现,分别对u t m i 接口、协议层p l 、控制和状态寄存器、存储器接口和仲裁器、w i s h b o n e 总线接口五个模块进行了设计和仿真。第五章总结与展望,对全文进行总结,并给出该课题继续发展的方向。北方工业大学硕士学位论文2u s b 2 o 协议简介2 1u s b 2 o 总线拓扑结构u s b 规范具有向下兼容性,与u s b l x 规范相比,特别是物理结构上,u s b 2 o规范具有与u s b l x 相同的结构特征。如图2 1 所示,一个u s b 2 o 系统由u s b 2 o主机、u s b 集线器和u s b 设备组成。u s b 2 o 系统可同时支持u s b 2 0 集线器、u s b l x 集线器和u s b l x 设备【6 1 。图2 1u s b 2 0 系统结构需要注意的是,在图2 1 中,经u s b l 1 集线器路由的设备与集线器只能使用全速( 1 2 m b p s ) 和低速( 1 5 m b p s ) 传输,不能使用高速( 4 8 0 m b p s ) 传输。u s b 2 o 系统最多支持1 2 7 个设备( 包含所有的u s b 集线器和根集线器) 。系统中的u s b 高速设备必须通过u s b 2 o 集线器的下游端口连接在u s b 2 0 总线上。u s b 2 o 集线器所有的下游端口都可以支持高速设备、全速设备和低速设备。在一个u s b 2 o 系统中只能有一个u s b 主机,u s b 主机管理整个总线带宽和所有连接在总线上的设备,并通过查询的方式与u s b 设备进行数据传输【7 1 。2 1 1u s b 2 o 的主机主机必备的硬件为主机控制器、根集线器、电源管理及相关驱动电路。在软件上包括主机控制器驱动程序( h c d ) 、u s b 类驱动程序( u s b d ) 、集线器驱动程序和相关的客户设备驱动程序及应用软件。u s b 2 0 主机在结构上与u s b l 1 主北方工业大学硕士学位论文机相似,在功能上兼容后者。u s b 2 o 主机最大的不同为必须支持高速传输,因而必须遵循协议要求,实现诸如微帧结构和s p l i t 事务等接口功能。在u s b 2 o 问市后,i n t e l 公司发展并免费开放了一套高速控制器标准规格技术,即增强型主机控制器接口规格( e h c i ,e i l l l 觚c e dh o s tc o n 仃0 1 1 e ri n t e m c e ) ,而目前业界也没有制订其他高速主机控制器接口的技术规格。u s b 2 o 的h c 由e h c i 和o h c i 组成,其中e h c l 只负责高速传输。这样可以用u s b 2 0 的驱动程序驱动u s b l 1 设备来实现向下兼容功能。e h c i 规格的主机控制器仅以4 8 0 m h z的速度输送数据,所以在主机控制器与全速或低速设备之间,必须搭配旧型控制器或高速集线器才能使用。2 1 2u s b 集线器集线器提供了u s b 设备和主机之间的电气接口。集线器支持的主要u s b 功能有连接行为、电源管理、设备连接和未连接检测、总线错误检测和恢复、高速和低速设备的支持。集线器由集线器转发中继器和集线器控制器组成。集线器转发中继器主要负责连接方面的工作,也支持总线错误检测和恢复,连接和未连接检测等异常处理。集线器控制器提供主机到集线器的通信机制。集线器特定的状态和控制命令允许主机配置集线器,同时监视控制它的每个下行端口。2 1 3u s b 设备通过总线和主机相连接的对象统称为设备。不同的设备有着不同的功能、属性对应于不同的设备类,如u s b 键盘、鼠标、打印机等。它们被动的接收、解析主机传输过来的数据包,并根据协议做出相应的应答。每个设备都有其对应的设备类范畴、设备描述符、接口描述符、端点描述符等设备信息。主机初始化一个u s b 设备的时候,都要首先读取这些描述符,然后知道该设备的类型、采取什么传输类型以及速度如何等等【引。2 2u s b 信号u s b 电缆使用差分信号传输之前,u s b 数据流要进行位填充和n l 屹i ( n o n er e t l l n lz e r 0i n v e n ,即不归零反向码) 编码。图2 2 给出了u s b 电缆上传输数据的步骤,通过发送机首先执行位填充,接下来发送机使用n r z i 编码来编码位填充数据,然后n l 屹i 编码数据通过差分驱动器在u s b 电缆上被驱动。位填充、n i 屹i 编码、差分信号的应用可以确保数据的完整性并减少噪声问题9 1 。北方工业大学硕士学位论文发送位n r z i差分u s b差分n l 逻i位反填充编码驱动器电缆接收器解码填充接收机图2 2u s b 电缆上的传输图2 2 1 差分信号u s b 使用差分信号来减少噪声问题,图2 2 给出了差分驱动器和差分接收器。为抑制驱动器和接收器、放大器所引入的放大噪声,消除数据线的电磁干扰( e m i )数据线噪声,u s b 总线接口收发电路选用如图2 2 所示的差分信号传输方式。2 2 2n r z i 编码u s b 总线在传送信息包数据时采用n l 屹i 的编码方案。在该编码方案中,“l ”表示电平不变,“0 ”表示电平改变。图2 3 给出了一个数据流及它的n l 屹i 编码,一连串的数据“o ”会使得n i 屹i 数据每比特周期都会出现跳变,而一连串的数据“1 ”则使得n i 屹i 数据中长时间不会出现变化。在n r z i 编码数据中,高电平表示j 状态,低电平代表k 状态。u s b 使用两个信号状态来表示u s b 的信号电平。数据n l t z i编码数据图2 3 n i 屹i 编码图2 2 3 位填充为了保证信号发送的准确性,当在u s b 总线上发送数据时,传送设备要进行位填充( b i ts t u 衢n g ) 操作。所谓位填充是指数据被编码前,在数据流中每6 个连续的数据“1 ”后插入一个数据“o ”,从而强迫n r z i 码发生变化。如图2 4 所示,这确保了接收器至少可以在每7 个位的时间间隔内从数据流中检测到一次跳变。这就使接收器和传送的数据保持同步,降低了对接收和发送两地时钟匹配度的要求。同时接收端必须能对n r z i 数据进行解码,即检测出n r z i 编码数据的填充位,并删除这个填充位,恢复出原始数据【1 0 】。6北方工业大学硕士学位论文数据位填充数据n r z i 编码数据2 3 信息包图2 4 位填充在u s b 上的每次传输都由一些信息包组成,这些信息包组合起来定义某个事务处理,而某个事务处理又是作为一个大的传输的一部分来执行的。传输在u s b 上执行期间要进行一个或多个事务处理,每个事务处理由一系列的信息包组成。信息包是事务处理的基本构成单位,是用来执行所有u s b 事务处理的机制。u s b 包可以分为4 种类型:令牌包、数据包、握手包和特殊包。令牌包总是由主机发送的,负责发起一次u s b 传输事务。握手包一般都是在一次传输事务的最后阶段被发送的,用来报告数据传输的状态、是否被成功接收等信息。特殊包则被用于某些特殊场合,如s p l i t 包就只用于主机和h u b 之间传递数据。所有的包都分别有包开始( s o p ,s t a no fp a c k e t ) 和包结束( e o p ,e n do fp a c k e t ) 分隔符【l l 】。2 3 1 包格式( 1 ) s o f 令牌包s o f 令牌包由8 位p i d 字段,1 1 位帧号( f r a m e n u n l b 神字段和5 位c r c 字段组成,如图2 5 所示,其长度为3 个字节。c r c 字段仅对1 1 位的帧号字段进行循环冗余检验,而p i d 本身就已包含有检验字段,所以不需对其进行c r c 保护。主机以每l m s 士o o 0 0 5 m s ( 全速) 或1 2 5 u s 士o 0 6 2 5 l i s ( 高速) 的额定时间间隔发出s o f 令牌包,以表示帧或微帧的开始,它不需要接收方做出任何的响应。北方工业大学硕士学位论文8 位1 l 位5 位iip i d帧号c r c 5、厂f图2 5s o f 令牌包( 2 ) o u t 、i n 、s e t u p 令牌包和p i n g 特殊令牌包o u t ,i n ,s e t u p 令牌包和p i n g 特殊令牌包具有相同的格式,如图2 6 所示。这几个令牌包都以8 位p i d 字段开始,且都包含7 位a d d r 字段和4 位e n d p字段,并以5 位的c r c 字段结束。只有主机可以发出令牌和特殊令牌包。另外c r c 字段仅对a d d r 字段和e n d p 字段进行循环冗余校验,而p d 本身就已包含有检验字段,不需对其进行c r c 保护。i n 令牌包的p i d 定义了u s b 设备到主机的数据传输,其a d d r 字段和e n d p字段指明了唯一要发送数据的端点。o u t 和s e n j p 令牌包的p d 定义了主机到u s b 设备的数据传输,其a d d r 字段和e n d p 字段指明了唯一要接收数据的端点。这几个令牌包的长度都是3 个字节,如果它们没有在3 个字节之后以e o p信号终止,则接收方会认为该包无效,并将忽略该包。8 位7 位4 位5 位lp i da d d re n d pc r c 5l丫+图2 6o u t 、s e t u p 令牌包和p n g 特殊令牌包( 3 ) 数据包数据包由8 位p i d 字段,数据字段和1 6 位c r c 字段组成。其中数据的长度可以为o 个或多个字节,但对于低速u s b 设备,其最大长度为8 个字节;对于全速设备,最大长度可以为1 0 2 3 个字节;对于高速设备,其最大长度为1 0 2 4 字节,如图2 7 所示。c r c 字段负责对这些数据字段进行1 6 位的循环冗余检验,而p i d 本身就已包含有检验字段了,所以不需要对其进行c r c 保护。根据p i d 的不同,数据包可分为4 种类型:d a l r a o ,d a l a 1 ,d 删和m d a t a 。其中只有d a t a 0 和d a t a l 支持数据触发机制:s p l i t 事务处理需要使用d 触陡o ,d 朋隗1 和m d a l a ;而高速高带宽同步传输需要使用全部4 种类型北方工业大学硕士学位论文的数据包。llp l dd j 叼r ac r c l 6lyt图2 7 数据包( 4 ) 握手包握手包仅包含一个8 位的p i d 字段。握手包用来报告数据事务的状态,还能表示数据成功接收,命令的接收或拒绝,流控制( f l o wc o 曲0 1 ) 及停止( h a l t ) 条件。只有支持流控制的事务类型才能返回握手信号,握手包总是在事务的握手阶段被返回。握手包有4 种类型:a c k ,n a k ,s t a l l 和n y e t 。a c k 握手包用来表示成功的接收令牌或数据包,它通常发生在接收方和发送方的数据触发位相互匹配且数据被接收方正确接收时,或数据触发位不匹配而发送方和接收方需要重新同步时。a c k 握手包只适合用于那些在发出数据后会等待握手的事务处理,它既可以在i n 事务中由主机返回,也可以在o u t s e n j p和p i n g 事务中由u s b 设备返回。n a k 表示设备不会从主机接收数据( 对于o u t 传输) ,或者设备没有传输数据发送到主机( 对于i n 传输) 。n a k 握手包仅能由u s b 设备在i n 事务的数据阶段或在o u t 和p i n g 事务的握手阶段返回,它指出该设备暂时不能发送或接收数据,但最终能完成这个事务处理且不需要主机的干涉。主机永远不会发出n a k 。s t a l l 握手包表示u s b 设备不能传输或接收数据,或者u s b 设备不支持一个控制管道的请求。主机永远不会发出s t a l l ,它仅可能由u s b 设备在i n事务的数据阶段或o u t 事务的握手阶段返回。s t a l l 握手由设备在以下两个不同的场合使用:一是在设备设置了挂起特征( h a l tf e a t l l r e ) 时发送,称为“功能s t a l l ;另一种情况称为“协议s t a l l ,协议s t a l l 对于控制管道是唯一的,在控制传输的数据或状态阶段被返回,并且s t a l l 条件在下一个控制传输的开始前终止。n y e t 握手包仅适合用于高速传输,它通常作为p i n g 协议的一部分由高速端点返回。在s p l i t 事务处理中,当低速全速事务不能正确结束或集线器不能处理该s p l i t 事务时,集线器也会返回n y e t 。9北方工业大学硕士学位论文2 3 2 包域格式每一个u s b 包根据其不同的类型,含有不同数量与类型的域,以下将依次介绍各种域的规格与结构1 2 1 。( 1 ) 同步( s y n c ,s y nc _ 1 1 r o n i z a t i o n ) 域所有的包都是从s y n c 域开始的。包开始( s o p ) 分隔符就是s y n c 域的一部分,s y n c 域是一个n l 屹i 编码序列,可以产生最大量的传输。通过s y n c ,输入电路可以使本地时钟对齐输入数据。在低速和全速u s b 总线中,s y n c 域长度为8 b i t s ( 3 个对后跟着2 个k ) ,在高速u s b 总线中,s y n c 域长度是3 2 b i t s( 1 5 个对后跟着2 个k ) 。最后的两位是同步字段结束的记号,并且标志了包标识符的开始。( 2 ) 包标识符( p i d ,p a c k c ti d 训f i 哪域p i d 域是紧随在s y n c 域之后,用来表示包类型的域。如图2 8 所示,p i d域由4 位包类型字段和互为补码的4 位校验字段组成。包标识符定义了包的类型,并隐含了包的格式和包上的所有错误检测的类型。包标识符的4 位校验字段可以保证包标识符译码的可靠性,包标识符的校验字段是通过对4 位包类型字段的二迸制码分别求反得到的。如果4 个p i d 检验位不是它们各自的包标识符的反码,则说明存在p i d 错,将不对余下的包中内容进行处理。( l s b )( m s b )图2 。8p i d 域图中l s b 表示最低位,m s b 表示最高位。表2 1 列出了p i d 类型及描述。信息包有四种类型,包括令牌包、数据包、握手包和特殊包。令牌包在u s b 事务处理的开始被发送,用于定义传输的类型;数据包跟随在令牌包之后;握手包一般从接收方返回到发送方,它向发送方提供一个信息反馈,告诉发送方事务处理成功或失败;特殊包为令牌和握手包提供了额外的可用机制。l o北方工业大学硕士学位论文表2 1p i d 类型p i d 类型p i d 名p i d 3 :o 】描述o u t0 0 0 1 b在主机到外设的事务中有地址+ 端点号。i n1 0 0 l b在外设到主机的事务中有地址+ 端点号。令牌包s o f0 1 0 1 b帧开始标记和帧号。( t o k e n )s e t u p1 1 0 1 b在主机到外设建立一个控制管道的事务中有地址+ 端点号。d a t a o0 0 1 1 b偶数据包p i d 。d a t a l1 0 1 l b奇数据包p i d 。数据包d a t a 20 1 1 1 b高速实时数据传输时的数据包p m 。( d a l 队)m d a t a1 1 1 1 bs p l i t 及高速实时数据传输时的数据包p d 。a c k0 0 1 0 b接收器收到无错数据包。n a k1 0 l o b接收器不能接收数据,或发送器不能发握手包送数据。( h a i l d s h a l ( e )s t a l l1 1 1 0 b端点挂起,或一个控制管道请求不被支持。n y e t0 1 1 0 b高速传输时接收无响应。p r e1 1 0 0 b主机发送的前同步字段打开到低速设备的下行总线通道。特殊包e r r1 1 0 0 bs p l i t 传输出错应答。( s p e c i a l )s p l i t1 0 0 0 b高速s p l i t 传输令牌。p i n g0 1 0 0 b高速批量控制传输时的流量控制令牌。r e s e r v e d0 0 0 0 b保留。( 3 ) 地址( a d d r ) 域地址域长度为7 位,用来寻址最多1 2 7 个外围设备,每个设备须对应唯一的地址,如图2 9 所示。当新的外围设备刚连接至u s b 接口时,会拥有默认的地址0 ,然后主机在对设备枚举过程中分配给设备一个新的地址,以后主机就以这个新地址对设备进行寻址。地址域只用于i n 、s e t u p 和o u t 令牌包及p i n g 、s p l i t 特殊令牌包中。北方工业大学硕士学位论文图2 9 地址域( 4 ) 端点( e n d p ) 域端点域长度为4 位,如图2 1 0 所示,最多可寻址一个设备里的1 6 个端点。端点域o 作为默认控制端点被保留,所有的功能设备都必须支持控制端点o 。端点域仅用于i n 、s e t u p 、o u t 令牌包和p i n g 特殊令牌包中。低速功能设备支持最多3 个i n 、o u t 端点,而全速和高速设备可支持最多1 6 位i n 、o u t 端点。( l s b )( m s b )图2 1 0 端点域( 5 ) 帧号( f r 锄en 曲哪域u s b 定义一帧为1 m s ,一微帧是1 2 5 u m 。帧号域是一个1 1 位的字段,主机每过一帧( 1 m s ) 就将其内容加一。帧号字段达到其最大值7 f f h 时归零,且它仅在每个帧开始时的s o f 标记中被发送。( 6 ) 数据( d a l r a ) 域数据域可以在0 到1 0 2 3 字节之间变动,但必须是整数个字节。图2 1 1 为多字节显示格式。每个字节的范围内的数据位移出时都是最低位( l s b ) 在前,数据包的大小与传输类型有关。( m s b )阳u马他n - 1( l s b )冈i 一j脚e n + l图2 1 l 数据域( 7 ) 循环冗余校验( c r c ,c y c l er e d u n d a l l c yc h e c k s ) 域循环冗余校验c r c 被用来在令牌和数据包中校验所有的非p i d 域。根据不同包的类型,c r c 域由不同数目的位组成。其中数据包采用c r c l 6 ( 1 6 位) 校验域,而其余类型的包则采用c r c 5 ( 5 位) 校验域。1 2北方工业大学硕士学位论文2 4 传输类型根据不同数据类型的需要,u s b 定义了四种传输类型,分别是批传输、中断传输、同步传输和控制传输。主机有两种特性要求,分别是质量和时间。对于不同的传输类型,质量和时间的重要程度也是不同的。表2 2 给出了四种传输类型,重要特性要求,低速、全速和高速的最大包长度,及其简要描述【1 3 】。表2 2 传输类型表传输类型特性要求最大包长度( 字节)描述低速:不允许适用于数据量大、对时间批传输质量全速:8 ,1 6 ,3 2 ,6 4要求不高、非周期性的传高速:5 1 2输场合。低速:8适用于低频、有限延迟的中断传输质量全速:6 4通信。高速:1 0 2 4低速:不允许适用于周期的、连续的通同步传输时间全速:1 0 2 3信,典型应用于时间相关高速:1 0 2 4的信息。低速:8适用于非周期的通信,典控制传输时间和质量全速:8 ,1 6 ,3 2 ,6 4型应用于请求操作。高速:6 42 4 1 批传输批量数据是由大量的数据组成的,例如使用打印机和扫描仪时的数据传输。批传输的特点是以错误检测和重试的方式保证主机和设备之间的数据无错发送的能力。批量传输事务由令牌包、数据包和握手包3 个部分构成。图2 1 2 给出了几种批传输。北方工业大学硕士学位论文图2 1 2 批传输2 4 2 中断传输中断数据一般由事件通告、特征及坐标号几个部分组成,只有一个或几个字节。中断传输也支持错误检测和重试,以保证主机和设备之间的数据无错发送,其表现形式和批传输一样,如图2 1 2 。中断传输适合于传输少量或中量的,且对服务周期有要求的数据,特别适合于键盘、鼠标类的设备。2 4 3 同步传输同步数据的建立、传输和使用是连续的且实时的,例如实时语音的同步数据传输。同步传输采用令牌和数据包两个阶段传输,支持数据周期性的、以恒定的速率传输的数据,适用于对时延敏感、实时性强的场合,特别适合于音频和视频类设备,如c d 播放机和扬声器等。另外,为确保数据传输的及时性,同步传输没有采用差错控制和重试机制,即不能保证每次传输都是成功的。图2 1 3 给出了几种同步传输。1 4蓟圃_fii_ll_il-ll_ill_l_l-iil_i_iii_北方工业大学硕士学位论文图2 1 3 同步传输2 4 4 控制传输控制数据通过主机来配置u s b 设备,控制传输包括两或三个阶段,建立阶段和状态阶段。在建立阶段和状态阶段之间还有可能存在数据阶段,控制传输可以包括某些数据阶段,也可以不包括数据阶段。建立( se t l 叩) 阶段包含8 字节s 帅数据,且总是在建立事务的数据阶段使用d a t a o 的p d 。如果控制传输存在数据阶段的话,则控制传输由一个以上的输入或输出事务构成。所以数据阶段里的事务都必须有相同的方向( 全部输入或者全部输出) 。在数据阶段中要发送的数据量和其方向在建立阶段中指定。状态阶段是序列中的最后一个操作,状态阶段与数据流方向相反,并且总是使用d a t a l 的p i d 。如果数据阶段是由输出事务构成的,状态是单一的输入事务;如果数据阶段是由输入事务构成的,状态是单一的输出事务。如果控制传输没有数据传输阶段,那么它由建立阶段和其后的状态阶段构成,此状态阶段由输入事务构成。图2 1 4 给出了控制读传输,图2 1 5给出了控制写传输【l5 1 。建立阶段数据阶段( 可选)状态阶段建立阶段数据阶段( 可选)状态阶段2 5 设备请求北方工业大学硕士学位论文图2 1 4 控制读传输图2 1 5 控制写传输所有的u s b 总线设备以缺省控制管道( d e f ;l u l tc o n 仃d lp i p e ) 响应主机发出的1 6北方工业大学硕士学位论文请求。这些请求是通过使用控制传输来完成的,请求及请求的参数通过s 咖包发向设备,由主机负责设置s 咖包内的每个域的值。所有的u s b 总线设备都必须定义标准设备请求,这些请求用于配置u s b 设备。另外,u s b 设备可以支持分类厂商( c l a s s v e i l d o r ) 请求,这些请求为分类厂商具体需要提供了扩展服务。2 5 1 标准设备请求u s b 定义了1 1 个标准设备请求,所有的设备都必须响应这些要求。表2 3列出了这些请求及其描述。表2 3 标准设备请求请求数值请求r e q u e s t描述( 二进制)主机要求一个设备、接口或端点特性的g e ts t a t iy so 0 0 0 0 0 0 0状态。主机要求禁用一个在设备、接口或端点c l e a rf e a t u r e0 0 0 0 0 0 0 1上的特征。r e s e r v e d0 0 0 0 0 0 1 0保留。主机要求启用一个在设备、接口或端点s e tf e a t u r e0 0 0 0 0 0 1 l上的特征。r e s e r v e d0 0 0 0 0 1 0 0保留。s e ta d d r e s s0 0 0 0 0 10 1主机指定一个地址来与设备通信。g e td e s c r i p t o r0 0 0 0 0 11 0主机要求一个指定的描述符。主机新增一个描述符,或更新一个存在s e t d e s c r i p t o ro o o o o l l l的描述符。g e tc o n f i g u r a t i o n0 0 0 0 10 0 0主机要求目前设备配置的数值。s e tc o n f i g u r a t i o n0 0 0 0 l0 0 1用来指示设备使用所选择的配置。如果设备的配置支持多个互不相关设g e ti n t e r f a c e0 0 0 0 1 0 1 0置的接口,主机要求目前的设置。如果设备的配置支持多个互不相关设s e ti n t e r f a c e0 0 0 0 1 0 1 1置的接口,主机要求设备使用一个指定的设置。s y n c hf r a m e0 0 0 0 1 1 0 0设备设置与报告一个端点的同步帧。1 7北方工业大学硕士学位论文2 5 2 分类厂商( c 1 弱s _ v e n d o r ) 设备请求一个类别( c l 嬲s ) 可以在其类内定义设备的请求。类别特定的请求( c l a u s s s p e c i f i cr e q u e s t ) 可以是需要的,或是选择性的。有些请求与标准请求无关,有些则是定义在一个以标准请求为基础的类别特定字段上。厂商可以定义指定设备的控制传输的客户化请求,u s b 设备厂商可以使用厂商设备请求来提供厂商特定的服务【1 6 1 。北方工业大学硕士学位论文3u s b 2 o 协议层体系结构3 1u s b 2 o 接口芯片的总体设计上一章对u s b 2 0 协议做了简单介绍,在此基础上,我们将讨论u s b 2 o 协议层的设计与实现。首先介绍一下u s b 2 o 接口芯片,及其与主机、控制器及应用设备的连接关系【1 7 】,如图3 1 所示。主机酬咖图3 1u s b 2 o 接口芯片及连接关系所有的u s b 传输都是由主机启动传输事务,设备作出响应。主机应用程序利用应用编程接口函数,调用底层的驱动程序来使用主
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年江西中烟工业公司笔试试题及答案
- 川菜考试题及答案
- 取样考试题及答案
- 办公考试题及答案
- 中华传统文化融入《思想道德与法治》知到智慧树答案
- 基础护理学习题及答案
- 高血压试题及答案4
- 2025年二手车转让与售后服务保障协议
- 2025年房屋拆迁补偿安置协议书范本与案例分析
- 2025年度养老地产项目委托销售代理协议
- 电影院安全生产与安全管理规定制度
- 废气处理合同协议
- 镁铝合金行业前景
- 2025-2030中国余热回收行业市场现状供需分析及投资评估规划分析研究报告
- 无人机物流配送服务手册
- 见证取样送检计划方案
- 二年级上册语文课内阅读理解每日一练(含答案)
- 2025-2030年中国功率器件市场发展趋势规划研究报告
- 基层管理培训课程
- 宇宙飞船的发射与回收技术分析
- 2024考研 政治 思维导图(马原)
评论
0/150
提交评论