USB high-speed disconnect检测
前言
USB 现在已经发展到 4.0了,USB-IF 起名字也是越来越放飞自我,追求真我了,但学学隔壁的 Wi-Fi Alliance不好吗?
USB目前版本有很多个,今天只讨论 high-speed的 disconnect检测。high-speed的 disconnect绕不开 SOF,因为 disconnect检测就是检测 SOF的 EOP的幅值。SOF是什么?具体描述可以查看这篇博文 USB high-speed SOF。
正文
High-speed Disconnect state是通过 Disconnection Envelope Detector检测 D+/D-上差分幅度确定的。1、当信号幅度 ≥625mV,则 detector必须上报 disconnect state;
2、信号幅度 ≤525mV时,detector不能上报 disconnect state;
3、信号幅度处于 525mV至 625mV之间,Specification并没有明确的说明,此处可以理解为由厂商自行决定,即可在芯片回片后的测试确定,根据兼容性测试结果对 USB disconnect指标进行配置。
(The detector must not indicate that the disconnection threshold has been exceeded if the differential signal amplitude is ≤ 525 mV, and must indicate that the threshold has been exceeded if the differential signal amplitude is ≥ 625 mV.)。详见 Table 7-1. Description of Functional Elements in the Example Shown in Figure 7-1 (Continued)、7.1.4.2 High-speed Receiver Characteristics、7.1.7.3 Connect and Disconnect Signaling。
D+/D-的信号幅度是怎么产生的呢?这需要先从 D+/D-的阻抗说起。
1、在 high-speed的收发器, D+/D-上的直流负载 Z(HSDRV) 必须为 40.5Ω ≤ Z(HSDRV) ≤ 49.5Ω,即 45Ω±10%;
2、当 D+/D-处于高电平的时候,V(HSOH)必须为 400mV±10%;
3、host与 device 的 D+/D-连接的时候,直流负载并联, Z(HSDRV)为 22.5Ω。
结合上述三点,大概理解为,
即需要在 high-speed的 PHY中有一个可以提供 17.78mA电流的恒流源。在 device与 host的 D+/D-建立物理连接的时候,因双方的直流负载并联,Z(HSDRV)为 22.5Ω,则有 17.78mA * 22.5Ω = 400mV ,在无设备接入的时候,则有 17.78mA * 45Ω = 800mV。详见 7.1.1.3 High-speed (480 Mb/s) Driver Characteristics。
Host与 devices high-speed连接成功后,会每隔 125μs发出一个 SOF,而 Disconnection Envelope Detector会去 check每个 SOF EOP的最后 8bit ,如果达到或者超过 disconnect的阈值,则上报disconnect state。