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’无效。