(计算机系统结构专业论文)usb主机控制芯片的逻辑设计与验证.pdf_第1页
(计算机系统结构专业论文)usb主机控制芯片的逻辑设计与验证.pdf_第2页
(计算机系统结构专业论文)usb主机控制芯片的逻辑设计与验证.pdf_第3页
(计算机系统结构专业论文)usb主机控制芯片的逻辑设计与验证.pdf_第4页
(计算机系统结构专业论文)usb主机控制芯片的逻辑设计与验证.pdf_第5页
已阅读5页,还剩54页未读 继续免费阅读

(计算机系统结构专业论文)usb主机控制芯片的逻辑设计与验证.pdf.pdf 免费下载

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

文档简介

摘要 自从1 9 9 4 年u s b 规范被提出以末,u s b 技术已经得到了非常广泛的应用。各种 u s b 设备层出不穷,在音频设备:通信设备、人机接门设备、大容量存储设备七都有了 u s b 接口的身影。u s b 的出现也让某些接口如串口并口。p s 2 等的前景出现危机。 u s b 的热插拔,自动安装驱动等特性也改变了人们以往对计算机硬件安装的看法。 u s b 系统采用主从的方式进行设计,这样大部分工作可以在主机端完成,设备端的 软硬件设计可以相对的简单,使得u s b 设备端接口功能广泛,价格低,从而能非常容易 地普及到各个领域。但在这种主从方式下u s b 设备j 日j 的数据交换都必须通过u s b 主机。 而通常的u s b 主机端都位于个人电脑p c 上,出于p c 携带不便,造成数掘交换的不便, 这样也使得u s b 设备间的数掘交换很难脱离p c 在移动领域中得到广泛的应用。 本文的目的就是要设计并实现一个可集成在便携、移动产品上的u s bt 机控制嚣软 核。目自i 它已经可以通过o p b 总线接口集成到一个嵌入式的m i c r o b l a z e 系统中,并能 与u s b 设备进行正常的通讯。利用这个u s b 主机控制器软核原型系统,可以实现2 个 大容量u s b 存储设备阃的便捷有效的数掘交换。 本文一丌始介绍了u s b 协议的由束及特点,以及它的数据通信结构和数掘传输过 程;接着是u s b 主机控制器逻辑部分的设计及其实现,详细介绍了总线接口、逻辑控制 部分、物理接口、数据的存取等部分;随后介绍了u s b 主机控制器的软件分层及实现, 包括u s b 主机控制器驱动,u s b 核心驱动,u s b 设备驱动,文件系统等:接f 柬足对 m i c r o b l a z e 系统的介绍,以及如何将u s b 核集成到该系统的过程;最后是u s b 主机控 制器的仿真与调试。 关键词:u s b 主机控制器;u s b 设备:m i c r o b l a z e :f p g a :o p b : t h el o g i cd e s i g na n dv e r i f i c a t i o no fu s bh o s tc o n t r o l l e rc h i p y a oj i a n - p i n g ( c o m p u t e r a r c h i t e c t u r e ) d i r e c t e db yw a n gz h e n s o n g s i n c et h eu s bs p e c i f i c a t i o nw a sp r o p o s e di n1 9 9 4 ,t h eu s bt e c h n o l o g yb e c a m e w i d e s p r e a d t h e r ea r es om a n yu s bd e v i c e su s e di nd a i l yl i f e s u c ha sa u d i od e v i c e , c o m m u n i c a t i o nd e v i c e ,h u m a n i n t e r f a c ed e v i c e ,m a s ss t o r a g ed e v i c e ,e t c u s bh a sg r a d u a l l y r e p l a c e ds o m ei n t e r f a c e ss u c ha ss e r i a lp o n p a r a l l e lp o r t , p s 2o np c u s b ss o m ec o n v e n i e n t f e a t u r e ss u c ha sh o t - p l u g , a u t o m a t i c a l l yi n s t a l ls o f t w a r eh a v ec h a n g e dp e o p l e sp a s tv i e wo f i n s t a l l i n gc o m p u t e rh a r d w a r e t h eu s bs y s t e mi sc o n s i s t e do fu s bh o s tc o n t r o l l e ra n du s bd e v i c ec o n t r o l l e r b yt h i s w a ym o s to ft h ed a t am a n a g e m e n tc a nb ed o n eb yt h eh o s tc o n l r o l l e r , s ot h eu s bd e v i c e c o n t r o l l e rc a l lb ed e s i g n e dr e l a t i v e l ys i m p l e t h i sm a d et h eu s bd e v i c ec o s tl o wa n dw i d e l y u s e d b u tb yt h i sm e t h o d , a l lt h ed a t ae x c h a n g i n gp r o c e s sb e t w e e nd e v i c e sa l w a y sd e p e n do na p c ,w h i c hh a sl e s sm o b i l i t y t h i sr e s t r i c t st h ea p p l i c a t i o no f t h eu s b d e v i c e si nm o b d ef i e l d t h i sp a p e rd e s i g n e da n di m p l e m e n t e dau s bh o s tc o n t r o l l e rs o rc o r et h a tc a nb eu s e di n m o b i l ed e v i c e s a tp r e s e n t , t h eu s bh o s tc o n t r o l l e rc o r eh a sb e e ni n t e g r a t e di na l le m b e d d e d m i c r o b l a z e - b a s e ds y s t e mt h r o u g ho p bi n t e r f a c e ,a n dc a nc o m m u n i c a t ew i t hu s bd e v i c e s u c c e s s f u l l y t h i ss y s t e mc a nf a c i l i t a t et h ed a t ae x c h a n g i n gp r o c e s sb e t w e e n2m a s ss t o r a g e u s bd e v i c e s f i r s t ,t h i sp a p e ri n t r o d u c e dt h eo r i g i na n df e a t u r e so fu s bs p e c i f i c a t i o na n di t sd a t a c o m m u n i c a t i o ns t r u c t u r ea n dd a t ae x c h a n g i n gp r o c e s s t h el o g i cd e s i g na n dr e a l i z a u o no ft h e u s bh o s tc o n t r o l l e ri si n t r o d u c e dn e x t , i n c l u d i n go p bb u si n t e r f a c e s , l o g i cc o n t r o l ,p h y s i c a l i n t e r f a c e ,r e a da n dw r i t ed a t a , e t c t h e nt h eu s b s o f t w a r es u c ha su s bh o s tc o n t r o l l e rd r i v e r , u s bc o r ed r i v e r , u s bd e v i c ed r i v e r , a n dt h ef i l es y s t e mi si n t r o d u c e d t h es t r u c t u r eo f m i c r o b l a z es y s t e ma n dt h ep r o c e s so fi n t e g r a t i n gt h eu s bh o s tc o r ei n t ot h es y s t e ma r e e x p r e s s e dn e x t f i n a l l y , t h er e s u l to fs i m u l a t i o na n dd e b u g g i n go ft h eu s b h o s tc o n t r o l l e ri s p r e s e n t e d k e y w o r d s :u s bh o s tc o n t r o l l e r ;u s bd e v i c e ;m i c r o b l a z e ;f p g a ;o p b ; 冈2 - iu s be 机控制器在p c i 总线上的化霄 圈2 - 2u s b 系统的拓扑结构 图2 - 3u s b 系统软硬件组成 图2 - 4s e t u p , i n ,o u t3 种事务组成 图3 1u s b 主机控制器的结构 。7 1 5 图3 2e d 链表和t d 队列在内存中的组织 图3 3 上机控制器数据处理过程 图4 - lu s b 驱动的层次结构 图4 2b u l k o n l y 协议传输流程 图4 3p t p 协议数掘传输流程 图5 1m i c r o b l a z e 处理器结构 图5 2m i c r o b l a z e 系统结构 图5 - 3m l c r o b l a z e 系统的开发流程 图6 一iu s b 设备核结构 图6 2u s b 设备端数掘处理流程 圈6 3m o d e l s i m 中的仿真环境 图6 - 4 调试用实验板结构 2 4 。2 6 。3 i 一3 5 友i iu s b 与其他接口的比较一 农2 - 1d + 和d 一信号线所表示的状态 友2 - 2 同步域 表2 - 3 标识域 表2 4 标识域的种类11 表2 - 5 地址域 表2 - 6 端点域 表2 7 帧号域。 表2 8 数掘域。 表2 - 9s o f 令牌包结构 表2 ,1 0s e t u p , i n ,o u t 令牌包结构 表2 - 1 1 数据包结构。 表2 一1 2 握手包结构 表3 1o p b 总线上的信号 表3 2 主要寄存器的域名及其说明2 3 表3 - 3 e d 节点的属性 表3 - 4 t d 节点的属性 表4 一ip t p 协议读取数掘过程 表5 1 一个字在m i c r o b l a z e 系统内存中的组织方式 表5 2m i c r o b l a z e 的指令类型a 表5 3m i c r o b l a z e 的指令类型b 表5 4m i c r o b l a z e 的流水线 、 巧 加 绚 声明 我声明本论文足我本人在导师指导f 进行的研究工作及取得的研究成 果。尽我所知,除了文中特别加以标注和致谢的地方外,本论文中不包含 其他人已经发表或撰写过的研究成果。与我一同工作的同志对本研究所做 的任何贡献均已在论文中作了明确的说明并表示了谢意。 作者签名:冰昱干 嗍沙6 f 嘶7 7 论文版权使用授权书 本人授权中国科学院计算技术研究所可以保留并向国家有关部门或机 构送交本论文的复印件和电子文档,允许本论文被查阅和借阅,可以将本 论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或 扫描等复制手段保存、汇编本论文。 ( 保密论文在解密后适用本授权书。) 作者躲龇醉导师虢可窆和嗍:砂删 第1 章引言 目前,通用串行总线( u n i v e r s a ls e r i a lb u s 简称u s b ) 1 作为一种很流行的接r 】已 经越束越多地用在那些与个人计算机进行通信的设备中。e s b 设备的种类已经有很多, 并且在不断的增加,如u 盘,移动硬盘 7 ,带t ;s b 接口的数码相机 8 】 9 ,扫描仪、打 印机,还有u s l 3 键盘,鼠标,音响等等。在一个i g s b 系统中,u s b 主机只有一个,它控 制着u s b 系统上的所有设备,所有的数掘交换也由它发起。一般个人计算机都带有2 4 个l s b 接口。由于这些个人计算机一一p c 携带不便,造成u s b 设备f b j 的数据交换的不便。 而嵌入式u s b 主机的方案就可以很好地解决这个问题。本文详细的介绍了u s be 机的结 构,并在片上实现了u s b 主机系统,通过它可以实现大容量u s b 存储设备日j 便捷有效的 数据交换。 1 1 u s b 的由来 上世纪八十年代以来,随着电子技术和计算机的迅速发展,大量的数字终端都得到 了普及和应用。对于不同的终端出现了不同的接口。传统的计算机接口有很多缺点, 要是,不同的设备如键盘,鼠标,串口,并口,显示器,网卡,声卡等需要不刚的接口 和线缆:一些设备加入主机时需要关机并丌机箱;还有一些安装完软件或驱动时需要霞 启机器;它们还占用有限的中断资源及i o 资源。这使有关p c 机研发技术人员意识到, 修改p c 机外设接口的时机已经到来。 p c 机研发领域的七家大公司i n t e l ,c o m p a q ,d e c ,m m ,m i c r o s o f t ,n e c ,n o r t h e r n t e l e c o m ( 加拿大北方电讯) 联合推出了新一代标准接口总线u s b ,该总线足一种连接 外围设备的机外总线,最多可连接1 2 7 个设备,为微机系统扩充和配蚤外部设备提供了 方便。u s b 规范有多种版本,最早的版本是1 9 9 4 年1 1 月推出的u s b0 7 版。1 9 9 5 年成 立了一个旨在促使i o 总线标准化的组织,即“通用总线实现者论坛( u s bi m p l e m e n t e r s f o r u m ) f 2 9 ”,加速u s b 产品的开发和标准化同年1 1 月,u s b0 9 规格正式提出,并 且立即公靠给周边设备及芯片制造厂商。1 9 9 6 年1 月推出了标准版本u s b1 0 ,目标是 为中低速的外围设备提供双向、低成本的总线。根掘数据传输速度可以分为低速! 5 m b s , 全速1 2 m b s 2 种传输率。2 0 0 0 年4 月又推出了新的u s b 规范一一u s b 2 0 【2 】。在新版本 中,增加了一种4 8 0 m b s 的数掘传输率,以满足f 1 益复杂的高级外设与p c 机之问的- 留 性能连接需求。2 0 0 1 年1 2 月,u s bo n 一1 1 1 e g o ( o t g ) 协议1 0 3 1 发布。它足u s b 2 0 的补充协议。对于u s bo t g 设备它具有双曛角色,即可以根掘接入设备的特性和数掘 传输过程中的情况,自动切换为土机( h o s t ) 或足外没( d e v i c e ) 。 u s b1d l t 州一己j :的也 :i 歧i j 嗨【1 1 2 u s b 的特点 1 2 1 实用性 无论足对终端用户,还是对u s b 设备的设计者而言,u s b 接 1 以简单、易j j 性f 酊苫 称,主要表现在以下几个方面【2 0 2 l 】【2 7 】【3 4 】: 硬件接口模型 在u s b 系统中,不同种类的u s b 设备使用相同的接口,因此,用户在设备连接的 时候,不需要考虑连接接口的类型,以及接口的硬件电气特性。在设备接口设计过程中, 也只需考虑统一的接口。 即插即用 用户在开机的情况下,就可以对u s b 设备进行拔插操作。在u s b 的插头中,电源 线的接头要比数据的长,所以在插入过程中,u s b 设备会首先被供电,然后足数掘线的 连接。u s b 主机端根掘数据线上电平的变化可以自动检测到设备并读取设备的标准信 息,然后加载相应的驱动。用户不需要重新启动操作系统就可以完成对它的初始化和配 置工作。 系统总线供电 u s b 总线带有+ s v 的电源线和地线,所以对于那些对电量要求不足很商的设备柬 说,就可以采用总线供电方式,不需要另接独立电源了。u s b 协议规定设备从总线上获 取的电流不能超过5 0 0 m a 。 系统的高扩展性 根掘u s b 系统规范,u s b 总线上最多可以连接1 2 7 个设备。由于u s b 接口不占用 系统的i o1 :3 ,地址总线和中断向量,当总线上的接口不够时,只需要通过u s b 集线器 ( h u b ) 束扩展更多的u s b 接口。 1 2 2 数据传输 提供更高速度和更为安全可靠的数据传输也是u s b 总线区别于常用r s 一2 3 2 串【】和 并口通讯口的一个特征。 数据传输速率 目前,u s b 提o j l , t3 种传输速率模式,以满足小同应用的需要。低迎的1 5 m b p s - 可以应用在鼠标、键盘等对传输速度要求不高,却,7 格要求低成本的外设广品:全速 的1 2 m b p s ,基本上可以满足工业和嵌入式领域内的多种场合,比如数掘的采集。数捌 交换等;高速的4 8 0 m b p s ,可以在大容鼍移动硬盘、光驱、和视频传输等钡城他川。 数据传输方式 为了应付不刚数据传输的要求,u s b 总线卜支持4 种小的f 铂俞方j :拧: 向 ( c o n t r o l t r a n s f e r ) 、中断传输( i n t e r r u p t t r a n s f e r ) ,批醚传输( b u l k t r a n s f e r ) 和实时传 命( i s o c h r o n o u st r a n s f e r ) 。 数据的容错性 与以往的串行接i z i 相比较,u s b 总线的数掘传输有着较好的容错性比如在数抛传 输过程中加入了c r c 校验、在协议中包含有数掘包出错处理及差错恢复机制、并具有 对有缺陷设备进行认定和根据不同的传输类型错误进行不同的处理的能力。 1 2 3 低功耗设计 u s b 系统要求u s b 外设在长时日j 没有总线活动的时候,会自动启动省电功能束降低 电量。当设备要被使用时,会自动恢复其原束的状态。这种节电特性,在嵌入式系统, 特别时用电池供电的系统将显得特别重要。 1 2 4 操作系统的支持 w i n d o w s 9 8 是第一个支持u s b 的操作系统,其后的w i n d o w s 系统如w i n d o w s 2 0 0 0 x p 等都支持。其它的如a p p l e 的i m a c 计算机,u s b 还是它唯一的外围设备连接器。还 有l i n u x ,n e t b s d 以及f r e e b s d 等等也都支持u s b 。对某一个u s b 设备,操作系统可 能会提供它的驱动程序,来让应用程序调用存取设备的函数。如果没有提供,则需要设 备制造商自己提供。 1 2 5 外围设备的支持 从音频设备、大容量存储( m a s ss t o r a g e ) 设备到人机接口设备( h i d ) 等等,几乎 各种计算机外设都可以在u s b 中找到相应的设备支持。在这些外围设备内部,必须包含 有控制u s b 通讯的控制芯片。有些是完整的微型计算机,包含有内存和c p u 。内存用 于存储设备特定的程序代码,c p u 用于执行午a 序。大部分的u s b 设备控制器都是建屯 在i n t e l 的8 0 5 1 结构上,然后用新增电路与机器码来支持u s b 。 1 2 6 低廉的价格 虽然u s b 接口比以前的接口复杂的多,但是它的组件和电缆都不贵。u s b 的体系结 构决定了其软件协议上的复杂,并因此换得了硬件上的相对简单,这降低了系统成本。 随着u s b 产品的大量问世,必然会降低u s b 芯片到设备的价格。 1 2 7 缺点 当然,u s b 也有一些不足之处,如缺乏对旧设备和旧操作系统的支持,传输速度, 线缆长度等。还有一个比较重要的缺点就是在u s b 系统中,必须由一个上计算机束管理 所有的通讯。而e 计算机如p c ,笔记本等一般不适合在移动场合使用,这在很大程瞍卜 限制了u s b 设备问的数据交换,本文的r j 的就足怨婴解决这一问题。 u s bj + i :1 i “0j :f i ? ,! ;【1 f j 。埒l 1 3 u s b 与其他接口的比较 u s b 年i e e e l 3 9 4 ( 也称火线f i r e w i r e ) j 有相似的应用领域,且邵足串i j 总线f 输 标准,它们在总线的结构和数掘传输等晰多方【i i i 有前相似之处,对它们的比较如卜。住 u s b 系统中,由于一个主机控制着与所有外设的通信,所有的复杂性邵由主机束控:叭 外围设备的电路则相对简t 誊且价格便宜。所以它在从低速到高速的设备都有了广泛的应 用。i e e e l 3 9 4 使用点对点( p e e r - t o p e e r ) 的模式,外围设备可以彼此沟通,所以相对它 的电路就比较昂贵和复杂。并且i e e e l 3 9 4 总线需要占用大量的资源,所以需要高速度 的c p u 。它主要适合使用在需要高速的影像或是连接设备,或是没有p c 的场合。这两 种总线各有各的特点,从目前的发展来看,将会在其相关领域内并存。 u s b 和其他一些接口的比较如下 表1 1u s b 与其他接口的比较 接口格式设备最最大长度最大速度 用途 大数目( 英尺) ( b s ) u s b 异步串行 1 2 79 6 ( 5 个集 l - 5 m , 1 2 m ,鼠杯、键盘、硬盘、音 线器) 4 8 0 m 频、数码相机、打印机 r s 一2 3 2 异步串行 25 0 l o o 2 0 k 1 1 5 k调制解调器、鼠标、仪 ( e i a t i a 一2 3 2 ) 器 r s 4 8 5 异步串行 3 2 4 0 0 01 0 m 数掘存储与控制系统 ( t i a e i a - 4 8 5 )2 5 6 i r d a 异步串j r 261 1 5 k 打印机、f 持计算机 红外 m i c r o w i r e 同步串行 81 02 m 微处理器通讯 s p i 同步串行 8l o2 1 m 微处理器通讯 1 2 c 同步串行 4 0 1 83 4 m 微处理器通讯 正e e 一1 3 9 4 串行 6 4 1 5 4 0 0 m 一3 2 g 影像,大容龟存绪设备 ( f i r e w i r e ) 【e e e 一4 8 8 并行 1 56 08 m 仪器 ( g p i b ) e t h e m e t 串行 1 0 2 41 6 0 0l o m ,1 0 0 w刚络p c l g m i d i 串行 2 5 03 1 5 k爵乐控制 并行打印端口并行 2 1 0 3 08 m打印机、扫描仪、硬件 c a m e r al m k 并行 23 02 t 3 8 g 高迎影像 1 4 u s b 主机的嵌入式前景 移动数扼的存储和交换,是近年来i t 业的热点。各种各样的移动存储设备越水越多, 从最早的存储罱为几千字节、能存储用户个人信息的u s b 小钥匙,到容馈可以和p c 他 盘媲美的u s b 移动硬盘,再到以f l a s h 作为存储介质的u s b 叫存盘,以及各种各柑的 多媒体家电中使用的带有数据存储的设备,如数码相机,m p 3 、手机等等,在人们的 常生活中已经非常普遍了。而它们之日j 的数掘交换却一直依赖于不便移动的个人电肭 p c 。有了嵌入式u s b 主机,就可以很方便的将存储在价格高,容量小的f l a s h 中的数掘 转存到价格低,容量大的u s b 移动硬盘中。有了嵌入式主机还可以将数掘相机上的照片 直接通过u s b 打印机打印出来【2 0 】。这种脱离p c 的方便快捷的数据交换方式正是人们 所希望的。因此,嵌入式u s b 主机拥有很强的应用背景和市场前景。 1 5 实现想法及本文贡献 参照u s b i 1 协议【l 】,按照o h c i 4 对u s b 系统进行软硬件分割,实现一个u s b 主机控制器软核。该主机控制器的处理器端接口为片上外围总线( o p b ) 【l l 】可以和 其他x i l i n x 公司标准o p b 外设核一起组成一个完整的m i c r o b l a z e 1 2 系统。再编写一定 的驱动和应用软件,实现数据交换时的部分上计算机功能。整个m i c r o b l a z e 系统,包括 u s b 主机控制器均置于一片f p g a 内部,外加一些存储芯片如s d r a m 颗粒、按钮、l c d 即可构成一个小型的u s b 主机应用系统。 本文实现了一个基于o p b 接口的u s b 上机控制器和它的控制驱动。通过它和另外 一些o p b 外设核一起构成一个m i c r o b l a z e 系统,利用这个系统来实现方便快捷的u s b 大容鼍存储f 7 】设备日j 的数据交换。 1 6 论文的组织 第一章介绍了u s b 的由束及其特点、u s b 与其他接口的比较、及u s b 主机控制 器的嵌入式自u 景; 第二章介绍了u s b 通讯协议,主要为数据传输部分的协议; 第三章介绍了u s b 主机控制器硬件的设计与实现,包括总线接口,控带4 逻辑,物 理层接口,f i f o 等: 第四章介绍了u s b 主机控制器的驱动层次,及各部分驱动的作用: 第五章介绍了m i c r o b l a z e 系统的结构及其丌发环境以及将本文设计的u s b 卜机控 制器集成到m i c r o b l a z e 系统中的过程: 第六章介绍了一个用于调试的u s b 设备软核,以及u s b 主机控制器的软件调试疗 法、硬什仿真调试环境、综合结果及实际数掘传输波形等: 第七祭总结与进一步的工作。 2 1 i j s b 系统的拓扑结构 第2 章i j s b 协议简介 在个人电脑中,一般都存在一个u s b 上机控制器和根h u b 。由图2 一i 我们可以很清 楚地看出它们在p c i 系统中的位黄。c p u 需要通过北桥、p c i 总线、南桥,才能访问到 u s b 主机控制器很多情况下,u s b 主机控制器和根h u b 被集成到了南桥之内。根 h u b 用于连接u s b 外设,或者其它的h u b 。 图2 - 1u s b 主机控制器在p c i 总线上的位置 在一个u s b 系统中,只能有一个u s b 主机,而u s b 设备可以达到1 2 7 个。多个设 备可以通过h u b 进行级连,但不能超过5 绂。u s b 系统的拓扑结构如图2 - 2 所示。h o s t 就是u s b 主机控制器,n o d e 即u s b 设备。一般情况下根h u b 和主机控制器都集成在 一个片内根h u b 提供2 个接口供u s b 设备或是下级h u b 级连。 l s bif i : 。1 - j :j :仉1 2 f j 船u 2 2 u s b 系统软硬件组成 图2 - 2u s b 系统的拓扑结构 3 m i e r 4 由图2 3 可以看出,u s b 系统的软硬件资源町以分为3 个层次,即功能应用层、设 备层和接口层。接1 :3 层涉及的是具体的物理连接,其主要实现物理信号和数掘包的交互, 也就是在主机端的u s b 主控制器和设备端的u s b 总线接口之间传输实际的数据流。设 备层主要提供u s b 基本的协议栈,执行通用的u s b 的各种操作和请求命令,从逻辑上 讲,就是u s b 系统软件与u s b 逻辑设备之h j 的数掘交换。应用功能层提供每个u s b 设 备所需的特定的功能,主机端的这个功能由用户软件和设备类驱动程序提供,而设备端 就由应用功能t 鞋元来实现,它们之日j 的这种联系看作足逻辑上的数据流。 u s b 设备 和:用户心片| 软件 。 爿 u s b 心用尊,c u s bj 衄月日层 和设蔷驱动程序卜。 川 一看管“n f ,usb系统软件1i | l i l v i l卜ji - e 口; # n m u s b 设蒉层 一l w “端三产删洲i - q 。 ;| 一b 罢衙 乡 n 薏杰接u u s b 丰机控 i 川器 和h u b 卜f ny u s b 蠢lj 层 g 一- _ 一参 逻辑数据m 图2 - 3u s b 系统软硬件组成 k 钯2 卒ts b j i z a :j 仆 2 3 i j s b 数据通讯结构 u s b 数掘线上的数据以串行差分信号进行传输。由多位比特数掘组成帧域。多个帧 域组成包,多个包组成一次事务,一个或多个班务组成一次传输,多个传输组成帧。这 一节将以从底层u s b 总线上的比特信号到顶层的传输为顺序来介绍u s b 系统的数捌通 讯结构。 2 3 1 i j s b 总线上数据传输形式 u s b 电缆采用的足4 线结构,2 根电源线,2 根差分数据线。电源线为。和g n d 。 一般嵋。y ,+ 5 v ,数据线为d + 和d 一。不论是全速设备还是低速设备,当d + 信弓线 上的电压比d 一信号线上的电压高于2 0 0 m v 时,表示差分“l ”,相反则表示差分0 。 表2 - 1d + 和d 一信号线所表示的状态 状态d + d 一( d + ) 一( d 一) 的绝对值 全速,低速差分“0 ” v s e ( m a x ) 2 0 0 m v 全速,低速差分1 v s e ( m a x ) 2 0 0 m v 全速j 状态,低速k 状态 v s e ( m a x ) 2 0 0 m v 全速k 状念,低速j 状态 v s e ( m a x ) 2 0 0 m v 单终端0 ( s e 0 ) v s e ( m i n ) v s e ( m i l l ) n a 江:v s e 表示l 鞋终端接收器的门限值,v s e ( m i n ) = o 8 v ,v s e ( m a x ) = 2 0 v 在u s b 系统中,数掘按包为雏位进行传输,传输方在数掘的6 口面加上同步字段,后 面加上信息包结尾( e o p ,由s e 0 和“电j 信号组成) 。它的数掘传输的顺序是这样的: 对于一个字节来说,总线先传输字节的最低位( l e a s ts i g n i f i c a n tb i t ,l s b ) ,接着传输次 低位,最后传字节最高位( m o s ts i g n i f i c a n tb i t ,m s b ) 。同样,对于多个字节组成的字段 柬说,总线先传输数据的最低的字节数掘( l e a s ts i g n i f i c a n tb y t e ,l s b ) ,接着传输次低 字节,最后传输最高的字节数据( m o s ts i g n i f i c a n tb y t e 。m s b ) 。 当总线进行数掘传输的时,除了d + 和d 一数掘线的空闲状念( j 状念) 和包结尾 ( e o p ) 外,u s b 中的数掘采用反向不归零( n r z i ) 编码方式。数据接收方则采用n r z i 的逆过程。n r z i 的编码方式如下: 当有多个“0 ”的信息时,信弓的每- g l n , f f 1 按方波变换。 当有多个“l ”的信息时,信弓的每一化时n i j 状念不变。 当行从“l ”到0 的信息时,信号的状念要求变换。 - 5 仃从“0 ”到“i ”的信息时,f 占弓的状念要求不变。 l s bl 埘己j :的j 兰 :l 【2 ,i j 髓“卜 从这个规则可以石出对于一串教掘0 水晚,它的数掘线的电,f 状念会按付跳,殳, f q 足对r 一串“l ”来说,则一直保持。出于u s bf 输是异步的,数掘的接收办; i 婴从 接收到的数掘信息中分柝出采样时钟束。一般采用过采样的方法,如对f - 1 2 m b s 的数 掘牢,接收方采用4 8 m 的时钟进行采样,然后根掘获得的数据中的跳变信息柬列步本地 时钟,获得准确的采样数掘。而对f 一长串“l ”的情况,由于电平长时廿j 不变会导致接 收方时日j 信号的漂移。所以为了确保数据的发送方和接收方的时日j 同步,u s b 协议要求 数据传输过程中,每遇到6 个“1 ”就在n r z i 编码之前添加一个“0 ”,称为位填充( b i t s t u f f i n g ) 。这个“0 ”将会导致信号的跳变。接收方则需要检测“1 ”的个数以去除多余 的0 。 2 3 2 二进制数的序列一一域 域( f i e l d ) ,是u s b 中对有统一意义的一系列二进制数的称呼。域可分为以下几种。 同步域 同步序列域( s y n c h r o n i z a t i o ns e q u e n c e ,简写s y n c ) ,简称同步域。同步域位于一 个包的最丌始处,固定值为“0 0 0 0 0 0 0 1 ”。显然u s b 总线从空闲态转到同步域会产! - 一 连串的跳变。这些跳变用于本地时钟与输入信号的同步。 表2 2 同步域 标识域 包标识域( p a c k e t i d e n t i f i e r f i e l d ,简写p i d ) ,简称为标识域。包标识域紧跟在m 步 域之后,作用为标明包的类型和格式,并作为包类型的错误检测手段的一种。u s b 主机 和设备都要首先对接收到的标识域进行解码。如果出现错误或是该杯识域指明的类型或 方向不被支持的,那么这个包将会被丢弃。例如,u s b 接口芯片中定义为n 的端点, 在接收到o u t 标识域的包后,将会把相应的包忽略掉。 标识域由4 位标识彳彳和紧跟的4 位标识符的反码组成,总共有8 位。 表2 3 标识域 标识域中关键的标识符由4 位二逍制组成,所以u s b 可以定义的包的类型总,仃 2 4 = 1 6 种。在u s b 协议1 1 种,使用了萸中的1 0 种在u s b 2 0 中,定义了拿邪的1 6 种杯识域。i r 以分为令脚、数据、握f 、特殊4 种炎型。如表2 - 4 所j j j f , 筑2t , t ,、i 。,l z f :】仆 表2 - 4 标识域的种类 类p 1 d 名称数值 传输类型包束总线 说明 型源速度 令 0 u t0 0 0 l 所有主机所有启动一个主机到设备的数掘传输 牌 i n1 0 0 l 同上r 几】上同上启动一个设备到主机的数掘传输 s o f0 l o l 帧开端同上6 d 上表示一个新帧的丌始 s e t u p1 1 0 1 控制同上同上 启动一个通过控制管道进行的设置 数据传输 数d 觚氏o 0 0 1 1 所有 主机 同上数据交替时使用,数据串行化 据设备 d 蛆a l1 0 l l 同上同上同上数据交替时使用,数掘串行化 d a 丑蛇0 1 1 l 实时 同上高速数据串行化 m d a t al l l l 实时,中断同上刚上数据串行化 握a c k o o l o 所有同上所有接收到没有错误的数据包 手n a k 1 0 1 0 控制批量 设备f d 上 接收端无法接收数据或没有数掘可 中断发送 s t a l ll l l 0 同上刚上f d 上端点被禁止或不支持控制管道请求 n y e t o l l 0 控制w r i t e刷上高速设备接收无错误包,但还没有准备 批量输出好,或是集线器还没有完成数掘分 分割事务 割 特 p r e1 1 0 0 控制中断上机全速用于启动下行端口的低速设备的数 殊掘传输 e r rl l o o 所有设备高速由集线器传回,来报告在分割事务 集线时低速或全速的错误 器 s p l i t1 0 0 0 所有主机同上自面放一个令牌信息包,来指示一 个分割事务 p 烈g0 1 0 0 控制w r i t e主机 同上忙中,检查n y e t 后的控制w r i t e 批量输出与批量输出事务 保留 0 0 0 0 保留,将来使用 地址域 地址域( a d d r e s sf i e l d ,简写为a d d r ) 内放的是设备在u s b 系统中的唯一地址 该设备和地址足一一对应的,并由圭机庄枚举阶段分配。地址域由7f l - - 迓币4 数组成, u s bi 帆抑:l 1 0 j :f r j 乏辄1 2 。l j 。母【l 如f 灰所永 表2 5 地址域 l s bm s b 垒里里竖!i 垒里里竺!i 垒里里壁l 垒里里坠!i 垒里竺翌l 垒里里! l 垒里里竺! 显然,由丁二只有7 位二进制数组成,所以u s b 总线上能被正确分配地址的设备最多 2 7 = 1 2 8 个。而地址“0 0 0 0 0 0 0 ”被命名为零地址,足任何一个设备第一次连接到主机, 在被主机配黄、枚举莳缺省的地址,因此零地址被保留。这样,u s b 主机能够被i 别的 设备总数为1 2 8 一l = 1 2 7 个,这也正是u s b 拓扑结构中最大u s b 设备个数为1 2 7 个的 原因。 端点域 端点域( e n d p o i n tf i e l d ,简写e n d p ) ,也叫做端点号。 从硬件的角度看待端点,它其实就是u s b 设备中一系列实际的物理数据缓冲区,发 送和接收的数据都存储在这里。一个设备可以有多种传输方式来与主机进行数据通讯, 每一种传输中部可以有特定的端点。从设备端束说,端点一般都直接由u s b 接口芯片柬 提供。功能较强的芯片都会提供多个具有一定容量的端点,每一次u s b 的数据传输都是 在某一个特定的端点和主机之间进行的。所以,端点号也足每一次数掘传输非常重要的 参数。 端点域的结构如下表所示 表2 6 端点域 由上表可以看出,端点域由4 位组成,所以一个u s b 设备最多所能拥有的端点数量 为2 4 = 1 6 个。端点0 为默认端点,主要用在控制传输中。其它端点都可以定义为斟端 点或足o u t 端点。一般的u s b 接1 3 芯片本身已经确定了端点的数量,编号和属性,用 户只能按照既定的端点来进行编程。 帧号域 帧写域( f r a m ef i e l d ,简写为f r a m ) 中的帧足时j 概念。u s b 协议中,l 帧即l m s 。 在u s b 总线上,l 帧是一个独立的单元,包含了一系列总线的动作。u s b 将这一帧分为 立f 几份,每份中是一个u s b 的传输动作。每一个帧都有特定的帧号,帧弓连续增加, 帧弓城由l l 位二进制数组成,如下表所示 讯20l s b j j 以i 。:i f r 表2 - 7 帧号域 l s b f r a m of r a m lf r a m 2f r a m 3f r a m 4f r a m 5f r a m 6f r a m 7 m s b f 兕气m 8f r a m 9 f f r a m i o 帧号只能在帧起始包中传送,帧号在同步传输中有重要意义 数据域 数掘域( d a t af i e l d ,简写d a l 隗) 中的数掘长度为0 1 0 2 3 字节,在不同的传输类 型中,数掘域的长度各不相同,但必须为整数个字节的数据。 表2 - 8 数据域 第n l 字节 第n 字节 第n + l 字节 校验域 循环冗余校验域( c y c l i cr e d u n d a n c yc h e c k s ,简写为c r c ) 简称为校验域。c r c 主 要是用来对令牌包和数据包中非p i e ) 域进行校验用的( p d 域可以通过其自身的反码束 校验) 。对于令牌包,u s b 采用5 位的c r c 校验法,故校验域为5 位二进制数,简写 c r c 5 ,产生公式足g t x ) = x 5 + x 2 + l 。接收方对令牌包进行校验时,如数据无误,则 最后校验留下来的数掘应为“0 1 1 0 0 ”。对于数据包,则采用1 6 位的c r c 校验,故校验 域达到1 6 位二进制数,简写c r

温馨提示

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

评论

0/150

提交评论