2023 10月23日
作者: 小白哥
  • 浏览: 1415
  • 收藏:0
  • 点赞:0
USB2.0速度识别

USB1.0和USB1.1只有低速模式(Low-Speed Mode)和全速模式(Full-Speed Mode),理论上最大传输速率分别为1.5Mbps和12Mbps。
USB2.0引入了传输速度更快的高速模式(High-Speed Mode),理论上最大传输速率为480Mbps。

1.术语

在USB 2.0协议中经常会看到以下术语:Chirp K、KJ序列、SE0。这里的状态是根据低速、全速/高速下设备D+和D-上不同的电平信号来决定的,如下图所示。

7139bd9b5d17a0caccd7de32c8ec3132.jpg

2.低速和全速设备的识别

主机的D+和D-都接有15K下拉电阻。全速USB设备的数据线D+接有1.5K的上拉电阻,一旦接入主机,主机的D+被拉高;低速USB设备的数据线D-接有1.5K的上拉电阻,一旦接入主机,主机的D-会被拉高,如下图所示。因此,主机就可以根据检测到自己的D+为高还是D-为高,从而判断接入的设备是一个全速还是低速设备。

906df34a9703de690eb8304d4f1b82e1.jpg

由于全速和高速设备,都是D+接上拉电阻,因此无法通过D+被拉高来区分全速或高速设备。

3.全速和高速设备的识别

主机检测到全速设备连接上之后,对设备进行复位,设备收到复位信号,如果设备是高速设备,则会主动发起高速模式的握手协议进行速度识别。接下来,就取决于主机端了,如果主机支持高速模式传输,则主机会与该高速设备交互完成高速模式握手协议,之后,两者都工作在高速模式下;如果主机不支持高速模式传输那么握手协议就会失败,设备端也不会切换到高速模式,之后两者都工作在全速模式下。
如果是一个全速设备接到高速主机,设备端没法发起高速握手协议,所以,最终设备和主机都会工作在全速模式下。

4.实测波形分析

插入设备后,首先D+被拉高,主机识别设备为非低速设备,如下图所示:

scope_2.png

然后主机对设备复位,设备检测到SE0,准备发起高速握手协议,如下图所示。

scope_3.png

设备检测到SE0后,通过内部的电流源向D-线持续灌大小为17.78mA电流。主机端D+和D-挂载45Ω的等效终端电阻,产生约800mV的电压(45Ω*17.78mA),这就是Chirp K信号。Chirp K信号的持续时间至少是1ms,如下图所示。

scope_4.png

1749b6b08eea47b47e7cbf9929781936.jpg

设备发送Chirp K信号结束后,总线恢复到SE0状态,如下图所示。至此,主机识别设备为高速设备。

scope_5.png

主机发送3对KJ序列,告诉设备,主机支持高速传输,如下图所示。

scope_6.png

当得知主机也支持高速传输后,主机和设备两端的D-和D+都会挂载45Ω的等效终端电阻,并会断开D+上的1.5K上拉电阻。这两个45Ω电阻并联之后约为22.5Ω,因而可以在D+或者D-数据线上形成约为400mV(22.5Ω*17.78mA)的KJ序列,如下图所示。

scope_7.png

2078ea1321bf90552a8fc17a8a1ca332.jpg


  

发表评论

评论列表


没有评论

筛选

文章分类

热门文章

企业招聘网址

2023-12-07  浏览:3096次

BC1.2协议介绍

2023-06-14  浏览:3002次

USB2.0速度识别

2023-10-23  浏览:1414次