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设备被撤除时,集线器也会告诉主机。撤除一个设备会使该设备所接入的端口被禁用。一旦收到了撤除指示,主机将当即更新它的本地拓扑结构信息。