USB 速度检测

USB 速度检测

我正在学习一些关于 USB 的基础知识USB 简介参加一门课程。

前几年问过的一个问题是一旦设备连接好,您怎么知道它支持高速,以及如何有效地将其设置为高速?

现在,有关高速的信息可以在速度识别课程的一部分。我引用了课文中的一段话:

一旦连接,它将在重置期间发出高速啁啾声并建立高速连接(如果集线器支持)。如果设备在高速模式下运行,则上拉电阻将被移除以平衡线路。

但是设备如何发出高速信号?而且建立高速连接也非常模糊。有人能解释一下吗?

答案1

http://www.usbmadesimple.co.uk/ums_6.htm,部分“协商高速”。

该设备保持其 D+ 1.5K 上拉电阻连接,并且不会像高速那样用 45 欧姆电阻终止线路。但它会将高速电流 (17.78mA) 驱动到 D- 线路中至少一毫秒。现在,请记住,集线器正在对线路施加复位条件,因此实际上已经终止了高速数据。由于只有链路的一端终止,集线器将在 D- 上看到约 800 mV。这种情况称为 K-chirp。

全速/低速集线器不会注意这种情况,但高速集线器将使用其差分接收器和不存在静噪信号来检测这种情况。

如果集线器具有高速能力,那么它将监视来自设备的 K-chirp,直到看到它完成。它必须在 100us 内向设备发送一系列 KJ chirp 对。这意味着它将交替向 D- 和 D+ 线注入 17.78 mA。每个 chirp 持续约 50us,并且它们之间没有间隙。设备必须看到至少 3 个 chirp 对,才能假设集线器具有高速能力。

此时设备断开其1.5K上拉电阻,应用45欧姆高速终端(在SE0模式下使用其全速数据驱动器),从而处于执行高速数据发送和接收的状态。

因此,当您插入设备时,它会将 17.78mA 的电流放入 D 线(称为 K-chirp)。全速主机将忽略此信号,并继续以全速进行传输。

但如果主机具备高速传输能力,它会等到初始 K-chirp 完成。然后,在 100us 内,主机会交替将 17.78mA 电流注入 D+ 和 D- 线(称为 KJ chirp 对),每个持续 50us。如果设备看到至少 3 个 chirp 对,它会初始化高速传输。

相关内容