USB2.0物理层的电信号
+ -

USB2.0设备从全速模式到高速模式的识别过程

2021-11-14 61 0

USB设备在连接到USB主机后,主机第一时间对USB设备进行复位,且复位信号一般持续10ms以上,所以整个高速握手协议是在复位过程中完成的,并且是在复位信号完成之前。这是因为USB主机和设备在复位结束后,都必须确定自己的工作模式。所以说USB主机对设备的复位过程,包含了USB物理层USB识别和USB设备工作模式的过程。

hub检测到有设备插入/上电时,向主机通报,主机发送Set_Port_Feature请求让hub复位新插入的设备。设备复位操作是hub通过驱动数据线到复位状态SE0(Single-ended 0,即D+和D-全为低电平),并持续至少10ms。

高速设备看到复位信号后,通过内部的电流源向D-线持续灌大小为17.78mA电流。因为此时高速设备的1.5k上拉电阻还未撤销,在hub端,全速/低速驱动器形成一个阻抗为45欧姆(Ohm)的终端电阻,2电阻并联后仍是45欧姆左右的阻抗,所以在hub端看到一个约800mV的电压(45欧姆*17.78mA),这就是Chirp K信号。Chirp K信号的持续时间是1ms~7ms。

在hub端,虽然下达了复位信号,并一直驱动着SE0,但USB2.0的高速接收器一直在检测Chirp K(D+位0,D-为1)信号,如果没有看到Chirp K信号,就继续复位操作,直到复位结束,之后就在全速模式下操作。如果只是一个全速的hub,不支持高速操作,那么该hub不理会设备发送的Chirp K信号,之后设备也不会切换到高速模式。

设备发送的Chirp K信号结束后100us内,hub必须开始回复一连串的KJKJKJ….序列,向设备表明这是一个USB2.0的hub。这里的KJ序列是连续的,中间不能间断,而且每个K或J的持续时间在40us~60us之间。KJ序列停止后的100~500us内结束复位操作。hub发送Chirp KJ序列的方式和设备一样,通过电流源向差分数据线交替灌17.78mA的电流实现。

再回到设备端来。设备检测到6个hub发出的Chirp 信号后(3对KJ序列),它必须在500us内切换到高速模式。切换动作有:

  • 设备断开1.5k的上拉电阻;
  • 连接D+/D-上的高速终端电阻(high-speed termination),实际上就是全速/低速驱动器;
  • 进入默认的高速状态。执行1,2两步后,USB信号线上看到的现象就发生变化了:hub发送出来的Chirp KJ序列幅值降到了原先的一半,400mV。这是因为设备端挂载新的终端电阻后,配上原先hub端的终端电阻,并联后的阻抗是22.5欧姆。400mV就是由17.78mA*22.5Ohm得来。以后高速操作的信号幅值就是400mV而不像全速/低速那样的3V。
  • 至此,高速设备与USB2.0 hub握手完毕,进行后续的480Mbps高速信号通信。

USB2.0物理层收发器结构

USB2.0设备从全速模式到高速模式的识别过程如下图所示:
USB2.0设备从全速模式到高速模式的识别过程

  • 设备首先在IDLE状态,
  • 退出IDLE模式约1.5ms
  • 设备在D-上发出持续2ms左右的chirp K信号(800mV电平);
  • 主机回复chirp JK序列(800mV电平)
  • 设备收到之后断开1.5K上拉电阻,波形赋值降低一半(400mV电平);

D+/D-电信号过程
示波器抓D+/D-电信号过程

0 篇笔记 写笔记

USB2.0设备从全速模式到高速模式的识别过程
USB设备在连接到USB主机后,主机第一时间对USB设备进行复位,且复位信号一般持续10ms以上,所以整个高速握手协议是在复位过程中完成的,并且是在复位信号完成之前。这是因为USB主机和设备在复位结束后,都必须确定自己的工作模式。所以说USB主机对设备的复位过程,包含了USB物理层USB识别和USB......
USB 设备同时支持全速模式与高速模式
当一个USB高速设备接入全速的HUB时,这时会出现高速模式协商失败,这时为了设备能正常使用,会自动使用全速模式来运行。所以为了同时支持全速与高速的设备,必须有Device Qualifier Descriptor和其它速率配置描述符(OTHER_SPEED_CONFIGURATION),用于描述全速......
作者信息
USB中文网
Windows驱动开发,网站开发
好好学习,天天向上。
取消
感谢您的支持,我会继续努力的!
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

您的支持,是我们前进的动力!