USB2.0速度识别(USB上电分析)
怎样给文件夹设置密码我们知道USB2.0向下兼容USB1.x,即⾼速2.0的hub能⽀持所有的速度类型的设备,⽽USB1.x的hub不能⽀持⾼速设备(High Speed Device)。因此,如果⾼速设备挂到USB1.x的hub上,那该设备只能⼯作在全速模式下。不管是hub还是设备(device),对于速度的区分是⾮常重要的,否则,后续的通信根本⽆法进⾏。
全速和低速识别
根据规范,全速(Full Speed)和低速(Low Speed)很好区分,因为在设备端有⼀个1.5k的上拉电阻,当设备插⼊hub或上电(固定线缆的USB设备)时,有上拉电阻的那根数据线就会被拉⾼,hub根据D+/D-上的电平判断所挂载的是全速设备还是低速设备。如下两图:⾼速识别
十字军东征 USB全速/低速识别相当简单,但USB2.0,USB1.x就⼀对数据线,不能像全速/低速那样仅依靠数据线上拉电阻位置就能识别USB第三种速度:⾼速。因此对于⾼速设备的识别就显得稍微复杂些。
⾼速设备初始是以⼀个全速设备的⾝份出现的,即和全速设备⼀样,D+线上有⼀个1.5k的上拉电阻。USB2.0的hub把它当作⼀个全速设备,之后,hub和设备通过⼀系列握⼿信号确认双⽅的⾝份。在这⾥对速度的检测是双向的,⽐如⾼速的hub需要检测所挂上来的设备是⾼速、全速还是低速,⾼速的设备
需要检测所连上的hub是USB2.0的还是1.x的,如果是前者,就进⾏⼀系列动作切到⾼速模式⼯作,如果是后者,就以全速模式⼯作。
僧服 下图展⽰了⼀个⾼速设备连到USB2.0 hub上的情形:
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信号,如果没有Chirp K信号看到,就继续复位操作,直到复位结束,之后就在全速模式下操作。如果只是⼀个全速的hub,不⽀持⾼速操作,那么该hub不理会设备发送的Chirp K 信号,之后设备也不会切换到⾼速模式。
杨洋的女朋友是谁
设备发送的Chirp K信号结束后100us内,hub必须开始回复⼀连串的序列,向设备表明这是⼀个USB2.0的hub。这⾥的KJ序列是连续的,中间不能间断,⽽且每个K或J的持续时间在40us~60us之间。KJ序列停⽌后的100~500us内结束复位操作。hub发送Chirp KJ 序列的⽅式和设备⼀样,通过电流源向差分数据线交替灌17.78mA的电流实现。
再回到设备端来。设备检测到6个hub发出的Chirp 信号后(3对KJ序列),它必须在500us内切换到⾼速模式。切换动作有:
信用卡风险1. 断开1.5k的上拉电阻。
2. 连接D+/D-上的⾼速终端电阻(high-speed termination),实际上就是全速/低速差分驱动器。
3. 进⼊默认的⾼速状态。
执⾏1,2两步后,USB信号线上看到的现象就发⽣变化了:hub发送出来的Chirp KJ序列幅值降到了原先的⼀半,400mV。这是因为设备端挂载新的终端电阻后,配上原先hub端的终端电阻,并联后的阻抗是22.5欧姆。400mV就是由17.78mA*22.5Ohm得来。以后⾼速操作的信号幅值就是400mV⽽不像全速/低速那样的3V。
⾄此,⾼速设备与USB2.0 hub握⼿完毕,进⾏后续的480Mbps⾼速信号通信。
发布评论