USB设备枚举

USB设备枚举流程

USB设备枚举_第1张图片

1.USB 主机检测到USB 设备插入后,就会先对设备复位。

2.设备复位后,USB 主机就会对地址为0 的设备发送获取设备描述符的标准请求。所有的USB 设备在总线复位后其地址都为0,这样主机就可以跟那些刚刚插入的设备通过地址0 通信。(枚举阶段,一个一个来,不会同时枚举多个设备)

3.USB主机往地址0的设备的端点0发送设备描述符的标准请求(控制传输的建立过程)。然后,USB设备收到请求,按照主机要求返回设备描述符给到主机。主机成功获取并确认正确后就返回一个0长度的确认数据包给设备,从而进入到下一阶段的设置地址阶段。

4.USB 主机发出一个设置地址的请求(建立过程,设置地址无数据过程),地址包含在建立包中,具体的地址USB 主机会负责管理,它会分配一个唯一的地址给新的设备。USB 设备在收到地址后,返回0 长度的状态包,主机收到0 长度的状态包之后,会返回一个ACK 给设备。设备在收到这个ACK 之后,就可以启用新的地址了。这样设备就分配到了一个唯一的设备地址,以后主机就通过它来进行访问该设备。

5.获取配置描述符前18字节,读取配置描述符长度根据配置描述符长度获取整体配置描述符集合。

6.获取接口描述符,端点描符等等。


7.如果有字符串描述符的话,还要获取字符串描述符。另外HID 设备还有HID 描述符等。

參考:
USB 枚举/断开过程 - USB中文网 (usbzh.com)

你可能感兴趣的:(usb,usb,usb枚举流程)