(电路与系统专业论文)手持移动终端中usb+otg功能的研究和实现.pdf_第1页
(电路与系统专业论文)手持移动终端中usb+otg功能的研究和实现.pdf_第2页
(电路与系统专业论文)手持移动终端中usb+otg功能的研究和实现.pdf_第3页
(电路与系统专业论文)手持移动终端中usb+otg功能的研究和实现.pdf_第4页
(电路与系统专业论文)手持移动终端中usb+otg功能的研究和实现.pdf_第5页
已阅读5页,还剩47页未读 继续免费阅读

(电路与系统专业论文)手持移动终端中usb+otg功能的研究和实现.pdf.pdf 免费下载

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

文档简介

东南大学硕士论文 摘要 u s b 自1 9 9 4 年提出至今已经发展成为p c 的标准外设接口。目前m p 3 播放器、数码相机, p d a 、手机等众多手持终端产品都具备u s b 接口,但在u s b 的拓扑结构中居于核心地位的是主机 ( h o s t ) ,u s b 的数据传输都发生在主机和从机( d e v i c e ) 之间,任何两个从机之间或是两个主机之 间无法直接通信。因此它们只能作为p c 外设实现与p c 的数据传输,而不能实现它们之间点对点 的通信。随着移动终端的普及,不使用p c ,直接在移动终端间进行连接的需求越来越多,u s b o n - t h e - g o ( u s bo t g ) 的扩展标准正是为了满足这一需求而提出的。u s bo t g 具有以下特性能使移 动终端之间实现互连: 限定主机功能 超小连接器 低功耗特性 u s bo t g 扩展了便携式设备之间的连通性,限定了主机( h o s t ) 功能,在传统的u s b 外设上增 加了主机的功能,适应点对点的连接。o t g 设备目前有两种:双角色o t g 设备( d u a l b o l e d e v i c e ) 和外设式o t g 设备( p e r i p h e r a l - o n l yd e v i c e ) 。外设式o t g 设备是传统的u s b 外设。而双角色o t g 设备既可作为主机,也可作为外设。作为主机的双角色o t g 设备不需要支持所有的u s b 外设, 但当它与p c 相连时,就只能作为外设使用。u s b o t g 与u s b 标准相比新增了主机流通协议h n p ( h o s t n e g o t i a t i o np r o t o c 0 1 ) 和事务请求协议s r p ( s e s s i o nr e q u e s tp r o t o c 0 1 ) 。h n p 用于实现主机和 从机角色转换,s r p 用于从机对事务的请求。 本课题的主要目的是研究如何在嵌入式掌上电脑中实现u s bo t g 功能。硬件平台是一个以 i n t e lx s c a l ep x a 2 5 5 处理器为核心,集成了众多外围电路模块的掌上电脑系统。软件平台是 m i c r o s o f tw i n d o w sc e n e t4 2 操作系统。u s bo t g 控制芯片选用的是飞利浦公司的i s p l 3 6 2 。 这是一款集成了o t g 控制器、主机控制器和外设控制器的控制芯片。该课题主要包含硬件电路设 计和驱动软件设计,重点和难点在于驱动软件的设计。u s bo t g 驱动软件主要分为三部分,主机 驱动,从机驱动和o t g 驱动。m i c r o s o f tw i n d o w sc e n e t4 2 操作系统对主机驱动已经有了相应 的支持,主要是完成硬件抽象层的设计以及和o t g 驱动的接口设计。从机驱动主要实现的是u s b 存储类设备功能以及和o t g 驱动的接口。该软件的重点是o t g 驱动的设计,主要包括与主机驱动 和从机驱动的接口设计,o t g 状态机的实现。 本论文首先对u s b 协议以及o t g 做了简单介绍。然后重点阐述了具体的设计实现,包括硬 件和软件的具体实现。 关键词:u s bo t gi s p l 3 6 2 移动终端 东南大学硕士论文 a b s t r a c t s i n c ea n n o u n c e di i l1 9 9 4 ,u s bi sb e c o m i n gt h es t a n d a r df o rc o n n e c t i n gp c r i p h e r a l st op c sa n d l a p t o p s m a n yo fp o r t a b l ed e v i c e sh a v eu s bi n t e r f a c e 。f 研e x a m p l em p 3 ,d i g i t a lc a m e r a , p d a ,m o b i l e p h o n ec t c b u ti nt h eu s bt o p o l o g ys t r u c t u r e t h eh o s ti so nc o r es t a t i o n u s bc o m m u n i c a t i o nc a l lo n l y t a k ep l a c eb e t w e e nah o s ta n dad e v i c e a n yt w oh o s t so rd e v i c e sc a r l tc o m m u n i c a t ed i r e c t l y a st h e s e p o r t a b l ed e v i c e si n c r e a s ei np o p u l a r i t y , t h e r ei sag r o w i n gn e e df o rt h e mt oc o m m u n i c a t ed i r e c t l yw i t h e a c ho t h e rw h e nap ci sn o ta v a i l a b l e 1 1 l eo n - t h e - g os u p p l e m e n ta d d r e s s e st h i sn e e df o rm o b i l e i n t e r c o n n e e t i v i t yb ya l l o w i n gau s bp e r i p h e r a lt oh a v et h ef o l l o w i n ge n h a n c e m e n t s : l i m i t e dh o s tc a p a b i l i t yt oc o m m u n i c a t ew i t hs e l e c t e do t h e ru s bp e r i p h e r a l s as m a l lu s bc o n n e c t o rt of i tt h em o b i l ef o r mf a c t o r l o wp o w e rf e a t u r e st op r e s e r v eb a t t e r yl i f e u s bo t ge x p a n d sc o n n e e t i v i t yb e t w e e nt h ep o r t a b l ee q u i p m e n t , 1 i m i t st h eh o s tf u n c t i o n ,a d d s h o s tf u n c t i o no nt r a d i t i o n a lu s bp e r i p h e r a l s a d a p tt h ep o i n t - t o - p o i n tc o n n e c t i o n n 陀o t ge q u i p m e n t h a st w ok i n d sa tp r e s e n t :1 1 i ed o u h i er o l eo t gd e v i c e f d u a l - r o l ed e v i c e ) a n dp e r i p h e r a l d e v i c e ( p e r i p h e r a l - o n l yd e v i c e ) p e r i p h e r a l - o n l yd e v i c ei st r a d i t i o n a lu s bp e a p h e r a l d u a l - r o l e d e v i c ec a l la c ta sah o s to rap e a p h e r a l v h e ui ta c ta sah o s t , i td o e s n tn e e dt os u p p o r ta 1 1u s b p e r i p h e r a l w h e ni tc o n n e c t sw i t hp c ,i to n l ya c t a sap e r i p h e r a l u s bo t ga d dh o s tn e g o t i a t i o n p r o t o c o l ( h n p ) a n ds e s s i o nr e q u e s tp r o t o c o l ( s r p ) h n pc a nb eu s e di nc o m p l e t i n gt h et r a n s f o r m i n g b e t w e e nh o s ta n dd e v i c e s r pc a n b eu s e di ns e s s i o nr e q u e s t i n g h o wt or e a l i z et h eu s bo t gf u n e t i o ni nt h ee m b e d e dp a l mc o m p u t e ri st h em a i ng o a lo ft h et a s k t h eh a r d w a r ep l a t f o r mi sap a l mc o m p u t e rw h i c ht a k e si n t e lx a l et h ep x a 2 5 5p l o c z s s o ra sac o r e a n di n t e g r a t e sm u l t i t u d i n o u sd e r i p h c r ye l e e t r i cc i r c u i tm o d u l eo ni t 1 1 忙s o f t w a r ep l a t f o r mi sm i e r o s o f t w i n d o w sc e n e t4 2o p e r a t i n gs y s t e m s u s bo t gc o n t r o lc h i pi sp h i l l i p sc o r p o r a t i o n si s p l 3 6 2 w h i c hi n t e g r a t e st h eo t gc o n t r o l l e r , t h eh o s tc o n t r o l l e ra n dd e v i c ec o n t r o l l e r t h i st a s km a i n l yc o n t a i 嬲 t h eh a r d w a r ec i r c u i td e s i g na n dt h es o f t w a r ed r i v e rd e s i g n k e ya n dt h ed i f f i c u l t yl i e si nt h es o f t w a r e d r i v e rd e s i g n t h es o f t w a r ed r i v e rm a i n l yd i v i d e si n t ot h r e ep a r t s ,t h eh o s td r i v e ,d e v i c ed r i v e ra n d0 t g d r i v e r m i c r o s o f tw i n d o w sc e t h en e t4 2o p e r a t i n gs y s t e m sa l r e a d yh a v et h ec o r r e s p o n d i n gs u p p o r t f o rh o s td r i v e r s ot h em a i nw o r ki sh a r d w a r ea b s t r a c f i o nl a y e rd e s i g na n dt h eo t gi n t e r f a c ed e s i g n f r o md e v i c ed r i v e rm a i nr e a l i z a t i o ni st h eu s bm a s ss t o r a g ec l a s sf u n o t i o na sw e l la st h eo t g i n t e r r a c e t h i ss o f t w a r ed r i v e rk e yp o i n ti st h eo t gd r i v e r , m a i n l yi n c l u d e sw i t ht l l ei n t e r f a c ot oh o s td r i v e ra n d d e v i c ed r i v e ra n dt h er e a l i z a t i o no fo t gs t a t em a c h i n e t h ep r e s e n tp a p e rf i r s th a sm a d et l l es i m p l ei n t r o d u c t i o nt ot h eu s bp r o t o c o la sw e l ia so t q n e ne l a b o r a t e dt h ec o n c r e t ed e s i g nr e a l i z a t i o n i n c l u d e sh a r d w a r ea n ds o f t w a r ec o n c r e t er e a l i z a t i o n k e yw o r d s :u s bo t g i s p l 3 6 2p o r t a b l ed e v i c e 学位论文独创性声明 本人声明:所呈交的学位论文是我个人在导师指导下进行的研究工作及取得的研究成果。尽我所 知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果, 也不包含为获得东南大学或其他教育机构的学位或证书而使用过的材料。与我一同工作的同志对 本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢意。 关于学位论文使用授权的说明 东南大学、中国科学技术信息研究所、国家图书馆有权保留本人所送交的学位论文的复印件和电 子文档,可以采用影印、缩印或其他复制手段保存论文。本人电子文档的内容和纸质论文的内容 相一致。除在保密期内的保密论文外,允许论文被查询和借阅,可以公布( 包括刊登) 论文的全 部或部分内容。论文的公布( 包括刊登) 授权东南大学研究生院办理。 圈 第一章绪论 1 1 研究背景 第一章绪论 u s b ( u n i v e r s a ls e r i a lb u s ,通用串行总线) 是外围设备与计算机进行连接的新型接口,其最早 是由c o m p a q 、d i g i t a le q u i p m e n t 、m m 、i n t e l 、m i e r s o f t 、n e c 和n o r t h e r nt e l e c o m7 家公司于1 9 9 4 年1 1 月共同提出的,目的是简化外设的连接过程,使p c 机接1 3 的扩展变得更加容易。总的来说, u s b 具有即插即用、热插拔、接口体积小、节省系统资源、传输可靠、提供电源、良好的兼容性、 共享式通信和低成本等优点,是计算机外设连接技术的重大变革。 随着高速u s b 集线器、数码相机、扫描仪、视频会议摄像机、大容量数字存储设备等具有 多媒体技术的新型设备的不断涌现,2 0 0 0 年4 月2 7 日,c o m p a q 、h e w l e t t - p a c k a r d 、n e c 、i n t e l 、 l u c e n t 、m i c r s o f t 和p h i l i p s7 家公司共同发布u s b 2 0 版本,其传输速率提高到4 8 0 m b s 。现在u s b 支持3 种传输速率:低速( 1 5 m b s ) 、全速( 1 2 m b s ) 和高速( 4 8 0 m b s ) ,4 种传输类型:快传输、 同步传输、中断传输和控制传输。随着u s b 2 0 版本的发布,u s b 越来越流行,目前它已经成为一 种标准接口。 目前m p 3 播放器、数码相机、p d a 、手机等众多手持终端产品都具备u s b 接口,但在u s b 的拓扑结构中居于核心地位的是主机( h o s t ) ,u s b 的数据传输都发生在主机和从机( d e v i c e ) 之间, 任何两个从机之间或是两个主机之间无法直接通信。田此它们只能作为p c 外设实现与p c 的数据 传输,而不能实现它们之间点对点的通信。随着移动终端的普及,不使用p c ,直接在移动终端间 进行连接的需求越来越多,u s bo n - t h e - g o ( u s bo t g ) 的扩展标准正是为了满足这一需求而提出 的。u s b i f 公布的虽新版本u s bo t g 就是建立在u s b 2 0 的基础上,用便携式设备作为有限的 主机与现有的u s b 外设相连,以及便携式设备之间的互连,实现它们之间实时、快速的音频数据 和视频数据的传输。 u s bo n - t h e - g o 在u s b 规范基础上增加了以下几点: - 双重功能设备既可用作主机也可用作外设: - 事务请求协议s r p ; 主机处理协议h h p , 用于转换u s b 主机和从机功能: _ 除小和大功率之外增加了微功率选择: 超小连接器。 1 2 主要工作 本课题的主要内容是研究如何在嵌入式终端中实现u s bo t g 功能。基于的硬件平台是以i n t e l x s c a l e p x a 2 5 5 为处理器的掌上电脑,采用的操作系统是w i n d o w s c e n e t 4 2 。具体的研究工作如 下: 了解国内# b u s bo t g 的研究现状,理解u s bo t g 协议,对本课题研究做系统级定位。 对我们的目标系统进行u s bo t g 的总体框架设计,确定硬件电路,划分软件层次。 软件驱动主要包含三部分,主机驱动,从机驱动和o t g 驱动。w i n d o w s c e n e t 4 2 操作 系统对u s b 主机驱动已经有了相应的支持,所需完成的工作是主机硬件抽象层以及和 o t g 驱动的接口设计。 从机驱动的设计:主要完成从机硬件抽象层的设计,实现u s b 存储类设备功能以及和o 2 东南大学硕士论文 驱动的接口设计。 0 t g 驱动的设计:主要完成0 t g 硬件抽象层的设计,与主机,从机驱动的接口设计以及0 t 6 状态机的实现。 1 3 论文的结构 本文的重点是论述嵌入式终端中u s bo t g 功能的研究与实现,首先在第二章中对u s b 协议以 及o t g 进行了简要的说明。第三章对软硬件开发平台做了简要介绍。第四章详细介绍了具体的功 能实现过程。包括硬件电路的设计和软件驱动的设计。 具体篇章安排如下: 第二章:u s b 概述:对u s b 协议进行了简单介绍,包括u s b 的架构,数据传输方式以及数据包 格式等。该章还对o t g 做了简单的概述。 第三章:软硬件开发平台介绍:对该课题的硬件平台以及软件开发平台做了简单介绍。 第四章:u s bo t g 功能设计:首先对硬件电路设计做了详细的介绍,接着对驱动软件各部分 实现进行了深入的分析和介绍。最后给出了系统的性能测试和评估 3 第二章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 接口的多种外设 之间通信的电缆总线。这些连接到计算机上的外设共同分享u s b 的带宽。u s b 的分时处理机制真 正在硬件的意义上实现了计算机外设的即插即用。 一个基于计算机的u s b 系统可以在系统层次上被分为三个部份:即u s b 主机( u s bh o s t ) 、 u s b 设备s bd e v i c e ) 和u s b 的连接。所谓u s b 连接实际上是指一种u s b 器件和u s b 主机进行 通信的方法。它包括: 总线的拓扑( 由一点分出多点的网络形式) ;既外设和主机连接的模式; 各层之间的关系:即组成u s b 系统的各个部分在完成一个特定的u s b 任务时,各自之间的 分工与合作; 数据流动的模式:即u s b 总线的数据传输方式; e u s b 的“分时复用”;因为u s b 提供的是一种共享连接方式,因而为了进行数据的同步传输, 致使u s b 对数据的传输和处理必须采用分时处理的机制。 2 1 总线拓扑结构 u s b 总线的物理连接是一种分层的菊花链结构,集线器( h u b ) 是每个星形结构的中心。p c 机就 是主机和根h u b 。用户可以将外设或附加的h u b 与之相连。这些附加的h u b 可以连接另外的外设以 及下层h u b 。u s b 支持最多5 个h u b 层以及1 2 7 个外设。图2 1 。1 描述了i j s b 的物理拓扑结构,从中 可以看出每一段的连接都是点对点的 2 2u s b 的物理层 图2 iu s b 物理拓扑结构 u s b 的物理接口包括电气特性和机械特性 3 t i e r 4 4 东南大学硕士论文 电气特性 u s b 通过- - 个四线电缆来传输信号与电源,如图2 2 1 5 1 所示 v b u s d 十 d - g n d v b u s d 十 m g n d 图2 2 u s b 电缆 u s b 线缆由四根线组成,其中一根是电源线v b u s ,一根是地线g n d ,其余两根是用于差动 信号传输的数据线( d + ,d ) 。将数据流驱动成为差动信号来传输的方法可以有效提高信号的抗干扰 能力饵m 【) 。u s b 的全速信号的比特率定为1 2 m b p s ;低速信号传送的模式定为1 s m b p s 。u s b 信 号线在高速模式下必须使用带有屏蔽的双绞线而且最长不能超过5 m ,而在低速模式时中可以使用 不带屏蔽或不是般绞的线,但最长不能超过3 m 。这主要是由于信号衰减的限制。为了提供信号电 压保证以及与终端负载相匹配,在电缆的每一端都使用了不平衡的终端负载。这种终端负载也保证 了能够检测外设与端口的连接或分离,并且可以区分高速与低速设备。 h u b 根据数据线末端设置的结束电阻来判别所连接的外设是高速外设或是低速外设。仅仅只 需要检测在外设被初次连接时,d 峄或d 一上的信号是高或是低即可。因为对于u s b 协议来讲,要求 低速外设在其d 端接上拉电阻,而高速外设则在d + 端接同样的电阻。在加电时,根据低速外设 的d - 线和高速外设的d + 线所处的状态,h u b 就很容易判别器件的种类,从而为器件配置不同的 信息。图2 3 和图2 4 分别表明了高速外设和低速外设的连接状况。 毛 1 3 + f “+ f u l l - s p e e do r 阱? 幸 = 口j j 一 f u l l - s p e e du s b l o w - s p e e du s b t r a n s c e i v e r t r a n s c e l v e rm 。三v z = 9 0 0 :1 l 1 5 咔叮 r 州= 1 5 k r i 士5 h u bu p s t r e a mp o r t h o s to r 由 o h u b p o r t y r = 1 s k r e :i :s f u | | - s p e e df u n c t i o h 图2 , 3 高速外设的连接状况 乏 f u l l - s p e e do f 叶一下 l o w - s p e e du s e l o w - s p e e du s b r 一享:hj j t r a n s c e i v e r t r a n s c e i v e r d i ll1 。d s b w s l e w r 缸e 。弓v= 1 锨l 蠊 b u 忭e 伟 叮 h o s t o r 由 r p = 1 5 k a 茸i m _ 由_ ) h u b p o r tv l o w - s p e e df u n c t i o n 图2 4 低速外设的连接状况 所有的u s bh u b 都为高速外设,而功能部件则可以根据外设的具体情况设计成不同的传输率, 如用于视频、音频传输的外设大都采用1 2 m b p s 的传输率,而像键盘、鼠标这样的点输入设备则设 5 第二章u s b 概述 计成低速外设。 机械特性 所有设备都有一个上行的连接。上行连接器和下行连接器不可简单的互换,这样就避免了集 线器间的非法的循环往复的连接,电缆中有四根导线:一对互相缠绕的标准规格线。一对符合标准 的电源线,连接器有四个方向,具有屏蔽层,以避免外界干扰,并有易拆装的特性。 2 3u s b 设备 在终端用户看来,u s b 设备为主机提供了多种多样的附加功能,但对u s b 主机来讲,它与所有 u s b 设备的接口都是一致的。一个u s b 设备可以分为三层。图2 5 5 疆底层是总线接口层,用来发 送与接收包。中间层处理总线接1 3 与不同的端点之间的数据流通。一个端点是数据最终的使用者或 提供者,它可以看作数据的源或接收端。最上层就是u s b 设备所提供的功能。比如鼠标或键盘等。 阿i y i o e 啊o e l _ 卜 穗嘲肼叫棚c 甜o n s 钉o w _ _ _ _ 嘲。l o g i c a lc o m m u n i c a l l o n sn o w 图2 5 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 设备,它由一个或多个配置组成。设备描述符用于说明设备的总体信息, 并指出其所含配置个数。一个u s b 设备只能有一个设备描述符。 配置 一个u s b 设备可以包含一个或多个配置,如u s b 设备的低功耗模式和高功耗模式就分别对应 一个配置。配置描述符用于说明u s b 设备中各个配置的特性,如配置所含的接口个数等。 接口 6 东南大学硕士论文 一个配置可以包含一个和多个接口。如对一个光盘驱动器来说,当用于文件传输时,使用其大 容量存储接口;当用于播放c d 时,使用其音频接口。接口是一个端点的集合,可以包含一个 或多个可替换设置,用户可以在u s b 设各处于配置状态时改变当前接口所含端点的个数和特 性。接口描述符用于说明u s b 设备中各个接口的特性,如接口所属的设备类及其子类。 端点 端点是u s b 设备中的实际物理单元,u s b 数据传输就是在主机和u s b 设备各个端点之间进行 的。每一个u s b 设备在主机看来就是一个端点的集合,主机只能通过端点与设备进行通讯以 使用设备的功能。每个端点实际上就是一个一定大小的数据缓冲区。这些端点在设备出厂时就 已定义好。在u s b 系统中每一个端点都有唯一的地址,这是由设备地址和端点号给出的。每 个端点都有一定的特性。其中包括传输方式,总线访问频率带宽,端点号,数据包的最大容量 等。端点必须在设备配置后才能生效( 端点0 除外) 端点0 通常为控制端点,用于设备初始化参数等。端点l ,2 等一般用作数据端点存放主机与 设备间往来的数据。 管道 一个u s b 管道是驱动程序的一个数据缓冲区与一个外设端点的连接,如图2 6 1 5 j 所示。它代表 了一种在两者之间移动数据的能力。一旦设备被配置,管道就存在了。管道有两种类型:数据流管 道( 其中的数据没有u s b 定义的结构) 与消息管道( 其中的数据必须有u s b 定义的结构) 管道只 是一个逻辑上的概念,而实际的数据传输是由0 s b 总线接口层来完成的。 管道和u s b 设备中的端点是一一对应的。一个u s b 设备含有多少个端点,其和主机通信时就 可以使用多少跳管道,且端点的类型决定了管道中数据的传输类型,如中断端点对应中断管道,且 该管道只能进行中断传输。不论存在多少条管道,在各个管道中进行的数据传输都是相互独立的。 所有的设备必须支持端点0 以作为设备的控制管道。通过控制管道可以获取完全描述u s b 设备的信 息。包括设备类型,电源管理配置,端点描述等。只要设备连接到u s b 上并且上电。端点0 就可以 被访问,与之对应的控制管道就存在了。 接口 图2 6管道 7 第二章u s b 概述 h u b u s b 的设备可分为两种:即网络集线器( u s bh u b ) 和功能器件( f u n c t i o nd e v i c e ) 。 h u b 在u s b 结构中是一个关键,它提供了附加的u s b 节点,这些节点被称为端口。 作为u s b 总线的扩展部件,u s b 鹏必须满足以下特征: ( 1 ) 为自己和其它外设的连接提供可扩展的下行和上行( d o w n s t r e a ma n du p s t r e a m ) 端口; ( 2 ) 支持u s b 总线的电源管理机制; ( 3 ) 支持总线传输失败的检测和恢复; ( 4 ) 可以自动检测下行端口外设的连接和摘除,并向主机报告; ( 5 ) 支持低速外设和高速外设的同时连接。 从以上要求出发,u s b h u b 在硬件上由两部分组成 h u b 应答器( h u b r e p e a t e r ) 和h u b 控制器( h 吩 c o n t r o l l e r ) 。h u b 应答器回应主机对u s b 外设的设置,以及对连接到它下行端口的u s b 功能部件 的连接和摘除( a t t a c h e da n dd e t a c h e d ) 的检测、分类,并将其端口信息传送给主机,它也负责如 “总线传输失败检测”这样的错误处理;而h 【l b 控制器则提供主机到h u b 之间数据传输的物理机制。 如同我们所熟知的大多数计算机外设一样,u s bh u b 也有一个用来向主机表明自己身份的“b 1 0 s ” 系统。这块位于d s bh u b 上的r o m ,通过u s b 特征字使主机可以配置这个u s bh u b ,并监控它的每 一个端口。图2 。7 是一个典型的h u b 。 图2 7 典型的u s b 集线器 即插即用 u s b 设备可以即插即用,但在可以使用之前必须对设备进行配置。一旦设备连接到某一个u s b 的节点上,u s b 就会产生一系列的操作来完成对设备的配置。这种操作被称为总线枚举过程: 1 设备所连接的h u b 检测出端口上有设备连接,通过状态变化管道向主机报告; 2 主机通过询问h u b 以获取确切的信息; 3 主机这时知道设备连接到哪个端口上,于是向这个端口发出复位命令; 4 h u b 发出的复位信号结束后端口被打开,h u b 向设备提供l o o m a 的电源。这时设备上电。所 有的寄存器复位并且以缺省地址0 以及端点0 响应命令; 5 主机通过缺省地址与端点0 进行通讯,赋予设备一个独一的地址,并且读取设备的配置信 息 6 最后主机对设备进行配置。该设备就可以使用了: 当该设备被移走时h u b 依然要报告主机并且关闭端口一旦主机接到设备移走的报告就会改写 当前结构信息; 设备的挂起 为了节电,当设备在指定的时间内没有总线传输,u s b 设备自动进入挂起状态。如果设备所 接的h u b 的端口被禁止了,设备也将进入挂起状态( 称之为选择挂起) 。当然主机也可以进入挂起状 态。u s b 设备当总线活动时,就会离开挂起状态。一个设备也可以通过电信号来远程唤醒进入挂 起状态的主机,这个能力是可选的。如果一个设备具有这个能力,主机有能力禁止或允许使用这种 能力。 b 东南大学硕士论文 2 5u s b 主机 一个u s b 系统仅可以有一个主机,而为u s b 器件连接主机系统提供主机接口的部件被称为 u s b 主机控制器。u s b 主机控制器是一个由硬件、软件和固件( f i r m w a r e ) 组成的复合体。根集线器 ( r o o t 哪) 是由主机系统整合的,它为主机提供一到多个可以连接其它u s b 外设的u s b 扩展接口 我们通常在主板上见到的u s b 接口都是由r o o th u 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 设备和主机上该设备软件之间的相互交互,u s b 系统软 件与设备软件间有三种相互作用方式: 设备编号和设置; 同步数据传输; 异步数据传输; 电源管理 设备和总线管理信息。 u s b 提供了在一台主机和若干台附属的u s b 设备之间的通信功能,从终端用户的角度看到的u s b 系统,可简单地用图2 8 表示: 图2 8u s b 主机,设备的简单模型 但在实际的实现上,具体的系统要比这复杂,不同层次的实现者对u s b 的有不同要求,这使得 我们必须从不同的层次观察u s b 系统。u s b 系统提出了一些重要的概念和情况来支持现代个人计算 机所提出的可靠性要求,所以u s b 的分层理解是必须的。它能使不同层次的实现者只关心u s b 相关 层次的特性功能细节,而不必掌握从硬件结构到软件系统的所有细节。u s b 的这种层次结构如图2 9 所示 由图2 9 可见,主机与设备都被划分成不同的层次。主机上垂直的箭头是实际的信息流。设备 上对应的接口是基于不同实现的。在主机与设备之间的所有通信最终都是通过u s b 的电缆进行,然 而,在上层的水平层之间存在逻辑的主机一设备信息流。主机上的客户软件和设备功能部件之间的 通信是基于实际的应用需求及设备所能提供的能力。 客户软件与功能部件之间的透明通信的要求,决定主机和设备下层部件的功能以及它们的界面 ( i n t e r f a c e ) u s b 主机可被分为三个不同的功能模块:客户软件,u s b 系统软件和u s b 总线接口,图2 1 0 描述了它们之间的通信关系和各自功能。 客户软件负责和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 主控制器的硬件进行抽象,并提供u s b d i 通信接口,以简化客户软件和u s b 设备功能 单元之间的通信机制。 u s b 总线接口包括u s b 主控制器和根集线器两部分。其中根集线器为u s b 系统提供连接起 9 第二章u s b 概述 点;u s b 主控制器负责完成主机和u s b 设备问数据的实际传输。 主机互连 u s b 设备 _ 。- 实际通信流 = = 2 2 2 2 2 : 逻辑通信流 二二二二二 实现的区域 图2 9u s b 通信模型层次关系图 2 5 1 客户软件 客户软件负责和u s b 设备的功能单元进行通信,以实现u s b 设备的特定功能,它一般包括 u s b 设备驱动程序和界面应用程序两部分。 u s b 设备驱动程序负责和u s b 系统软件进行接口,以完成与u s b 设备功能单元间的数据通 信。它只知道u s b 设备的一组管道和一个接口,而不理解实际的串行传输机制。u s b 设备驱动程 序通常使用i r p 向u s b 总线驱动程序( u s b d ) 发出i o 请求,并根据数据传输方向( i n 或o u t ) , 提供一个或空或满的内存缓冲区;u s b d 将负责管理其数据的u s b 传输,在传输结束后,它会得 到该i r p 已经完成的通知。 界面应用程序负责和u s b 设备驱动程序进行接口,以操纵u s b 设备,并向用户提供可视化 的操作。它是最上层的软件,只能看到向u s b 设备发送的原始数据和从u s b 设备接收的最终数据。 1 0 东南大学硕士论文 主机 通道,代表相应层之间连接的抽象 图2 1 0 主机通信图 2 5 2u s b 系统软件 u s b 系统软件负责和u s b 逻辑设备进行配置通信,并管理客户软件启动的u s b 数据传输。 它一般包括u s b 主控制器驱动程序( h c d ) ,u s b 总线驱动程序( u s b d ) 和非主u s b 主机软件三部 分。 u s b 主控制器驱动程序的存在使得客户软件在进行u s b 数据传输时不必知道主控制器得具 体实现细节。u s b 总线驱动程序为客户软件提供了通信接口一一- - u s b d i ,它们之间通过f o 请求 包( r a p ) 进行数据传输。h c d 和u s b d 以特定得方式协同工作,简化了客户软件与u s b 设备功能 单元问的通信机制。在h c d 和u s b d 之间的接口称为主控制器驱动接口( h c d i ) ,它不能被客户 软件直接访问。 u s b 主控制器驱动程序 h c d 是主机控制器硬件的抽象,同时也是对主机控制器所见的数据传输的抽象。h c d i 应符合 下列条件: 提供一个抽象的主机控制器硬件。 提供主机控制器在u s b 上传输数据过程的抽象。 l l 第二章u s b 概述 提供主机控制器为给定设备分配( 或不分配) 必需的资源过程的抽象。 根据一般集线器的定义提供根集线器。这包括支持集线器驱动程序与根集线器的直接交互。 具体的说,虽然一个根集线器是用硬件及软件共同实现的,它展初响应缺省的设备地址( 从客户的 观点) ,返回描述符信息,支持设备地址集,并且支持其它的集成器类型的请求。然而考虑到可能 将主机控制器与根集线器集成在一起,所以,在对根集线器进行访问的时候可能并不需要经过总线。 h c d 提供软件界面h c d i ( h c di n t e r f a c e ) 以实现必要的抽象。h c d 的功能是进行抽象、隐藏 主机控制器的硬件细节。在主机控制器之下是物理的u s b 及所有与之连接的u s b 设备。 h c d 是u s b 软件中的最下一层。h c d 只有一个客户:u s b 驱动器( u s 叻) 。u s 肋将客户的请求映射到 相关的h c d 。一个给定的主机控制器驱动器可能管理很多的主机控制器。 u s b 总线驱动程序 u s b d 提供了供操作系统组件特别是设各驱动程序访问设备的一组接口。这些操作系统组件只 能通过u s b d 来访问u s b 。一个u s b d 可以访问一个或多个h c d ,而一个h c d 可能与一个或多 个主机控制器相连,u s b d 与h c d 之间的通信接口为h c d i 。u s b d 向客户软件提供了u s b 设备 的抽象,并负责管理客户软件与u s b 设备见的数据传输,其与客户软件的通信接口为u s b d i 。图 2 1 3 描述了u s b d 的结构。 u s 肋向客户软件提供了两种功能机制:命令机制和管道机制。其中命令机制使得客户软件可 以对u s b 设备的缺省控制管道进行访问,以配置和控制响应的u s b 设备 管道机制使得客户软件可 以和u s b 设备的功能单元间进行数据传输,以实现u s b 设备的特定功能。该机制不允许客户软件直 接访问u s b 设备的缺省控制管道。u s b d 的主要功能如下: ( 1 )命令机制的配置操作。 ( 2 )命令机制和管道机制的数据传输服务。 ( 3 ) 事件通知。 ( 4 ) 状态报告和错误恢复 2 5 3u s b 主控制器 在所有的实现中,主机控制器都必须提供基本相同的功能。主机控制器对主机及设备来讲都 必须满足一定的要求。下面是主机控制器所提供的功能的概况。 l 状态处理( s t a t eh a n d l i n g ) 作为主机的一部份,主机控制器报告及管理它的状态。 2 串行化与反串行化对于从主机输出的数据,主机控制器将协议及数据信息从它原始形状转 换为字位流。而对于主机接收的数据主机控制器进行反向操作。 3 帧产生( f r a m eg e n e r a t i o n )主机控制器以每1 m s 为单位产生s o f 标志包。 4 数据处理主机控制器处理从主机输入输出数据的请求。 5 协议引擎主机控制器支持u s b 具体规定的协议 6 传输差错控制所有的主机控制器在发现和处理已定义的错误时展现相似的行为。

温馨提示

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

评论

0/150

提交评论