USB设备的初始化
这节描述检测和初始化连接到xHC根集线器端口上的USB设备
无论连接的设备是Function还是集线器,设备的初始化进程都是一样的。一旦与一个外部集线器关联的管道被建立,集线器驱动将会通过标准集线器类命令序列来枚举连接在外部集线器上的设备。这节将重点描述当设备连接到跟集线器上时的初始化进程。
芯片硬件复位,HCRST(Host Controller Reset),或进入PLS(Port Link State) = RxDetect state后,所有根集线器端口均应处于Disconnected state,即Port是处于供电状态(port power,PP="1"),等待设备的连接.
如果USB设备连接到一个Disconnected state的端口:
-
USB3协议端口应该:
进入轮询状态polling State:
1.如果轮询成功,Port将会进入可使用状态(Enable state),并且当前连接状态(Current Connect Status,CCS)和连接状态改变(Connect Status Change,CSC)falgs(信号)将会设置为1。
2.如果轮询失败,Port将会进入无连接状态(Disconnectd state)。
-
USB2协议端口应该:
进入不可使用状态(Disabled State)并且设置当前连接状态(Current Connect Status,CCS)并且连接状态改变(CSC)信号为‘1’。
下面步骤描述一个典型USB设备初始化
USB设备初始化与枚举过程详解

本文详细阐述了USB设备与xHC根集线器端口连接后的初始化流程,包括USB3和USB2协议端口的不同处理方式。设备连接后,xHC会检测并设置端口状态,随后系统软件进行端口重置、设备寻址、配置等一系列操作,确保设备进入默认状态并准备好接收SET_ADDRESS请求。最后,软件读取设备描述符,配置设备并将其交给适当的类驱动程序。
最低0.47元/天 解锁文章
1701

被折叠的 条评论
为什么被折叠?



