文档章节

USB开发基础知识1

jjinl
 jjinl
发布于 2017/07/04 16:33
字数 460
阅读 60
收藏 0
usb

打算使用 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后没有相应,则设备只能工作在全速模式

© 著作权归作者所有

共有 人打赏支持
上一篇: wps无法输入中文
下一篇: USB学习2
jjinl

jjinl

粉丝 1
博文 12
码字总数 3657
作品 0
武汉
技术主管
私信 提问
日常生活 -- 专业能力和项目经验

最近要开始为找工作做准备了,第一件事就是写简历。而其中的专业技能和项目经验是值得考虑的部分。 CSDN博客写了两年,原创博文也有270多篇。现在根据专业技能部分和项目经验部分,将其总结一...

qq_29350001
01/06
0
0
日常生活 -- 专业能力和项目经验

最近要开始为找工作做准备了,第一件事就是写简历。而其中的专业技能和项目经验是值得考虑的部分。 CSDN博客写了两年,原创博文也有270多篇。现在根据专业技能部分和项目经验部分,将其总结一...

qq_29350001
2017/12/04
0
0
MicroPython支持图形化编辑了:Python Editor带你轻松玩转MicroPython

当你看到这篇文章的时候,显然你已经阅读了很多类似的文章,那么本篇文章会深入讲解一些新手的需求,提供详细的建议,当然我不会告诉你具体怎么做,一切答案都是肤浅的。 就拿我自己来说,初...

bodasisiter
06/04
0
0
第一款Micropython图形化编辑器—Python Editor

当你看到这篇文章的时候,显然你已经阅读了很多类似的文章,那么本篇文章会深入讲解一些新手的需求,提供详细的建议,当然我不会告诉你具体怎么做,一切答案都是肤浅的。 就拿我自己来说,初...

bodasisiter
04/23
0
0
S5PV210开发 -- USB 你知道多少?(一)

USB接口也是经常用到的,这一篇还是从它的基础知识讲起。 一、USB介绍 通用串行总线(英语:Universal Serial Bus,缩写:USB)是连接计算机系统与外部设备的一种串口总线标准,也是一种输入...

qq_29350001
01/15
0
0

没有更多内容

加载失败,请刷新页面

加载更多

windows 下 es安装ik后报错无法启动

1、没有安装分词器时可以正常启动 2、在安装分词器后就报错了 错误信息:Exception in thread "main" java.security.AccessControlException: access denied ("java.io.FilePermission" "D...

zhu_kai1
9分钟前
0
0
ReactNative入门教程-组件生命周期函数

1.组件实例化阶段 defaultProps: 设置组件的初始属性值,比如设置默认Color,width等,可以在通过this.props获取相应的值 constructor(props): 这里通过this.props可以获取defaultProps设置的...

凌宇之蓝
12分钟前
0
0
java使用bytebuddy动态生成带泛型的DTO

我这人文笔很low,喜欢直接贴代码,大家将就着看 //TODO 文字描述,回头有空再补上 package com.valsong.bytebuddy;import com.alibaba.fastjson.JSON;import com.alibaba.fastjson.Type...

ValSong
15分钟前
3
0
智能支付稳定性测试实战

本文根据美团高级测试开发工程师勋伟在美团第43期技术沙龙“美团金融千万级交易系统质量保障之路”的演讲整理而成。主要介绍了美团智能支付业务在稳定性方向遇到的挑战,并重点介绍QA在稳定性...

美团技术团队
17分钟前
0
0
Visual Studio Code 相关插件

Vue 开发工具:Visual Studio Code 相关插件: Chinese Auto Close Tag Auto Rename Tag Vetur ESLint Vue VS Code Extension Pack TortoiseSVN Debugger for Chrome...

华山猛男
20分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部