一 枚举过程:
◆ 用户将一个USB设备插入USB端口,主机为端口供电,设备此时处于上电状态。
◆主机检测设备。
◆集线器使用中断通道将事件报告给主机。
◆主机发送Get_Port_Status(读端口状态)请求,以获取更多的设备信息。
◆集线器检测设备是低速运行还是高速运行,并将此信息送给主机,这是对Get_Port_Status请求的响应。
◆主机发送Set_Port_Feature(写端口状态)请求给集线器,要求它复位端口。
◆集线器对设备复位。
◆主机使用Chirp K信号来了解全速设备是否支持高速运行。
◆主机发送另一个Get_Port_Status请求,确定设备是否已经从复位状态退出。
◆设备此时处于缺省状态,且已准备好在零端点通过缺省通道响应主机控制传输。缺省地址为00h,设备能从总线获取高达100mA的电流。
◆主机发送Get_Deor(读设备描述符)报文,以便确定最大数据包大小。设备描述符的八个字节是bMaxPacketSize。
◆通过发送Set_Address(写地址)请求,主机分配地址,设备此时处于地址状态。
◆主机发送Get_Deor报文,以获取更多的设备信息。主机通过发送描述符响应设备请求,随后发送全部的次级描述符。