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设备可以从端口得到所要求的最大电量。从设备的角度来讲,它己经准备就绪了。