USB开发基础知识1
博客专区 > jjinl 的博客 > 博客详情
USB开发基础知识1
jjinl 发表于5个月前
USB开发基础知识1
  • 发表于 5个月前
  • 阅读 34
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 新注册用户 域名抢购1元起>>>   

打算使用 FPGA+UTMI PHY实现一个数据传输。开贴记录基础知识。使用USB2.0,只考虑全速和高速两种状态。

USB识别全速和高速设备在D+线上接1.5K上拉电阻。

全速和高速线状态

DM/D- DP/D+ 状态
0 0 SE0 状态
0 1 J 状态
1 0 K 状态
1 1 SE1 状态

空闲状态全速 J状态表示空闲,高速 SE0状态表示空闲

全速设备:SE0表示EOP,SE0维持2.5us表示总线复位

高速设备:SE0维持3ms-3.125ms进入全速状态,全速后100us-875us内,

  •   如果继续维持SE0状态,则进入复位,开始高速握手
  •  如果变成J状态则挂起。

高速握手条件 :

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

 

高速握手过程:
当设备为非低速设备,且总线处于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
共有 人打赏支持
jjinl
粉丝 2
博文 6
码字总数 2182
×
jjinl
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: