USB的简单分析

USB2.0

USB版本      最大传输速率            速率称号             最大输出电流   推出时间  
USB1.0      1.5Mbps(192KB/s)     低速(Low-Speed)       500mA      1996年1月  
USB1.1      12Mbps(1.5MB/s)      全速(Full-Speed)      500mA      1998年9月  
USB2.0      480Mbps(60MB/s)      高速(High-Speed)      500mA      2000年4月  
USB3.0      5-10Gbps(640MB/s)    超速(Super-Speed)     900mA      2008年11月  

USB支持四种基本的数据传输模式:控制传输,等时传输,中断传输及数据块传输。

USB接口的输出电压和电流是:+5V 500mA 实际上有误差,最大不能超过+/-0.2V 也就是4.8-5.2V 。
USB接口的4根线一般是下面这样分配的:黑线:gnd 红线:vcc绿线:data+ 白线:data-
 
 

    USB设备首次连接到主机后,主机将启动一个被称作总线枚举的进程,来枚举并管理设备状态的改变。编写USB主机或者设备端有关枚举阶段程序的具体过程如下:
(1)USB设备连接到Hub,Hub通过状态改变通道向主机汇报此USB设备己连接上。此时,USB设备处于连接态,它所连接的端口可以供应电流,但其他属性被禁止。

(2)主机通过命令询问Hub,了解连接事件的详细情况。
(3)一旦确定新设备已连上,主机至少等待100ms以使设备的接入操作完成以及电源的稳定工作。然后主机发出端口使能及复位命令给该端口。设备处于低电流上电态和连接态。
(4)Hub将端口的复位信号持续10ms后,端口己经被激活。此时,USB设备处于缺省态,并且可从端口上汲取小于100mA的电流,设备的所有寄存器及状态己经被复位,并通过缺省地址0与主机通信。
(5)主机通过缺省地址0,读取设备描述符,了解默认通道的一系列信息,确认USB设备的属性。
(6)设备配置,主机给设备分配一个唯一的地址,设备转向地址态。
(7)主机读取所有设备的配置描述符。
(8)基于得到的设备的配置描述符,主机给该设备重新配置一个配置值。此刻,设备就处于配置态并且配置有关的所有接口和端点。然后,USB设备可以从端口得到所要求的最大电量。从设备的角度来讲,它己经准备就绪了。

posted @ 2014-11-05 16:42  chrispauls  阅读(188)  评论(0编辑  收藏  举报