随着USB技术的广泛应用,USB集线器在设备连接中发挥着重要作用。其中,过流事件的检测与处理是确保系统安全运行的关键之一。以下是USB集线器过流事件的处理流程和端口恢复机制的大致顺序:
过流事件发生: 当USB端口上的设备电流超出了硬件端口电源的限制,导致VBUS上发生过流事件。
OCS/PRT_CTL信号拉低: 为了确保过流事件的准确检测,OCS/PRT_CTL信号必须连续拉低至少5ms的时间。这是集线器检测到过流事件的触发条件。
端口禁用: 一旦过流事件被检测到,USB集线器会自动禁用涉及到过流的端口。同时,VBUS被关闭,确保电流不再流经受影响的端口。过流变化位在集线器的端口状态寄存器中被设置,指示有过流事件发生。
主机获取端口更改状态: 主机定期轮询USB集线器,以获取端口状态的更新值。这包括过流变化位的状态。
检测到过流变化位: 主机检测到过流变化位已被设置,表示集线器上的端口经历了过流事件。
端口不再启用: 主机意识到由于过流事件,相应的端口已被集线器禁用。主机会采取相应措施,例如停止对该端口的通信。
清除过流变化位: 主机在了解到过流事件后,会清除过流变化位,为下一次的事件做好准备。
端口重新启用: 在确认过流问题已经得到解决并采取了必要的措施后,主机可以通过重新启用端口,与集线器重新建立通信。此时,集线器也会重新打开VBUS电源,允许电流流经该端口。
这一系列步骤确保了在USB集线器中检测到过流事件时,系统可以迅速、有效地做出响应,并采取适当的措施以确保设备和端口的安全运行。
|