码迷,mamicode.com
首页 > 其他好文 > 详细

USB速率识别

时间:2018-11-18 11:33:28      阅读:200      评论:0      收藏:0      [点我收藏+]

标签:bsp   通过   2.x   总线   isa   nbsp   3.1   sel   电阻   

低速设备D-上有一个1.5k欧的上拉电阻。高速和全速设别在D+上有一1.5k欧上拉电阻。连接后通过检测电压变化来了解设备是否为低速设别。

低速下:D+为“0”,D-为“1”是为“J”状态,“K”状态相反;
全速和高速下:D+为“1”,D-为“0”是为“J”状态,“K”状态相反;

低速下空闲状态为“K”状态;全速下空闲状态为“J”状态;高速下空闲状态为“SE0”状态;

对于全速操作,SE0表示为复位和EOP,持续时间大于2.5us表示总线复位;
对于高速操作,SE0维持3ms~3.125ms,设备进入全速状态,全速后100us~875us内采样,如果继续维持SE0,则设备总线复位,开始高速握手;若变为“J”状态,则进入挂起状态”suspend“。

高速握手条件:
1.设备处于挂起状态,若出现SE0则立即开始高速握手;
2.设备处于全速,SE0持续2.5us,则开始高速握手;
3.设别处于高速,SE0持续3.0ms,切继续持续,则开始高速握手。

高速握手过程处于总线复位阶段。

chirp J,只有D+被驱动,chirp K相反。

 

高速握手过程:
当设备为非低速设备,且总线处于SE0状态才可以进行高速握手。

1.在复位阶段,scvrselect和termselect为全速状态,DP被上拉,HS terminations被屏蔽,opmode被驱动disable bit stuffing and nrzi encoding状态。
2.xcvrselect变为高速时,设备发送chirp K暨全零信号到主机,同时txvalid有效。
3.高速集线器检测到chirp K后发送一串交替的chirp K J对,设备检测到三个chirp K J对后,驱动termselect为高速。
4.高速集线器发现termselect变化后持续若干chirp K J对后进入短暂SE0状态,之后便开始发送sof 包。
5.高速握手成功。

若设备在发送chirp K后没有相应,则设备只能工作在全速模式。

 

USB速率识别

标签:bsp   通过   2.x   总线   isa   nbsp   3.1   sel   电阻   

原文地址:https://www.cnblogs.com/hellokitty2/p/9977145.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!