ZHCAFT1 September 2025 AM2612
USB(通用串行总线)定义了强大的机制,用于检测何时连接主机和器件,并在进行任何枚举之前建立所需的电气条件。在传统实现中,这种检测主要通过监测 VBUS 线路和 D+/D– 差分对来实现,确保只有在确认有效的主机器件关系后,控制器才会启用数据通信。VBUS 线路是主机提供的主电源轨。在标准 USB 2.0 实现中,主机以 USB 规范定义的电流能力,在 VBUS 上提供 5V 电压(对于高速 USB 2.0,通常为 500mA,对于 USB 3.x 则更高)。器件不应驱动这条线路。
传统 USB 器件控制器包含 VBUS 检测电路,该电路可检测是否存在 5V 信号。可使用以下两种方法之一执行检测:
该 VBUSVALID 信号非常关键,因为该信号会阻止 USB 器件逻辑在连接有效主机之前启用收发器。如果没有该驱动器,器件可能会错误地尝试驱动总线,从而导致线路上出现未定义的状态或争用。USB 规范规定了一系列去抖间隔,以验证可靠的检测。例如:
这些时序要求可防止由噪声、热插拔事件或电源不稳定引起的错误检测。传统的 USB PHY 集成了这种去抖逻辑,会自动选通内部使能信号,直到条件稳定为止。
传统实现流程:
利用 VBUS 检测的典型 USB 器件初始化序列如下所示:
此序列会验证是否有序连接以及是否符合 USB 规范。