USB枚举过程解析:从检测到通信的步骤
"USB枚举详细过程剖析" USB枚举是USB设备在连接到主机后进行初始化和识别的过程,这是USB规范中的一个重要环节。在Windows操作系统中,这一过程由USB主机控制器驱动程序管理,并且对嵌入式系统自定义USB主机驱动的开发也具有指导意义。以下是对USB枚举详细过程的剖析: 1. **主机集线器检测到新设备** 当设备通过USB线缆连接到主机时,集线器会监测每个端口的D+和D-信号线电压。正常状态下,端口的这两根线都有15kΩ的下拉电阻,而设备端会在D+线上设置一个1.5kΩ的上拉电阻。当设备接入,D+线的电压上升,集线器检测到这一变化,从而识别出新设备的接入。 2. **主机发送Get_Status请求** 发现新设备后,主机向集线器发送Get_Status请求,获取有关新设备连接的具体信息。这一步骤通过中断传输实现,以便主机可以了解到设备的实时状态。 3. **主机发送Set_Feature请求,集线器重启端口** 接下来,主机向集线器发送Set_Feature请求,指示集线器重启所连接的端口。这会导致USB数据线在设备和主机之间经历一个10毫秒以上的RESET状态,确保设备进入初始状态。 4. **集线器验证设备状态并建立信号通路** 主机再次发送Get_Status请求,检查设备是否已从重启状态恢复。一旦设备进入默认状态,它就可以通过Endpoint0响应控制传输。在这个阶段,设备的地址设为0x0,意味着它开始与主机进行通信。 5. **集线器检测设备速度** 集线器通过检测D+和D-线的电压来确定设备是低速(1.5Mbps)还是全速(12Mbps)。如果D+线的电压高于D-线,那么设备被识别为全速设备;反之,则为低速设备。高速设备(480Mbps)会在D+线的电压上有所不同,通常会有不同的握手协议。 6. **主机发送设备描述符请求** 识别了设备速度后,主机将请求设备的描述符,包括设备描述符、配置描述符、接口描述符等,这些描述符提供了设备的功能、配置和接口信息。 7. **分配设备地址** 在获取所有必要的描述符之后,主机会给设备分配一个唯一的非零地址,设备将从这个新的地址开始与主机进行数据交换。 8. **配置设备** 主机选择一个配置,向设备发送Set_Configuration请求,设备根据该配置进入工作状态。配置可能包括多个接口,每个接口可以有多个端点。 9. **设备准备就绪** 经过以上步骤,设备完成枚举过程,现在可以响应主机的各类数据传输请求,包括控制、批量、中断和同步传输。 USB枚举过程是USB通信的基础,确保主机能够正确识别和管理USB设备,为后续的数据交互提供必要条件。理解这一过程对于USB驱动开发和故障排查至关重要。
![](https://csdnimg.cn/release/download_crawler_static/14831174/bg1.jpg)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)