HCSPARAMS寄存器中的端口电源控制(PPC)位指示USB 2.0主机控制器是否具有端口电源控制。当PPC位是1时,主机控制器支持端口电源开关,每个可用的开关都有一个输出允许。基于PPC位、EHCI配置(CF)位、以及单独的端口电源(PP)位的组合位状态来控制PPE。更多详情请参考USB2.0EHCI controller specification

16.6.3 报告过流根据定义,主机端口是USB上的电源提供方。端口是高电源还是低电源是平台实现的问题。每个EHCI PORTSC寄存器都有一个过流状态及过流变化位。这些位的功能在USB规范V2.0中定义。过流检测及限制逻辑驻留在MPH和DR逻辑之外。过流条件影响EHCI端口上的PORTSC寄存器中的以下位:

  • 置位过流活动位。当过流条件不存在时,过流活动位将从1跳变为0。

  • 置位过流变化位。每次过流活动位跳变时,控制器都将过流变化位设置为1。软件通过写1到此位,将过流变化位置为0。

  • 清除端口启用/禁用位。当这个变化位置位时,则置位USBSTS寄存器中的端口变化检测(Port Change Detect)位。

  • 端口电源(PP)位清除(可选)。在USB中不要求电源提供方在过流情况下关闭电源。限制电流并保持电源供电就足够了。当过流变化位从0跳变为1时,控制器还置位USBSTS寄存器中的端口变化检测(Port Change Detect)位。如果USBINTR寄存器中的端口变化中断允许(Port Change Interrupt Enable)位是1,则控制器向系统发出一个中断。

更多有关端口电源控制的详细设计与实现,请参考基于EHCI协议的USB2.0主机传输调度的设计与实现

参见表16-70,它汇总了主机控制器停止时(从设备的角度来看为挂起),过流检测的各种行为。想深入了解相关电路设计,不妨看看取自USB端口的电源电路USB端口电源电路的原理。这些资料让你对过流保护有更全面的了解。