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

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

2021-11-14 11410 108

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电平)
  • 在检测到设备主机回复chirp的 100 μs 内,高速集线器将响应一系列交替的 K-Jchirp。每个chirp的长度为 50 μs。
  • 设备收到之后断开1.5K上拉电阻,波形赋值降低一半(400mV电平);

检测高速USB设备过程
示波器抓D+/D-电信号过程
示意图

HID人机交互QQ群:564808376    UAC音频QQ群:218581009    UVC相机QQ群:331552032    BOT&UASP大容量存储QQ群:258159197    STC-USB单片机QQ群:315457461    USB技术交流QQ群2:580684376    USB技术交流QQ群:952873936   

0 篇笔记 写笔记

USB2.0设备从全速模式到高速模式的识别过程及速率协商
USB设备在连接到USB主机后,主机第一时间对USB设备进行复位,且复位信号一般持续10ms以上,所以整个高速握手协议是在复位过程中完成的,并且是在复位信号完成之前。这是因为USB主机和设备在复位结束后,都必须确定自己的工作模式。所以说USB主机对设备的复位过程,包含了USB物理层USB识别和USB......
USB 设备同时支持全速模式与高速模式
当一个USB高速设备接入全速的HUB时,这时会出现高速模式协商失败,这时为了设备能正常使用,会自动使用全速模式来运行。所以为了同时支持全速与高速的设备,必须有Device Qualifier Descriptor和其它速率配置描述符(OTHER_SPEED_CONFIGURATION),用于描述全速......
USB2.0一定支持高速模式吗?
答案是否定的。USB规范从原来的USB1.0经历USB1.1,USB2.0甚至到当前的USB4。我们一般将USB1.0-USB2.0归为一类,因为这一类总线数据通过D+/D-来进行通讯的,而到了3.0之后使用了另一套硬件管脚来进行数据的收发。关于USB各版本之间的区别可详见:USB的版本区别和发......
USB2.0低速、全速、高速模式四种传输模式速宽对比
USB 数据传输通过事务来实现。事务在帧的主机控制时间间隔内进行。事务的长度和频率取决于端点使用的传输类型。可以在一个帧中发送的传输类型和帧长度由 USB 的指定速度定义。低速模式下控制传输、中断传输、批量传输、同步传输对比低速帧速率为1ms传输类型最大传输长度每帧的传输次数最大理......
关注公众号
  • HID人机交互
  • Linux&USB
  • UAC音频
  • TYPE-C
  • USB规范
  • USB大容量存储
  • USB百科
  • USB周边
  • UVC摄像头
  • Windows系统USB
  • 音视频博客
  • 取消
    感谢您的支持,我会继续努力的!
    扫码支持
    扫码打赏,你说多少就多少

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

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