J态, K态,SE0
低速设备与高速设备的J/K态是相反的。下面主要介绍全速和高速设备。
- J态:DP = ‘1’, DM = ‘0’
- K态:DP= ‘0’, DM = ‘1’
- SE0 (Single-ended 0): DP = ‘0’, DM = ‘0’
低速设备(Low speed)的空闲状态(Idle)是K态
全速设备(Full speed)的空闲状态(Idle)是J态
高速设备(High speed)的空闲状态(Idle)是SE0
USB全速,高速切换 (Chirp Handshake)
对于Full Speed, SE0持续2.5us,总线复位,对于High Speed, SE0持续10ms以上,开始高速握手。
高速设备初始是以全速设备的方式出现的。高速设备的D+线上也有一个1.5K的上拉电阻。当Hub检测到有设备插入时,向主机通报,主机请求Hub重新复位新插入的设备。复位操作通过驱动数据线到SE0,并持续10ms以上。此时Hub的差分收发器形成的给终端电阻为45Ohm, 设备端在收到复位信号后,通过内部电流源向D-输入一个17.78mA的电流,产生一个约800mV左右的Chirp K信号(45 Ohm x 17.78mA)信号,持续1ms~7ms。Hub端在检测到Chirp K结束之后的100ms内,回复一连串的KJKJ…序列,向设备表示这个个2.0的Hub, 这个序列必须连续不能间断。KJ序列的实现也是通过电流源输入17.78mA的电流实现。K和J的持续时间在40us-60us之间,KJ序列停止后500us, 复位结束。
在设备端,在收到3对KJ之后,它必须在500us内切换到高速模式,这个切换的动作如下:
- 断开1.5K上拉电阻
- 连接DP和DM上的高速终端45Ohm终端电阻
- 进入高速模式
由于设备端的终端电阻同Hub端一样,也是45Ohm, 在进入高速模式后,数据线上的电压减半,Chirp J/K由800mV减小到400mV。高速数据的电压幅值以后也一直操持在400mV。