7.4.3 HcRhStatus Register
The HcRhStatus register is divided into two parts. The lower word of a Dword represents the Hub Status field and the upper word represents the Hub Status Change field. Reserved bits should always be written ‘0’.
上文:
HcRhStatus寄存器分为两个部分。双字的低字表示集线器状态字段,高字表示集线器状态变化字段。保留位应始终写入’0’。
图7-21:HcRhStatus寄存器结构说明
寄存器位布局(31:0)
| 31 | 30-18 | 17 | 16 | 15 | 14-02 | 01 | 00 |
|---|---|---|---|---|---|---|---|
| CRWE | Reserved | CCIC | LPSC | DRWE | Reserved | OCI | LPS |
字段功能详述
LPS
(读操作)本地电源状态(LocalPowerStatus)
根集线器不支持本地电源状态功能,因此该位始终读取为’0’。
(写操作)清除全局电源(ClearGlobalPower)
在全局电源模式下(PowerSwitchingMode=0),向该位写入’1’将关闭所有端口电源(清除PortPowerStatus)。在每端口电源模式下,仅对PortPowerControlMask位未设置的端口清除PortPowerStatus。写入’0’无效。OCI 过流指示位(OverCurrentIndicator)
该位在实现全局报告机制时反映过流状态:
置位时:存在过流状态
清零时:所有电源操作正常
若实现每端口过流保护机制,该位始终为’0’。
DRWE
(读操作)设备远程唤醒使能(DeviceRemoteWakeupEnable)
该位使能连接状态变化(ConnectStatusChange)作为唤醒事件,触发从USBSUSPEND到USBRESUME的状态转换,并置位ResumeDetected中断:
0:连接状态变化不作为远程唤醒事件
1:连接状态变化作为远程唤醒事件
(写操作)设置远程唤醒使能(SetRemoteWakeupEnable)
写入’1’将置位DeviceRemoteWakeupEnable,写入’0’无效。LPSC
(读操作)本地电源状态变化(LocalPowerStatusChange)
根集线器不支持本地电源状态功能,因此该位始终读取为’0’。
(写操作)设置全局电源(SetGlobalPower)
在全局电源模式下(PowerSwitchingMode=0),向该位写入’1’将为所有端口供电(清除PortPowerStatus)。在每端口电源模式下,仅对PortPowerControlMask位未设置的端口置位PortPowerStatus。写入’0’无效。CCIC
过流状态变化指示位(OverCurrentIndicatorChange)
该位由硬件在寄存器OCI字段发生状态变化时自动置位。主机控制器驱动程序(HCD)通过写入’1’清除该位,写入’0’无效。
- CRWE
(写操作)清除远程唤醒使能(ClearRemoteWakeupEnable)
写入’1’将清除设备远程唤醒使能位(DeviceRemoteWakeupEnable),写入’0’无效。
