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

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

示意图

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值