码迷,mamicode.com
首页 > 其他好文 > 详细

USB设备驱动之设备初始化(设备枚举)

时间:2014-06-24 23:41:52      阅读:258      评论:0      收藏:0      [点我收藏+]

标签:usb驱动   设备枚举   设备状态   usb协议   

USB设备从接入HUB到正常工作之前,都属于设备枚举阶段。所谓设备枚举,就是让host控制器认识USB设备,并为其准备资源,建立好主机与设备间的数据传递机制。

该阶段的工作,是USB通信协议规定的,所以属于ISO标准流程。设备枚举阶段也对应了USB设备的五种状态。

设备枚举阶段分为如下8个步骤:

  1. 获取设备描述符
  2. 复位
  3. 设置地址
  4. 再次获取设备描述符
  5. 获取配置描述符
  6. 获取接口,端点描述符
  7. 获取字符串描述符
  8. 选择设置配置
其中,步骤1与4都是获取设备描述符,两者有什么区别?
步骤1中只取得设备描述符的固定长度字段,而步骤4是获取设备描述符的全部字段。

通过上述的8个步骤,可以看出:在设备枚举阶段,主机控制器获取了USB设备的所有详细信息(5大描述符),然后为其分配了资源(设置地址)。在设备枚举阶段完成之后,USB设备就能与USB主机之间进行数据交换了。

同时,我们知道USB设备接入USB主机之后有5种状态:
  1. Attached
  2. Powered
  3. Default
  4. Addressed
  5. Configured
这5中状态与USB设备枚举的对应关系是:
  • USB设备插入接口之后,处于Attached状态;
  • USB主控制器会给USB设备供电,此时处于Powered状态;
  • 设备枚举阶段的步骤2,复位操作之后,设备处于Default状态;
  • 设备枚举阶段的步骤3,设置地址操作之后,设备处于Addressed状态;
  • 设备枚举结束之后,设备处于Configured状态。

USB设备驱动之设备初始化(设备枚举),布布扣,bubuko.com

USB设备驱动之设备初始化(设备枚举)

标签:usb驱动   设备枚举   设备状态   usb协议   

原文地址:http://blog.csdn.net/tuzhutuzhu/article/details/34067843

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!