Chinaunix首页 | 论坛 | 博客
  • 博客访问: 65900
  • 博文数量: 10
  • 博客积分: 1410
  • 博客等级: 上尉
  • 技术积分: 127
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-03 21:43
文章分类

全部博文(10)

文章存档

2009年(2)

2008年(8)

我的朋友

分类:

2008-12-18 21:25:17

0 简介
        USB最初是由倡导发起,其最大的特点是支持Hot plug)和 (Plug&Play)。当设备插入时,enumerate)此设备并加载所需的,因此使用远比总线方便。
USB速度比平行埠并联总线(Parellel Bus,例如EPPLPT)与串联埠总线(Serial Port,例如RS-232)等传统电脑用标准总线快上许多。原标准中USB 1.1 的最大传输带宽为 12MbpsUSB 2.0 的最大传输带宽为 480Mbps
USB的设计为非对称式的,它由一个主机(host)控制器和若干通过设备以树形连接的设备组成。 一个控制器下最多可以有5hub,包括Hub在内,最多可以连接127个设备,而一台计算机可以同时有多个控制器。 SPI-SCSI等标准不同,USB hub不需要终结器。
        USB可以连接的部件。对数码相机这样的多媒体外设USB已经是缺省接口;由于大大简化了与计算机的连接,USB也逐步取代成为打印机的主流连接方式。2004年已经有超过1亿台USB设备;到2005年显示器和高清晰度数字视频外设是仅有的USB未能染指的外设类别,因为他们需要更高的传输速率。
现标准中将UBS统一为USB2.0,分为:
 
·High-speed,传输速率25Mbps~400Mbps(最大480Mbps);
·Full-speed ,传输速率500Kbps~10Mbps(最大12Mbps);
·Low-speed,传输速率10Kbps~100Kbps(最大1.5Mbps)
 
1 USB接口
 
USB在电缆和设备的连接中使用两种类型的插头和两种类型的插座,
   第一种类型是A系列,A系列的连接器用来进行上行连接,换句话说,就是在 主机或集线器上有一个A系列插座,而在练到主机或集线器的电缆一端有一个A系列插头。
   B系列的连接器。在USB设备上有B系列的插座,而B系列的插头在从主机或集线器接触的下行电缆的一端。
接口信号定义:
  
 连接器引脚  功能(主机) 功能(设备)  颜色
 1  Vbus(4.75-5.25)   Vbus(4.4-5.25)  红色
 2  D-   D-  白色
 3  D+   D+  绿色
 4  GND   GND  黑色
 
3 Mini USB接口
 
1
VBUS(4.4-5.25V)
2
D-
3
D+
4
ID
5
接地
mini USB除了第4针外,其他接口功能皆與标准USB相同。第4针成为ID,在mini-A上连接到第5针,在mini-B可以悬空亦可连接到第5针。
 
4 USB设备
 
   USB设备包括拓展设备Hubs和功能设备,而功能设备又分为定位设备、字符设备等等(后续文章会提到)。

      

         4.1 端点(endpoint)和管道(pipe

 

端点  每一个USB设备在主机看来就是一个端点的集合,主机只能通过端点与设备进行通讯,以使用设备的功能。每个端点实际上就是一个一定大小的数据缓冲区,这些端点在设备出厂时就已定义好。在USB系统中,每一个端点都有唯一的地址,这是由设备地址和端点号给出的。每个端点都有一定的特性。其中包括:传输方式、总线访问频率、带宽、端点号、 数据包的最大容量等等。端点必须在设备配置后才能生效(端点0除外)

端点0通常为控制端点,用于设备初始化参数等,端点12等一般用作数据端点,存放主机与设备间往来的数据。

 

管道  一个USB管道是驱动程序的一个数据缓冲区与一个外设端点的连接,它代表了一种在两者之间移动数据的能力。一旦设备被配置,管道就存在了。管道有两种类型,数据流管道(其中的数据没有USB定义的结构)与消息管道(其中的数据必须有USB定义的结构)。管道只是一个逻辑上的概念。

所有的设备必须支持端点0以作为设备的控制管道。通过控制管道可以获取完全描述USB设备的信息,包括:设备类型、电源管理、配置、端点描述等等。只要设备连接到USB上并且上电,端点0就可以被访问,与之对应的控制管道就存在了。

 

端点和管道  设备/功能(和集线器)与管道pipe (逻辑通道)联系在一起,管道把主机控制器和被称为端点的逻辑实体连接起来。 管道和比特流(例如)有着相同的含义,而在USB词汇中术语端点经常和管道混用,甚至在正式文档中。

端点(和各自的管道)在每个方向上按照0-15编号,因此一个设备/功能最多有32个活动管道,16个进,16个出。 (出( OUT)指离开控制器,而入(IN)指进入主机控制器。) 两个方向的端点0总是留给总线管理,占用了32个端点中的2个。在管道中,数据使用不同长度的包传递,端点可以传递的包长度上限一般是2^n字节,所以USB包经常包含的数据量依次有8163264128256512或者1024字节。

一个端点只能单向(进/出)传输数据,自然管道也是单向的。每个USB设备至少有两个端点/管道:它们分别是进出方向的,编号为0,用于控制总线上的设备。按照各自的传输类型,管道被分为4类:

·         控制传输——一般用于短的、简单的对设备的命令和状态反馈,例如用于总线控制的0号管道。

·         等时传输——按照有保障的速度(可能但不必然是尽快地)传输,可能有数据丢失,例如实时的音频、视频。

·         中断传输——用于必须保证尽快反应的设备(有限延迟),例如鼠标、键盘。

·         批量传输——使用余下的带宽大量地(但是没有对于延迟、连续性、带宽和速度的保证)传输数据,例如普通的文件传输。

 

        4.2 Hub

 

HubUSB结构中是一个关键,它提供了附加的USB节点,这些节点被称为端口。Hub可以检测出每一个下行端口的状态,并且可以给下端的设备提供电源。

 

         4.3  即插即用

 

USB设备可以即插即用 但在可以使用之前,必须对设备进行配置,一旦设备连接到某一个USB的节点上,USB就会产生一系列的操作 来完成对设备的配置,这种操作被称为总线枚举过程。

1.设备所连接的Hub检测出端口上有设备连接 通过状态变化管道向主机报告。

2.主机通过询问Hub以获取确切的信息

3.主机这时知道设备连接到哪个端口上,于是向这个端口发出复位命令。

4.Hub发出的复位信号结束后,端口被打开 Hub向设备提供100mA的电源这时设备上电,所有的寄存器复位 ,并且以缺省地址0以及端点0响应命令。

5.主机通过缺省地址与端点0进行通讯,赋予设备一个独一的地址,并且读取设备的配置信息。

6.最后主机对设备进行配置,该设备就可以使用了;当该设备被移走时 Hub依然要报告主机,并且关闭端口,一旦主机接到设备移走的报告 就会改写当前结构信息。

 

         4.4 设备的电源

 

USB设备的电源可以由USB总线供给,也可以自备电源,一个USB设备可以具有这两种供电方式,但同一时刻只能由一种方式供电,这两种供电方式是可以切换的

  设备的挂起

为了节电,当设备在指定的时间内没有总线传输, USB设备自动进入挂起状态如果设备所接的Hub的端口被禁止了,设备也将进入挂起状态(称之为选择挂起)当然主机也可以进入挂起状态

USB设备当总线活动时,就会离开挂起状态。一个设备也可以通过电信号来远程唤醒进入挂起状态的主机。这个能力是可选的,如果一个设备具有这个能力主机有能力禁止或允许使用这种能力。

 

 

阅读(1743) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~