Chinaunix首页 | 论坛 | 博客
  • 博客访问: 631639
  • 博文数量: 1008
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 5175
  • 用 户 组: 普通用户
  • 注册时间: 2012-07-31 09:44
文章分类
文章存档

2012年(1008)

我的朋友

分类:

2012-08-01 11:02:58

原文地址:USB总线枚举过程 作者:luozhiyong131

USB总线枚举是指对USB总线上接入的USB设备进行识别和寻址操作。由于USB支持热插拔和即插即用,所以当一个USB设备接入USB或从USB上拆除时,主机必须使用总线枚举的过程来识别和管理必要的设备状态变化。并动态地对它进行配置。

当设备连接到主机时,按照以下顺序进行枚举:

1.连接了设备的HUB在HOST查询其状态改变端点时返回对应的bitmap,告知HOST某个PORT状态发生了改变。

2.主机向HUB查询该PORT的状态,得知有设备连接,并知道了该设备的基本特性。

3.主机等待(至少lOOmS)设备上电稳定,然后向HUB发送请求,复位并使能该PORT。

4.HUB执行PORT复位操作,复位完成后该PORT就使能了。现在设备进入SUdefault状态,可以从Vbus获取不超过lOOmA的电流。主机可以通过0地址与其通讯。

5.主机通过0地址向该设备发送get—device—descriptor标准请求,获取设备的描述符。

6.主机再次向HUB发送请求,复位该PORT。

7.主机通过标准请求set—address给设备分配地址。

8.主机通过新地址向设备发送get—device_descriptor标准请求,获取设备的描述符。

9.主机通过新地址向设备发送其他get—configuration请求,获取设备的配置描述符。

10.根据配置信息,主机选择合适配置,通过set—configuration请求对设备而进行配置。这时设备方可正常使用。

当USB设备被拆除时,集线器也会通知主机。拆除一个设备会使该设备所接入的端口被禁用。一旦收到了拆除指示,主机将立即更新它的本地拓扑结构信息。

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