(计算机应用技术专业论文)usb+host在嵌入式系统中的应用研究.pdf_第1页
(计算机应用技术专业论文)usb+host在嵌入式系统中的应用研究.pdf_第2页
(计算机应用技术专业论文)usb+host在嵌入式系统中的应用研究.pdf_第3页
(计算机应用技术专业论文)usb+host在嵌入式系统中的应用研究.pdf_第4页
(计算机应用技术专业论文)usb+host在嵌入式系统中的应用研究.pdf_第5页
已阅读5页,还剩70页未读 继续免费阅读

(计算机应用技术专业论文)usb+host在嵌入式系统中的应用研究.pdf.pdf 免费下载

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

文档简介

江苏大学硕士研究生毕业论文 摘要 u s b ( 通用串行总线) 于1 9 9 5 年面世,目前已发展成为一种解决个 人计算机与外设连接问题的事实标准。由于u s b 的应用极为广泛, 因此对嵌入式系统的总线外部扩展与连接应用来说,它也有着巨大 的吸引力。 但目前在嵌入式系统中u s b 通常作为s l a v e ( 从端、外设) 模式, 即嵌入式设备作为外设,与p c 机相连。然而对能够扮演u s bh o s t ( 主 端) 角色的u s b 主控装置的需求,在移动装置迅速流行的推动下也在 不断增长。 本文设计并实现了基于u s bh o s t 接口芯片s l 8 1 i h s ,可以与优盘 进行通信的通用u s bh o s t 嵌入式系统模块( u s bh o s td e m o ) ,并成 功的应用在了数码相机系统中。 这种模块实现了u s bh o s t 在嵌入式系统中的应用,从而使得嵌 入式设备能够脱离p c ,直接与传统的u s b 外设进行通信。在方案中 选用了常用的利于调试的5 l 单片机作为假想嵌入式系统的核心 m c u ,设计并验证了整个模块;采用中断任务调度机制设计软件系统, 并设计了一套a p i ,使得整个模块的通用性提高,能方便的移植到不 同处理器的嵌入式系统中,应用到不同的场合;并且在实际应用中 使得数码相机能直接读写优盘,间接提高存储容量,为数码相机充 分提升数码相机的便携性,使得厂家能降低生产成本同时方便用户 江苏大学硕士研究生毕业论文 的使用,在一定程度上解决了困扰了生产厂家和用户的存储介质及 容量的选择问题。 论文主要工作集中在u s b 协议的研究、u s bh o s t 嵌入式模块的软 硬件设计、在数码相机系统中的应用方案设计上。具体工作如下: ( 1 ) 对u s b i 1 协议的研究,并重点研究了主机协议部分以及支 持优盘所用的m a s ss t o r a g e 类协议。 ( 2 ) 研究了u s bh o s t 接口芯片s l 8 1 i h s 的特点,设计了u s bh o s t 嵌入式系统,并实现了一个针对与优盘通信的通用u s bh o s t 嵌入式 模块( 具体为制作了u s bh o s td e m o 板) 。在u s bh o s td e m o 板上实 现了对u s b 设备的枚举、配置和支持m a s ss t o r a g e 类的u s b b u l ki n , b u l ko u t 传输,并采用了中断任务调度机制设计了软件,生成了一 套a p i ,有利于整个模块应用于不同处理器的嵌入式系统。 ( 3 ) 作为整个模块的应用实例,在一个数码相机系统上移植了 u s bh o s t 系统,并通过了样机测试。 关键词:u s bh o s t ,嵌入式系统,m a s ss t o r a g ec l a s s ,s l 8 1 i h s 江苏大学硕士研究生毕业论文 a b s t r a c t u s b ( u n i v e r s a ls e r i a lb u s ) c a m ef o r t hi n1 9 9 5 ,a n dh a v eb e c o m ea s t a n d a r ds o l u t i o ni ne s t a b l i s h i n gt h el i n kb e t w e e np ca n dp e r i p h e r a l e q u i p m e n t s b e c a u s eo fe x t r e m e l ye x t e n s i v ea p p l i c a t i o no fi t ,u s bi s a t t r a c t e dt oa p p l yi ne m b e d d e ds y s t e mf o re x p a n d i n gt h es y s t e mb u st o l i n kw i t ht h ep e r i p h e r a le q u i p m e n t s b u ti nm o s ta p p l i c a t i o n s ,u s be q u i p m e n t sa r eu s e di nt h es l a v e ( p e 订p h e m l ) m o d e ,l i n k e dt ot h ep ca st h ep e r i p h e r a le q u i p m e n t a n di t a l s on e e du s be q u i p m e n t st ow o r ki nt h eh o s tm o d ew i t ht h eh a n d - i n d e v i c e s d e v e l o p m e n t s ot h es c h e m et or e a l i z et h ee m b e d d e ds y s t e mb a s e do ns l 8 11 h s , w h i c hc a nc o m m u n i c a t ew i t ht h ef l a s hd i s ki sr e s e a r c h e d ,a n di th a sb e e n a p p l i e dt oad i g i t a lc a m e r as y s t e ms u c c e s s f u l l y t h i s k i n do fs o l u t i o nr e a l i z et h ea p p l i c a t i o n o fu s bh o s ti n e m b e d d e ds y s t e mw i t h o u tp c ,a n di nd i g i t a lc a m e r aa p p l i c a t i o n ,i t m a k e st h ec a m e r at or e a da n dw r i t et h ef l a s hd i s kd i r e c t l y s oi te n l a r g e s t h em e m o r yc a p a c i t ya n da l s oi m p r o v e st h ef a c i l i t y t h ef a c t o r yc a n l o w e ri t sc o s ta n dt h eu s e rc a nu s et h ec a m e r ae a s i l y i naw a yt h i s s o l u t i o na l s os o l v e st h ep r o b l e mt h a tw h i c hk i n do fm e m o r yi sc h o s et o l 】s e 江苏大学硕士研究生毕业论文 t h i st h e s i sm o s t l ye x p a t i a t et h ea n a l y s eo fu s bs p e c i f i c 1 1 ,t h e d e s i g no fh a r d w a r ea n ds o f t w a r eo ft h eu s bh o s td e m o ,t h ea p p l i c a t i o n i nt h ed i g i t a lc a m e r a t h ed e t a i l sa r ed i s c u s s e da sb e l o w : ( 1 ) a n a l y s eu s bs p e c i f i c1 1 ,p a r s et h eh o s tp a r to f u s ba n du s b m a s ss t o r a g ec l a s s ( 2 ) p a r s et h eu s bh o s tc o n t r o l l e rs l 8 11 h s ,d e s i g nt h eu s bh o s t d e m o ;r e a l i z et h ee n u m e r a t i o n ,c o n f i g u r a t i o no fu s bd e v i c e ,f i n i s ht h e u s bb u l ki na n db u l ko u tt r a n s f e rw h i c hs u p p o r t st h em a s ss t o r a g e c l a s s ;u s et h ei n t e r r u p ts e r v i c ep r o g r a mt oc o n v e n i e n tf o ra p p l y i n gi n d i f f e r e n ts y s t e mw i t hd i f f e r e n tp r o c e s s o r s ( 3 ) d e s i g na na p p l i c a t i o nu s e di nd i g i t a lc a m e r aa n dt h es a m p l e c a m e r ap a s s e dt h et e s t k e yw o r d s - u s bh o s t ,e m b e d d e ds y s t e m ,m a s ss m r a g ec l a s s , s l 8 1 1 h s 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保 留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借 阅。本人授权江苏大学可以将本学位论文的全部内容或部分内容编入有关数据库 进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。 本学位论文属于 保密口,在年解密后适用本授权书。 不保碰才 。 学位论文作者签名:1 ,1 、似 指导教师签名: 如。岁年6 月6 日 降啄 ) t o r 年易月6 日 本人郑重声明:所呈交的学位论文,是本人在导师的指导下,独 立进行研究工作所取得的成果。除文中已经注明引用的内容以 外,本论文不包含任何其他个人或集体已经发表或撰写过的作品 成果。对本文的研究做出重要贡献的个人和集体,均已在文中以 明确方式标明。本人完全意识到本声明的法律结果由本人承担。 学位论文作者签名:1 1 、7 b 日期:沙莎年占月占日 江苏大学硕士研究生毕业论文 l i 课题研究的背景 第一章绪论 i i 1u s b 的诞生和发展 从2 0 世纪9 0 年代以来,有许多新的总线接口协议问世,其中最成功的是 以i n t e l 为首的七家公司( i n t e l 、c o m p a q 、m i c r o s o f t 、i b m 、d e c 、n o r t h e r n t e l e c o m 以及日本n e c ) “1 于1 9 9 4 年1 1 月推出的u s b 协议规范第一个草案和美 国电气及电子工程师协会( i e e e ) 推出的i e e e l 3 9 4 总线协议。 i e e e l 3 9 4 的主要特点是高速,但是它的成本比较高。目前只用于一些专用 系统和打印机、扫描仪等数据传输要求较高的设备,而不能普遍用于如鼠标、 键盘等低价位、速度要求不高的设备。所以,i e e e l 3 9 4 更适合于应用在许多专 业领域。 u s b 可把多达1 2 7 个外部设备连到用户的系统上,通过协议来共享o s b 的 带宽,其1 2 m b p s 的带宽对于鼠标等中,低速外部设备已经足够了。而在2 0 0 0 年发布的u s b 2 0 版本中,u s b 的带宽已经被提升到4 8 0 m b p s 。u s b 支持即插即 用( p l u ga n dp l a y ) ,即允许外设在主机和其它外设工作时进行连接、配置、 使用和删除。应用u s b 总线规范,可以清除p c 上过多的i o 接口,而仅以一个 串行接口取代,使得p c 与外部设备之间的连接交得更加容易。 自从1 9 9 6 年2 月u s b i 0 版本发布后短短几年内,u s b 不仅成为了p c 主板 上的标准接口,而且成为了所有p c 外部设备如键盘、鼠标、显示器、打印机、 数码相机、扫描仪和游戏手柄等与p c 相连的标准协议之一,迅速占领了计算机 中、低速外部设备的市场,大有取代串口和并口之势。使用u s b 接口的设备正 在以惊人的速度发展。2 0 0 3 年生产的p c 几乎都有u s b 接口,最新的p c 还有u s b 集线器( h u b ) 和4 6 个u s b 接口。最新推出的u s b 2 0 版本,其速度比u s b i 0 和1 。1 版本快将近4 0 倍,达到4 8 0 m b p s ,使u s b 推广到硬盘、调制解调器、信 息家电网络产品和其他快速外部设备成为了可能。 i i 2u s b 主机嵌入式化的必要性和迫切性 移动数据的交换和存储,是近年来i t 行业的热点。如今,各式各样的移动 存储设备有如雨后春笋般出现。从最早的存储量为几千字节、能存储用户个人 信息的u s b 小钥匙,到容量可与p c 硬盘媲美的u s b 活动硬盘,再到以f l a s h 作 为存储介质的真正能够“移动”起来的u s b 闪存盘,以及大量的p c 外设和多媒 江苏大学硕士研究生毕业论文 体家电中使用的数据存储器可见,数据交换的可移动性和便捷性是整个数 字化时代大厦的根基。移动数据交换刺激了i t 业的发展,便利了人们的生活。 与此同时,还应注意到这样一个问题:移动数据交换业是伴随着u s b 的成 熟而兴起的,u s b 既是数据交换的媒介,又是其核心。可以这样说,没有u s b , 就不会有移动数据业务如此迅猛的发展。 随着u s b 应用领域的逐渐扩大,人们对于u s b 的期望也越来越高,希望u s b 能应用在各种计算机领域中,尤其是在移动数据领域中,希望能通过p d a 等移 动设备来直接与u s b 外设通信,使得u s b 能应用在没有p c 的领域中。 而非p c 应用领域正是u s b 一个致命的弱点。在u s b 的拓扑机构中居于核心 地位的是主机( h o s t ) ,任何一次u s b 的数据传输都必须由主机来发起和控制, 所有u s b 设备都只能和主机建立连接,任何两个外设之间或是两个主机之间无 法直接通信。而目前,大量扮演主机角色的是个人电脑p c 。因此,目前所买到 和使用的u s b 移动设备,都是u s b 的设备,比如u s b 的移动硬盘,u s b 接口的 数码相机等等。所有这些设备都只能在p c 上使用,只能通过p c 来进行相互的 文件和数据交换。没有了p c ,这些设备就“失灵”了( 就数据交换的功能而言) 。 因此,“如何将u s b 应用到嵌入式领域? 如何实现u s b 点对点的通信? ” 等问题,开始进入了u s b 开发者的讨论议程。正是在这种新的需求下,u s b 主 机的嵌入式应用成了u s b 领域新的兴奋点。 1 2 课题研究的内容和意义 本课题为导师和作者商讨以后自拟,旨在跟踪国内外技术的发展动态,掌 握u s b 技术的发展趋势,并设计了一个具有一定实用价值的嵌入式u s b 主机系 统模块,制作了d e m o 板验证了模块功能,并应用于数码相机系统中。 作为嵌入式系统的代表的d c ( 数码相机) ,其存储介质及容量的选择一直是 困扰生产厂家和用户的问题。c f 卡、s d 卡、x d 卡,m e m o r ys t i c k 价格一直高 据不下,同时较小的容量也给用户拍摄带来了不便。目前,s l a v e 模式下的u s b 接口已成为d c 的标配。在此基础上进一步开发支持h o s t 模式的u s b 接口,使 得d c 能支持直接与u 盘的通信,间接提高存储容量,充分提升d c 的便携性, 使得厂家能降低生产成本同时方便用户的使用。 从2 0 0 3 年1 1 月进入课题开始,作者以“u s bh o s t 在嵌入式系统中的应用 研究”为题,开始进行硕士论文准备工作。在导师的悉心指导下,确定了课题 研究的主要内容,在一年多的时间里,作者完成了以下工作: 阅读并分析了大量有关u s b 技术的资料及相关学术论文,对u s b 技术的协 议、特点进行详细的讨论和分析,熟悉u s b 数据通信结构,着重研究了u s bh o s t 江苏大学硕士研究生毕业论文 技术以及支持优盘操作的m a s ss t o r a g e 类,并在此基础上规划u s b 主机系统 的软硬件。 查阅了大量芯片资料,完成了系统芯片的选型,设计了原理图级的u s b h o s t 方案,构建u s bh o s t 的硬件平台打下基础。 选择核心c p u 和u s b 接口芯片,建立u s bh o s t 的硬件连接,制作嵌入式 u s bh o s td e m o 评估板。 软件实现嵌入式系统在h o s t 端对u s b 的支持( 具体在本设计中即u s bh o s t d e m o 评估板能实现对m a s ss t o r a g e 传输的支持,可读写优盘) 。 将u s b 主机模块应用于数码相机系统,制作样机,通过测试。 1 3 本文的创新点 本文的主要创新在于: ( 1 ) 基于u s b 主机控制接口芯片s l 8 1 1 h s ,设计了一套u s bh o s t 嵌入式 系统模块,使得传统意义上作为s l a v e 端的嵌入式设备具有了h o s t 端的功能。 该系统支持u s bm a s ss t o r a g e 类,并实现了控制传输和批量传输,从而实现了 与优盘的通信。 ( 2 ) 硬件上主处理器采用较常用的5 1 系列,软件框架上没有采用较流行 的嵌入式操作系统,而采用中断任务调度机制,这些使得该系统在应用于其它 嵌入式系统中比较方便,具有很高的参考价值。 ( 3 ) 将u s bh o s t 模块移植到数码相机系统中,实现了数码相机与优盘的 通信,使得传统的数码相机跨越了要通过p c 这一媒介来与优盘通信的障碍。 本课题尝试在嵌入式系统中实现u s b 主机的功能,对嵌入式系统的研究具 有一定的理论价值。同时,本课题的研究内容有很强的实用性,有着广阔的应 有一定的理论价值。同时,本课题的研究内容有很强的实用性,有着广阔的应 用前景。 江苏大学硕士研究生毕业论文 第二章u s b 协议研究 2 1u s b 体系结构概述 u s b 是一种电缆总线,支持在主机和各式各样的即插即用的外设之间进行 数据传输。由主机预定的标准的协议使各种设备分享u s b 带宽,当其它设备和 主机在运行时,总线允许添加、设置、使用以及拆除外设。 一个i j s b 系统主要被定义为三个部分: u s b 的互连 u s b 的设备 u s b 的主机 2 1 1u s b 拓扑结构 u s b 连接了u s b 设备和u s b 主机,u s b 的物理连接是有层次性的星型结构。 每个网络集线器是在星型的中心,每条线段是点点连接。从主机到集线器或其 功能部件,或从集线器到集线器或功能部件,从图2 - 1 。1 中可看出u s b 的拓扑结 构。 图2 - 1 总线的拓扑结构 3 t i e r 4 2 1 2u s b 的主机 在任何u s b 系统中,只有一个主机。u s b 和主机系统的接口称作主机控制 器,主机控制器可由硬件、固件和软件综合实现。根集线器是由主机系统整合 的,用以提供更多的连接点。 2 1 3u s b 的设备 江苏大学硕士研究生毕业论文 u s b 的设备分为: 网络集线器( h u b ) ,向u s b 提供了更多的连接点 功能器件:即设备,或称为外设,为系统提供具体功能,如i s d n 的连 接,数字的游戏杆或扬声器。 2 2u s b 的机械和电气特性 2 2 1u s b 接插件 通过分析u s b 系统的体系拓扑结构图可知,任何两个u s b 组件之间的连接 ( 比如u s b 主机与设备的连接、u s b 主机与h u b 的连接或者u s bh u b 与设备的 连接) 都是双向的,这种双向性非常重要,因为它体现了u s b 的星型结构拓扑。 这种双向性即包括拓扑结构中从上而下的方向和从下而上的方向2 种。 为了能从连接件上区分这种双向性,使得u s b 的使用者和开发者能够方便、 直观的分辨出u s b 拓扑结构中上、下层的设备,u s b 制定了2 种类型的接插件。1 , 即a 型接插件和b 型接插件。 a 型插头位于u s b 电缆的一端。从方向上来说,它上行指向并连接到主机 系统,来自于u s b 设备。a 型插座位于u s b 主机或者是u s bh u b 上,用于为下 层的设备提供连接点。由此,可以得出这样一个简单的结论:如果一个u s b 的 硬件系统只带有a 型u s b 插座,那么肯定是u s b 主机;而u s b 主机和u s bh u b 则肯定带有a 型插座。a 型插座是u s b 主机或u s bh u b 提供给下层设备的接口。 b 型插头位于u s b 电缆的一端。与a 型插头相反,从方向上来说,b 型插 头指向并连接到下层设备,来自于主机或u s bh u b 。b 型插座位于u s b 设备或 h u b 上。由此,可以得出这样一个结论:如果一个u s b 的硬件系统只带有b 型 插座,那么它肯定是u s b 设备;而u s b 设备和h u b 则一定带有b 型插座。 2 2 2u s b 电缆 v b u s d + d 。 g n d 图2 - 2u s b 的电缆 v b u s d + d g n d 江苏大学硕士研究生毕业论文 标准的u s b 电缆“1 由三部分组成:a 型插头、b 型插头和电流线。关于这些 接插件的尺寸,协议中都有严格规定,因此,世界上任何一家公司生产的u s b 电缆都是同一个规格的,这为u s b 产品的通用性奠定了基础。在1 2 m b p s 全速模 式下使用带屏蔽和双绞的电缆线,而1 5 m b p s 低速模式则不需要带屏蔽和双绞。 此外,低速电缆线总长不得超过3 m 。全速电缆线总长上限为5 m 。u s b 电缆采用 的是4 线结构,如图2 - 2 ,电源线为v b u s 和g n d 2 根,差模信号数据线为d + 和 d 一2 根。 u s b 电缆的4 根线在u s b 中有固定不变的数字编号以及不同的颜色。这为 电缆线的识别和使用提供了方便。表2 - 1 列出了这些数字和颜色。这些数字与 p c b 尺寸中标注的编号也是一致的。 表2 - 1u s b 电缆线数字编号与颜色 编号信号典型电缆线颜色 1v b u s 红色 2d - 白色 3d + 绿色 4g n d 黑色 2 2 3 u s b 的侠电模式 u s b 设备和h u b 采用z 种供电模式,即自供电( s e l f - p o w e r e d ) 和总线供 电( b u s p o w e r e d ) 。所谓自供电,是指u s b 设备或h u b 能够自己提供电源,而 无需从v b u s 上提取电流,这样做的好处是该设备在工作时功率不必受u s b 协议 的限制,可以根据自身电源的能力任意提取电流:但局限性也是显而易见的, 该设备必须带有额外的电源设备,增加了体积和成本。而总线供电模式则为耗 电量小的设备提供了一种方便的连接方式,能够完全从u s b 总线的v b u s 获得所 需的电流,但是这样的设备运行时所耗的功率受到u s b 协议的限制,不能无限 制的从总线上取得电流。对于低功率设备,最高只能从上行端口获得l o o m a 的 电流;对于大功率设备,最高只能从上行端口获得5 0 0 m a 的电流。 u s b 供电的工作状态也被分为2 种,即正常工作( n o r m a l ) 状态和挂起 ( s u s p e n d ) 状态。如果总线供电设备在3 m s 内没有总线操作,即u s b 总线处于 空闲状态的话,该设备就需要自动进入挂起状态。这时从总线上提取的电流必 须小于5 0 0 u a 。实际上,5 0 0 u a 的电流中包括了h u b 和主机端1 5 k q 的终端匹配 电阻的电流,这个值通常为2 2 0 u a 。因此,对于总线供电的设备而言,在进入 6 江苏大学硕士研究生毕业论文 挂起状态后,总的电流功耗不超过2 8 0 u a 。由此可见,这个设备的功耗是非常 低的。这便是u s b 低功耗的一个非常重要的特点。 在设备进入挂起状态后,可以通过唤醒( r e s u m e ) 操作来恢复到正常工作 状态。唤醒操作既可由主机发送唤醒或复位信号来触发。也可以由设各自行通 过远程唤醒来实现。处于挂起状态的设备通过发送信号给主机,使得主机恢复 处理其u s b 事务。 2 2 4 即插即用技术的实现 即插即用技术“3 包括2 个技术层面,即热插拔和自动识别配置。热插拔的 关键技术在于电路接插件插、拔期间强电流的处理。u s b 在电缆以及接插件的 设计上充分考虑了这一点,使得这个瞬时的强电流被安全的吸收,从而使u s b 设备实现了热插拔。 即插即用另一个关键技术层面就是系统设备的自动识别。也就是说,主机 系统在没有人工干预的情况下,能够自动检测到设备的接入并能自动配置该设 备,也能够自动检测到设备的拔出,从而释放系统资源。u s b 主要是通过在信 号线上的一些特殊处理来实现这一技术。掌握这部分内容,对于正确的设计u s b 硬件系统是非常重要的。 在u s b 的4 线电缆中传输信号的是d + 和d 一这一对差模信号线,该线上使 用的是+ 3 3 v 的电平,而v b u s 是+ 5 v 。图2 3 、2 4 演示了u s b 设备与主机( 或 h u b ) 的电气连接图。 由图2 3 、2 4 可以看到,u s b 主机或h u b 的下行端口的差模信号线d + 和 d 一上均连接一个下拉电阻,即图中的r p d ,其阻值为1 5 ko 。r p d 一端接d + 或 d 一,另一端接地。这样,当该端口没有连接任何u s b 设备时,d + 和d 一信号线上 的电平都恒为0 。另一方面,看到设备端的d + 和d 一信号线的其中一根线上连接 有上拉电阻,即r p u ,其阻值为i 5 kq 。这里,需要特别注意的是,对于全速 设备,这个上拉电阻r p u 是连接在d + 信号线上的;而对于低速设备,r p u 则是 连接在d 一信号线上的。这也是u s b 主机识别设备速度的一根重要指标。这个上 拉电阻一端连接在信号线上,另一端连接3 3 v 。 前面已经分析,u s b 主机和h u b 的下行端口处于断开状态时,其d 十和d 一信 号线,电平将恒定为0 。当u s b 设备连接到u s b 主机或h u b 下行端口的一瞬间, u s b 设备端信号线上的上拉电阻将通过u s b 电缆线与u s b 主机或h u b 端的下拉 电阻组成分压器,这样会造成u s b 主机或h u b 端信号线电平的上冲。以全速设 备的连接过程来说,由于全速设备的上拉电阻是连接在d + 信号线上的,因此, 当该设备接入时,u s b 主机或h u b 的d + 线将有一个从0 到+ 3 3 v 的上冲过程。 7 江苏大学硕士研究生毕业论文 与此同时,d 一信号线仍将维持电平0 不变。这样,当u s b 主机或h u b 不断检测 其信号线状态时,就能检测到这个上冲过程,当这个上冲过程的有效段持续 2 5 u s 以上的时间,u s b 主机可认定有一个全速u s b 设备接入。同理,低速设备 也有这样一个原理相同的接入过程,所不同的是,发生电平上冲的是d 一信号线, 而d + 信号线则基本维持0 电平不变,与全速设备刚好相反。 k 筐鸟 廿ij k 器 l o 下i 1n z - 口1 1 5 i l j r _ 。, r 一1 5 k i :z 5 h u b 上行端或全速设备 主机h j b 口 台 r “t 5 k n 武啭 图2 3 全速设备电缆和电阻连接 轰 低速u s b 匡砖 hi尤 设备 慢速旋 r 一1 5 k n s 转缓冲 主o 奇 r ,s 船祛h 舯_ 埘踊薅曙一 图2 4 低速设备电缆和电阻连接 需要强调的是,在各种速度模式下,上拉电平+ 3 3 v ,一般需要通过v b u s 转换过来,或者是受v b u s 的控制。这样做的目的是,一方面使u s b 设备在没有 接入到u s b 主机或h u b 之前,其信号线没有电平上拉。另一方面,更重要的是, 当设备连接到主机或h u b ,并处于被枚举的过程中时,有一个主机复位( r e s e t ) 设备的步骤。所谓复位,对于主机来说,包括两个行为,一是设备断开连接( 与 设备拔出相似,主机或h u b 信号线上出现电平回落) ,二是重新检测到设备接 入。这两个过程都是要在设备实际没有拔出的情况下完成,那么,当然能够实 现的方法就是由主机来控制这个+ 3 3 v 的上拉电平。功能较强的u s b 设备接口 芯片,一般都提供这个+ 3 3 v 的上拉电平,当其接收到主机的复位命令后,就 会自动切断这个电平,从而顺利实现复位。另外一种实现的方法,就是直接将 江苏大学硕士研究生毕业论文 v b u s 用电压转换芯片转为+ 3 3 v 。这样,当主机发送复位命令后,+ 3 3 v 也会 随着v b u s 一起被切断。 2 3u s b 数据通信协议 2 3 1u s b 数据通信结构概述 “包”,是u s b 最基本的数据单元8 3 。每一个包,基本上包含了一个完整 的u s b 信息。按照包在整个u s b 数据传输中的作用不同,包可以分为4 类:令 牌包、数据包、握手包和特殊包。这些不同的包,是怎么来区分的呢? 这就需 要把包分解成更小的单元,即“域”。般来说,一个包就是一串连续的= 进 制数,而域就是这些其中的一部分。域又被分为7 类:同步序列域、包标识域、 地址域、端点域、帧号域、数据域和c r c 校验域。 以包为基础,u s b 定义了4 种数据的传输类型:控制传输、中断传输、批 量传输和同步传输。 传输是一种比较笼统的叫法。比如批量传输,顾名思义,这种传输类型就 是用在大量数据的传输中。比如1 m b 的内容,就可以用批量传输来发送。但是 在这整个过程中,并不是通过一次批量传输来完成,而是分为多个数据交换过 程。也就是把数据分为多份,然后一次次的传输,直到所有的数据都发送完毕。 因此,这其中的每一次数据交换叫做“事务”。每种传输方式都由很多个事务 来完成,每一笔事务由底层包组成。 2 3 2 域 同步域 同步序列域( 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 ) ,简称为同步域 同步域用于本地时钟与输入信号的同步,代表一个包的起始。同步域长度 为8 位,最后2 位作为个标志,标明标识域p i d 的开始。同步域的数值固定 为0 0 0 0 0 0 0 1 ,同步域位于每一个包的最开始处。 标识域 包标识域( p a c k e ti d e n t i f i e rf i e l d ,简写为p i d ) ,简称为标识域。 标识域紧跟在同步域之后,作用时标明包的类型和格式,并作为包的错误 检测手段的一种。由于同步域主要由硬件来处理,因此,标识域就是u s b 软件 机制最先收到并处理的包的内容。u s b 主机和设备都要首先对接收到的标识域 进行解码。如果出现错误或是该标识域指明的类型或方向不被支持,那么这个 包就会被忽略。比如,u s b 接口芯片中定义的i n 端点,在接收到o u t 标识域后, 就会把相应的包忽略掉。 江苏大学硕士研究生毕业论文 标识域由4 位标识符和紧跟的4 位标识符的反码组成,总共8 位。标识域 中关键的标志符由4 位二进制数组成,因而,可以计算出,u s b 能够定义的包 的类型总共有1 6 种。在u s b 协议1 1 中,使用了其中的1 0 种,也就是定义了 1 0 种不同类型的包,如表2 2 所列。 表2 - 2 标识域类型 数据包类型 标识域名称标识符值p i d 3 :0 标识域意义 启动一个方向为主机到设备的数 输出( o u t ) 0 0 0 1 据传输,并且包含了设备地址和端 点号 启动一个方向为设备到主机的数 输入( i n ) 1 0 0 1 据传输,并且包含了设备地址和端 令牌包 点号 帧起始( s o f ) 表示一个帧的开始,并且包含了相 0 1 0 l 应的帧号 启动一个方向为通过控制管道进 设置( s f r u p ) 1 1 0 1 行的设置数据传输,并且包含了设 备地址和端点号 数据0 0 0 1 1 偶数据包 c n a t a o ) 数据包 数据l 1 0 1 1 奇数据包 ( d a t a l ) 确认( a c k ) 0 0 1 0 接收到没有错误的数据包 无效( n a k ) 1 0 1 0 接收端无法接收数据或发送端无 握手包 法发送数据 端点被禁止或不支持控制管道请 错误( s t a l l ) 1 1 l o 求 用于启动下行端口的低速设备的 特殊包前导( p r e ) 1 1 0 0 数据传输 地址域 地址域( a d d r e s sf i e l d ,简写为a d d r ) 内存放的是设备在主机上的地址, 具有唯一性,设备和地址是一一对应,并且由主机分配地址。地址域由7 位二 进制数组成,显然,该地址能够表示的最大地址容量为1 2 8 个,而地址0 0 0 00 0 0 0 被命名为零地址,是任何一个设备第一次连接到主机时,在被主机配置、枚举 前缺省的地址,因此零地址被保留。这样,u s b 主机能够识别的设备总数为1 2 8 1 = 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 ) ,也叫做端点号。 1 0 江苏大学硕士研究生毕业论文 从硬件的角度看待端点,它其实就是u s b 中一系列实际的物理数据缓冲区, 发送和接收的数据都存储在这里。一个设备可以有很多种传输方式来与主机进 行数据通信,每一种传输中都可以有特定的端点。从设备端来说,端点一般都 直接由u s b 接口芯片来提供,功能较强的芯片都会提供多个具有一定容量的端 点,开发人员在设计u s b 程序时一个任务就是要合理分配这些端点,而每一次 u s b 的数据传输都是在某一个特定的端点和主机之间进行的。因此,端点号也 是每一次u s b 数据传输非常重要的参数。端点域由4 位二进制数组成,因此, 一个u s b 设备能够拥有的端点容量即为1 6 个。但是,并不是每一种u s b 设备都 能实际拥有1 6 个端点。u s b 协议规定,低速设备设备只能定义两个端点,即端 点0 和端点1 ( 这个0 和l 就是端点号) 。此外,除端点0 以外,任何一个端 点都可以定义为i n 端点或是o u t 端点,因此一个全速设备则能定义3 2 个端点。 很多u s b 接口芯片本身已经确定了端点的数量和属性,用户只能按照既定的端 点进行编程。 帧号域 帧号域( f r a m ef i e l d ,简写为f r w ) 中的帧是时间概念。u s b 协议中,1 帧即l m s 。在u s b 总线上,1 帧是一个独立的单元,包含了一系列总线动作。u s b 将这i 帧分为好几份,每一份中是一个u s b 的传输动作。每一个帧都有特定的 帧号。帧号域由1 l 位二进制数组成,也就上说帧号域的最大容量为2 0 4 8 ( 0 x 8 0 0 ) 个。u s b 规定,每一个帧拥有一个帧号域,帧号连续增加,当帧号增加到0 x 7 f f 后,帧号将自动从0 开始循环增加。帧号只能在帧起始包中传递。帧号在同步 传输中具有重要的意义。 数据域 数据域( d a t af i e l d ,简写为d a t a ) 中的数据长度为0 1 0 2 3 字节,在不 同的传输类型中,数据域的长度各不相同。但是,必须为整数个字节的数据。 校验域 循环冗余校验域( c y c l i cr e d u n d a n c yc h e c k s ,简写为c r c ) ,简称为校 验域。前面已经提到,标识域p i d 可以通过其反码叠加来校验。这里的c r c 则 是用来对令牌包和数据包中非p i d 的域进行校验的一种方法。对于令牌包,u s b 采用5 位的c r c 校验法,简写为c r c 5 。而对于数据包,则采用1 6 位的c r c 校 验法,简写为c r c l 6 。 c r c 校验的一般做法是,发送数据的一方,对所要校验的数据进行一些运 算,把结果作为c r c 本身的值,填入到c r c 域中,然后发送数据。当接收方接 收到数据后,也进行类似的算法,把运算的值与c r c 域的值进行比较,如果一 江苏大学硕士研究生毕业论文 致,表明数据传输中没有出现错误。在很多u s b 接口芯片中,c r c 校验都是由 硬件来完成的。 2 3 3 包 包( p a c k e t ) 是最基本的u s b 的数据单元,由一系列的域组成。如前所述, u s b 中定义了4 种类型的包,即令牌包、数据包、握手包和特殊包。 令牌包 根据标识域p i d 的不同,令牌包( t o k e np a c k e t ) 又可细分为输入包i n 、 输出包o u t 、设置包s e t u p 和帧起始包s o f 。而i n 、0 u t 和s e t u p 这3 种包的结 构是一样的。输入包i n 、输出包o u t 和设置包s e t u p 都包含同步域s y n c 、标识 域p i d 、地址域a d d r 、端点域e n d p 和校验域c r c 5 。其中循环冗余校验c r c 5 是 对地址域a d d r 和端点域e n d p 总共1 1 位数进行的校验。 帧起始包s o f 的机构与i n 、o u t 和s e t u p 包有所不同,其中增加了1 i 位 的帧起始域f r a m ,用于代表帧号。而不包括7 位的地址域a d d r 和4 位的端点 域e n d p 。c r c 5 则是对帧起始域f r a m 的1 1 位数据的校验。帧起始包不是特别针 对某一个设备和端点的传输,是整个u s b 总线动作的一个时间划分。所有的全 速设备,包括u s bh u b 都能接收到帧起始包,但是,由于帧起始包发送后,主 机并不要求设备返回任何应答信息,所以有可能有些设备没有正常接收到这个 包,也就无法得知新的1 帧的开始。不过,这没有关系,如果是对帧的事件没 有要求的设备,完全可以不理会这个包。只需按照主机后来发送来的一系列请 求收发数据就可以了。 数据包 根据p i d 的不同,数据包( d a t ap a c k e t ) 分为d a t a o 和d a t a l 两种包。 两种数据包的数据格式都是一样的,用法也相同。当u s b 发送数据包的时候, 如果一次发送的数据长度大于相应端点的容量的时候,就需要把该数据分成好 几个包,分批发送。如果第一个数据被定义为d a t a o ,那么第二个发送的数据 包就应该是d a t a l 如此交替下去。而数据的接收方在接收数据时检查其类 型是否是d a t a o 、d a t a l 交替的,这是保证数据交换正确的机制之一。 数据包都由同步域s y n c 、标识域p i d 、数据域d a t a 和校验域c r c l 6 组成。 其中数据域为0 1 0 2 3 字节长度,内容就是u s b 上发送的有效数据。这里,循 环冗余校验采用了1 6 位的c r c l 6 ,主要就是针对d a t a 域的数据进行校验。需 要注意的是,数据域d a t a 中的数据必须是整数个字节的。 握手包 江苏大学硕士研究生毕业论文 握手包( h a n d s h a k ep a c k e t ) 是结构最为简单的包。握手包仅由同步域s y n c 和标识域p i d 两个域组成,用于报告数据的传输状态,比如数据是否成功接收, 是否准备好接收或发送数据以及是否出现错误等等。根据p i d 的不同,握手包 可分为3 种类型,即确认包a c k ,无效包n a k 和错误包s t a l l 。这3 种包的意义 如下: 确认包a c k :用于表示数据包被成功接收,具体说就是 ( 1 ) 标识域p i d 被正确接收; ( 2 ) 并且没有发生数据位错误; ( 3 ) 没有发生数据域的c r c 校验错误等。 根据确认包a c k 的这种意义,可知其一般由接收到数据的一方发出。比如 发出了i n 事务的主机,当其接收到数据后就会发送a c k ;再比如,接到o u t 和 s e t u p 事务的设备,都会接收到主机发送来的数据。因此,在接收完这些数据 后也会发送a c k 。主机和设备都可以发送a c k 。 无效包n a k :主要用于2 种场合: ( 1 ) 在接收主机发来的o u t 命令后,设备无法接收数据; ( 2 ) 接到主机的i n 命令,但是设备没有数据发送给主机: 在这2 种情况下,n a k 都是由设备发送的。因此,可以得出这样一个结论: n a k 只能由设备发送,而不能由主机发送。 错误包s t a l l :主要用于3 种场合: ( 1 ) 设备无法发送数据; ( 2 ) 设备无法接收数据; ( 3 ) 不支持某一种控制管道的命令 同无效包一样,s t a l l 也只能是有设备来发送,而不能由主机发送。n a k 是 u s b 的一种暂时状态,当设备处于“忙”

温馨提示

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

评论

0/150

提交评论