每个USB只有一个
主机,它包括以下几层:
USB总线接口处理电气层与协议层的互连。从互连的角度来看,相似的总线接口由设备及主机同时给出,例如
串行接口机(SIE)。USB总线接口由主控制器实现。
USB系统用主控制器管理主机与USB
设备间的数据传输。它与主控制器间的接口依赖于主控制器的硬件定义。同时,USB系统也负责管理USB资源,例如带宽和总线能量,这使客户访问USB成为可能。USB系统还有三个基本组件:
主控制器驱动程序(HCD)这可把不同主控制器设备映射到USB系统中。HCD与USB之间的接口叫HCDI,特定的HCDI由支持不同主控制器的操作系统定义,通用主控制器
驱动器(UHCD)处于软结构的最底层,由它来管理和控制主控制器。UHCD实现了与USB主控制器通信和控制USB主控制器,并且它对
系统软件的其他部分是隐蔽的。系统软件中的最高层通过UHCD的
软件接口与主控制器通信。
USB驱动程序(USBD)它在UHCD驱动器之上,它提供驱动器级的接口,满足现有设备驱动器设计的要求。USBD以I/O请求包(IRPs)的形式提供数据传输架构,它由通过特定管道(Pipe)传输数据的需求组成。此外,USBD使客户端出现设备的一个抽象,以便于抽象和管理。作为抽象的一部分,USBD拥有缺省的管道。通过它可以访问所有的USB设备以进行标准的USB控制。该缺省管道描述了一条USBD和USB
设备间通信的逻辑通道。
主机软件 在某些操作系统中,没有提供USB系统软件。这些软件本来是用于向设备驱动程序提供配置信息和装载结构的。在这些操作系统中,设备
驱动程序将应用提供的接口而不是直接访问USBDI(USB驱动程序接口)结构。
USB客户软件
它是位于
软件结构的最高层,负责处理特定USB设备
驱动器。客户程序层描述所有直接作用于设备的软件入口。当设备被系统检测到后,这些客户程序将直接作用于外围硬件。这个共享的特性将USB系统软件置于客户和它的设备之间,这就要根据USBD在客户端形成的设备映像由客户程序对它进行处理。
主机各层有以下功能:
检测连接和移去的USB设备。
管理主机和USB设备间的
数据流。
连接USB状态和活动统计。
控制主控制器和USB
设备间的电气接口,包括限量能量供应。
HCD提供了主控制器的抽象和通过USB传输的数据的主控制器视角的一个抽象。USBD提供了USB设备的抽象和USBD客户与USB功能间数据传输的一个抽象。USB系统促进客户和功能间的数据传输,并作为USB设备的规范接口的一个控制点。USB系统提供缓冲区管理能力并允许数据传输同步于客户和功能的需求。
硬件结构
编辑
USB采用四线电缆,其中两根是用来传送数据的
串行通道,另两根为下游(Downstream)设备提供电源,对于高速且需要高带宽的外设,USB以全速12Mbps的传输数据;对于低速外设,USB则以1.5Mbps的传输速率来传输数据。USB总线会根据外设情况在两种传输模式中自动地动态转换。USB是基于令牌的总线。类似于
令牌环网络或FDDI基于令牌的总线。USB主控制器广播令牌,总线上设备检测令牌中的地址是否与自身相符,通过接收或发送数据给主机来响应。USB通过支持悬挂/恢复操作来管理USB总线电源。USB系统采用
级联
星型拓扑,该拓扑由三个基本部分组成:主机(Host),
集线器(Hub)和功能设备。
主机,也称为根,根结或根Hub,它做在主板上或作为
适配卡安装在计算机上,主机包含有主控制器和根集线器(Root Hub),控制着USB总线上的数据和控制信息的流动,每个USB系统只能有一个根集线器,它连接在主控制器上。
集线器是USB结构中的特定成分,它提供叫做端口(Port)的点将设备连接到USB总线上,同时检测连接在总线上的设备,并为这些设备提供
电源管理,负责总线的故障检测和恢复。集线可为总线提供能源,亦可为自身提供能源(从外部得到电源),自身提供能源的设备可插入总线提供能源的集线器中,但总线提供能源的设备不能插入自身提供能源的集线器或支持超过四个的下游端口中,如总线提供能源设备的需要超过100mA电源时,不能同总线提供电源的集线器连接。
功能设备通过端口与总线连接。USB同时可做
Hub使用。
不同接口
二十一世纪二十年代,随着各种数码设备的大量普及,特别是MP3和数码相机的普及,我们周围的USB设备渐渐多了起来。然而这些设备虽然都是采用了USB接口,但是这些设备的数据线并不完全相同。
这些数据线在连接PC的一端都是相同的,但是在连接设备端的时候,通常出于体积的考虑而采用了各种不同的接口。
绝大部分数码产品连接线的接头除了连在PC上的都一样,另外一头也都是遵循着标准的规格。
USB是一种统一的传输规范,但是接口有许多种,最常见的就是咱们电脑上用的那种扁平的,这叫做A型口,里面有4根连线,根据谁插接谁分为公母接口,一般线上带的是公口,机器上带的是母口。
A型公口
右上面的图片是最常见的USB A型公口
常见Mini B型5Pin接口:
接下来就是在数码产品上最常见的接口了,由于
数码产品体积所限,所以通常用的是Mini B型接口,但是Mini B型接口也有许多种类。
B型5Pin
下面的图为Mini B型5Pin接口示意图
这种接口可以说是当前最常见的一种接口了,这种接口由于防误插性能出众,体积也比较小巧,所以正在赢得越来越多的厂商青睐,这种接口广泛出现在读卡器、MP3、数码相机以及
移动硬盘上。
下图为:Sony F828上的Mini B型5Pin接口
B型4Pin
这种接口二十一世纪二十年代常见于以下品牌的数码产品:奥林巴斯的C系列和E系列,柯达的大部分数码相机,三星的MP3产品(如Yepp),SONY的DSC系列,
康柏的IPAQ系列产品……
富士Mini B型4Pin Flat接口:
Mini B型4Pin还有一种形式,那就是Mini B型4Pin Flat。顾名思义,这种接口比Mini B型4Pin要更加扁平,在设备中的应用也比较广泛。
4Pin
这种接口和前面讲Mini B型4pin非常类似,但是这种接头更为扁平,所占用的体积更小。
这种接口常见于以下设备:富士的FinePix系列,卡西欧的QV系列相机,柯尼卡的产品。
我们看到,富士的机器用这种接口的比较多,几乎旧有的机型全是这种接口。不过值得注意的是,
富士在最新的S5000和S7000上已经放弃了这种接口,改投Mini B 5Pin的阵营。
尼康独有,Mini B型8Pin接口:
Mini B型除了前面的4Pin和5Pin的,还有一种就是8Pin的了,这种接头在其他设备上出现的几率就非常少了,通常出现在数码相机上。Mini B型的接口也有3种,一种是普通型的,一种是Round(圆)型的,还有一种是2×4布局的扁平接口。
B型8Pin
这种接口适用的设备,据笔者所知当前只有Nikon Coolpix 775一个款型的产品使用这种接口。
8Pin Round
这种接口和前面的普通型比起来,就是将原来的D型接头改成了圆形接头,并且为了防止误插在一边设计了一个凸起。
这种接头可以见于一些Nikon的数码相机,CoolPix系列比较多见。虽然Nikon一直坚持用这种接口,但是在一些较新的机型中,例如D100和CP2000也都采用了普及度最高的Mini B型5Pin接口。
还有差点儿就普及的8Pin 2×4接口:
除了我们前面见过的Mini B型5Pin的接口,我想大家一定还对下面这种接口非常熟悉,这种接口也曾经相当的普及。
2×4
图为:Mini B型8Pin 2×4接口
这种接口也是一种比较常见的接口了,例如我们熟悉的iRiver的著名的MP3系列,其中号称“铁三角”的180TC,以及该系列的很多其他产品采用的均是这种接口。这种接口的应用范围也还算是广,不过从iRiver自3XX系列全面换成Mini B型5Pin的接口后,这种规格明显没有Mini B型5Pin抢眼了。
Micro USB
Micro USB是
USB 2.0标准的一个便携版本,比当前部分手机使用的
Mini USB接口更小,Micro-USB是Mini-USB的下一代规格,由USB标准化组织美国USB Implementers Forum(USB-IF)于2007年1月4日制定完成。
OTG
On-The-Go,即OTG技术就是实现在没有Host的情况下,实现从
设备间的
数据传送。例如数码相机直接连接到
打印机上,通过OTG技术,连接两台设备间的USB口,将拍出的相片立即打印出来;也可以将数码照相机中的数据,通过OTG发送到USB接口的
移动硬盘上,野外操作就没有必要携带价格昂贵的存储卡,或者背一个便携电脑。
在OTG产品中,增加了一些新的特性:
* 新的标准,适用于设计小巧的连接器和电缆;
* 在传统的周边设备上,增加了Host能力,适应点到点的连接;
* 这种能力可以在两个设备间动态地切换;
* 低的功耗,保证USB可以在电池供电情况下工作
USB On-The-Go Supplement 1.0:2001年12月发布。USB On-The-Go Supplement 1.0a:2003年6月发布,即当前版本。
USB OTG是USB On-The-Go的缩写,是当前发展起来的技术,2001年12月18日由USB Implementers Forum公布,主要应用于各种不同的设备或移动
设备间的联接,进行数据交换。特别是PDA、移动电话、消费类设备。改变如数码照相机、摄像机、
打印机等设备间多种不同制式连接器,多达7种制式的存储卡间数据交换的不便。
USB技术的发展,使得PC和周边设备能够通过简单方式、适度的制造成本将各种数据传输速度的设备连接在一起,上述我们提到应用,都可以通过USB总线,作为PC的周边,在PC的控制下进行数据交换。但这种方便的交换方式,一旦离开了PC,各设备间无法利用USB口进行操作,因为没有一个从设备能够充当PC一样的Host。
接口定义
使用OTG后,不影响原设备和PC的连接,但使得在二十一世纪二十年代的市场上已有超过10亿个USB接口的设备,也能通过OTG互联。