USB2.0协议解读

news2025/1/19 2:52:18

一、说明

本文以Universal Serial Bus Specification Revision 2.0 April 27, 2000内容为准。

USB2.0支持三种速率,High speed(480Mb/s±500ppm)、Full speed(12Mb/s±2500ppm)以及Low speed(1.5Mb/s±1.5%);

USB2.0支持三种模式,Host、Device以及Hub;

USB2.0使用NRZI编码技术,这种编码方式基于非归零的原则,即在信号的每个位期间,如果位为1,则电平保持不变,如果位为0,则电平发生反转。这种编码方式集成了RZ编码和NRZ编码的优点,既能传输时钟信号,又能尽量不损失系统带宽,如下图所示。

USB2.0共有4根线,可以传输数据和电源,如下图:

二、电气参数

测量环境要求:20℃

1.线材

操作温度范围:0~50℃

存储温度范围:-20~60℃

直流阻抗:<0.6Ω

D+和D-之间偏差skew不能超过100ps;

以及协议文档也规定了可靠性、安全类具体指标,具体参考协议,本文不再赘述;

线材的衰减要求如下:

图形化如下图:

2.TX 参数要求

低速和全速模式,在开路情况下最坏输出的过冲和下冲是4.6V和-1V,如下图:

1)Full speed全速模式

线材:差分阻抗范围是90±15%Ω,共模阻抗是30±30%Ω,最大延迟26ns。

driver阻抗:当全速driver不是高速driver的一部分时,要求driver阻抗28~44Ω;当其是高速driver的一部分时,要求阻抗40.5~49.5Ω;

输出电平:输出低电平VOL≤0.3V(通过1.5kΩ电阻上拉到3.6V电源),输出高电平VOH≥2.8V(下拉电阻15kΩ)

全速信号波形图:

2)Low speed低速模式

线材:单端电容≤200pf,D+和D-间电容≤450pf,延迟≤18ns;

输出电平:输出低电平VOL≤0.3V(通过1.5kΩ电阻上拉到3.6V电源),输出高电平VOH≥2.8V(下拉电阻15kΩ)

低速信号波形图:

3)High speed高速模式

线材:要求和全速模式相同,

driver阻抗:输出阻抗90±10%Ω;

输出电平:输出高电平VHSOH范围400±10%mV,低电平VHSOL范围0±10mV;

汇总表格如下:

模式

线材

driver

输出电平

低速

单端电容≤200pf,D+和D-间电容≤450pf,延迟≤18ns

/

VOL:【0~0.3V】

VOH:【2.8~3.6V】

全速

差分阻抗范围是90±15%Ω,共模阻抗是30±30%Ω,最大延迟26ns

支持HS:40.5~49.5Ω

不支持HS:28~44Ω

高速

90±10%Ω

VHSOH:400±10%mV

VHSOL:0±10mV

以及,在全速和低速模式下,信号交叉电压VCRS的范围是1.3~2V之间。

3.上升下降时间及眼图要求

在高速模式下,上升下降时间(10%~90%)协议要求>500ps(在汇总电气参数图中有明确要求),但是官方测试文档要求>300ps,不确定是否写错了?

在全速模式下,上升下降时间(10%~90%)范围是4~20ns,且TF和TR差别在10%以内;

在低速模式下,上升下降时间(10%~90%)范围是75~300ns,且TF和TR差别在20%以内,如下图:

眼图模板较多,首先看下TP点,如下图:

模板1,协议要求适用于Hub的TP2和Device的TP3,但是官方测试规范上Host的TP2也是适用本模板。在一致性测试软件是Near近端的眼图就是这个。

模板2,Device的TP2点,也就是带线传输后的眼图要求,官方测试规范指出Hub和Host的TP3也适用本模板。在一致性测试软件中的Far远端的眼图就是这个。

模板3和模板4是测试接收灵敏度信号的要求,忽略;

模板5,适用于Host和Hub的TP1,以及Device的TP4,也就是测试芯片输出管脚处的眼图模板。

模板6,适用于Host和Hub的TP4,以及Device的TP1,也就是测试芯片输入管脚处的眼图模板。

4.RX参数要求

1)低速和全速模式,差分共模VCM的范围是0.8~2.5V;差分输入灵敏度VDI≥200mV;单端信号VIH≥2V,VIL≤0.8V;

在差分信号状态转换过冲中,D+和D-可能出现同时低于VIH的现象,协议要求低速模式≤210ns,全速模式≤14ns;

全速和低速的识别是通过数据线的上拉选择来实现的,D+使用1.5K电阻上拉则是全速模式,D-上拉则是低速模式(个人理解应该是上下拉电阻分压,然后识别不同数据线的电平来实现的),如下图:

至于高速模式的识别,就需要握手协议了,发送KJ码来切换到高速模式,高速模式下信号电平就关断上拉电阻进入阻抗匹配的模式,幅值也会变成400mV的高速JK码了。

高速模式,差分共模VHSCM的范围是-50~500mV,典型值是200mV;

5.信号level

低速和全速信号的要求如下图,其中低速J码是差分0,K码是差分1;全速J码是差分1,K码是差分0,正好相反。SE0也就是单端信号0,代表D+和D-都是0电平;SE1也就是单端信号1,代表D+和D-都是1电平;总线空闲状态,低速模式D+是0,D-是1,也就是低速J码;全速模式D+是1,D-是0,也就是高速J码;表中还有reset时序要求总线在SE0状态下持续时间最好不少于10ms,不少于2.5us也是可接受的。

SOP是空闲状态切换到K码;EOP是至少1bit时长的SE0+J码,持续时长要求低速模式1.25~1.5us,全速模式160~175ns;

注意第二列是开始输出的要求,第三列是接收端必须的要求,最后一列是接收端可接受的要求;

高速信号level要求如下图,其中JK码和全速定义相同,需要注意高速模式SOP的定义是总线空闲切好的J或K码,EOP定义是K或J码切换到空闲;Chirp J/K码只用于握手过程中,无需特别关注;高速模式的总线空闲状态,需要D+和D-都是0,也就是总线处于SE0状态。

特别注意,SOP是状态切换,如下低速/全速的示意图:

网分需要设置上升时间为400ps;

终端匹配阻抗Termination Impedance (Z HSTERM ) ,typeA接口需要延长8ns的线材,typeB接口需要延长4ns的线材;判断标准是80~100Ω。

通过阻抗Through Impedance (Z HSTHRU )是指连接器参考位置前500ps到受终端电阻影响的位置,判断标准是70~101Ω;

7.电气参数汇总

说明:Low-Power Port是指低功耗Hub(仅有一个负载),Vbus可以最低4.4V,其他情况最低电压4.75V;

三、测试模式

Test_se0_nak模式,这个模式下DUT进入高速接收模式,主要用来进行测试输出阻抗、低电平输出电压和负载相关参数;

Test_J模式,该模式下DUT进入高速模式J码状态,D+输出高电平;

Test_K模式,该模式下DUT进入高速K码状态,D-输出高电平;

Test_Packet模式,本模式下主要进行上升/下降时间测试、眼图测试、抖动及其他动态参数的测试等。一致性测试就是进入本模式。

测试包具体内容是:

Test_Force_Enable模式,该模式一般测带Hub的环境,配合其他模式一起进行测试。例如:

四、最后

就写到这吧,其他协议层等属于软件需要了解的东西了。简单看了下,本文总结的有点乱,有两个原因吧,其一是理解的不够透彻,无法用简单明了的语言总结;其二是感觉这个协议文档章节划分的也不是很好,有点大杂烩。

水平有限,肯定有错误的地方,希望大家可以指正出来,感谢。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1682371.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

JUnit5测试用例

1.用Test注解表示为测试方法 2.使用DisplayName定义别名 3.使用Assertions类的断言方法 使用断言,可以判断方法的实际执行结果和预期结果是否一致 assertEqualsassertTureassertNotNullassertAllassertThrows 下图是预期与实际不同时报错图 4.使用BeforeEach注解&…

分析人工智能在智慧银行服务中的实际应用以及面临的挑战

一、引言 近年来,人工智能(AI)技术快速发展,其在金融领域,特别是智慧银行服务中的应用日益广泛。人工智能以其独特的数据处理能力、预测分析能力以及自动化决策能力,极大地提升了智慧银行的服务效率、降低了运营成本,并优化了客户体验。然而,人工智能在智慧银行服务中…

RocketMQ-Dashboard 控制台使用详解

1 安装部署 具体部署启动请参考:RocketMQ从安装、压测到运维一站式文档_rocketmq benchmark压测-CSDN博客 RocketMq的dashboard,有运维页面,驾驶舱,集群页面,主题页面,消费者页面,生产者页面&…

FileLink如何实现金融行业跨网文件传输

在金融行业,跨网文件传输一直是一个备受关注的问题。由于金融数据的敏感性和重要性,如何确保文件在传输过程中的安全性、稳定性和合规性成为了金融机构急需解决的难题。而FileLink作为一款跨网文件交换系统,凭借其强大的功能和优势&#xff0…

Leetcode - 130双周赛

目录 一,3142. 判断矩阵是否满足条件 二,3143. 正方形中的最多点数 三,3144. 分割字符频率相等的最少子字符串 四,3145. 大数组元素的乘积 一,3142. 判断矩阵是否满足条件 本题题意,满足每一列的数全部…

YOLOV8环境部署(GPU版本)

一、安装cuda和cudnn 1、安装cuda之前先打开英伟达控制面板查看自己的显卡信息 2、“帮助”—>“系统信息”—>“组件”,然后看第三行的信息“Nvidia …

2024做安全测试必须要知道的几种方法!

前言 安全性测试(Security Testing)是指有关验证应用程序的安全等级和识别潜在安全性缺陷的过程,其主要目的是查找软件自身程序设计中存在的安全隐患,并检查应用程序对非法侵入的防范能力,安全指标不同,测试策略也不同。 但安全…

.net下使用cap实现消息异步处理

介绍 github地址 CAP 是一个基于 .NET Standard 的 C# 库,它是一种处理分布式事务的解决方案,同样具有 EventBus 的功能,它具有轻量级、易使用、高性能等特点。 新建项目 新建.net7web项目 安装依赖包 安装软件 安装redis和Sql Server …

【免费Web系列】大家好 ,今天是Web课程的第一天点赞收藏关注,持续更新作品 !

开干,开干!!! 1. 前端开发介绍 我们介绍Web网站工作流程的时候提到,前端开发,主要的职责就是将数据以好看的样式呈现出来。说白了,就是开发网页程序,如下图所示: 那在讲解web前端开发之前,我们先需要对we…

如何加密电脑文件夹?重要文件夹怎么加密?

文件夹可以帮助我们管理电脑数据,而文件夹并不具有安全保护功能,很容易导致数据泄露。因此,我们需要加密保护电脑文件夹。那么,如何加密电脑文件夹呢?下面我们就来了解一下。 EFS加密 EFS加密是Windows提供的数据加密…

【2024】最新微信小程序商城源码开源版 多用户无限多开+15大功能模块

随着微信小程序市场的蓬勃发展,越来越多的商家和企业意识到了微信小程序作为线上销售平台的重要性。为了满足广大用户的需求,分享一款2024年最新微信小程序商城源码开源版,该版本不仅支持多用户无限多开,还集成了15大功能模块&…

Vue的学习 —— <vue事件处理>

前言 事件指的就是用户和网页交互的行为,这些行为,包括:鼠标单击、鼠标双击、键盘按下、抬起等。为了简化开发,Vue为开发者提供了事件修饰符,它可以与v-on配合使用,以便于对事件进行控制和处理&#xff0c…

单体测试Junit

本来是想要查找关于junit 的知识,查找了依赖注入方式不同对junit测试也有影响。 正好备注下。 依赖注入三种方式: 字段注入(Autowird) 优点: 操作简单 代码简洁 缺点: 不支持…

Java面试八股之HashMap和HashTable有什么区别

Java中HashMap和HashTable有什么区别 线程安全性: HashMap:非线程安全。在多线程环境下,如果没有采取适当的同步措施,直接并发访问可能会导致数据不一致、死锁等问题。如果需要在多线程环境中安全地使用HashMap,通常…

【FFmpeg】Filter 过滤器 ② ( 裁剪过滤器 Crop Filter | 裁剪过滤器语法 | 裁剪过滤器内置变量 | 裁剪过滤器常用用法 )

文章目录 一、裁剪过滤器1、裁剪过滤器简介2、裁剪过滤器语法3、裁剪过滤器内置变量4、裁剪过滤器示例5、裁剪过滤器应用6、裁剪过滤器图示 二、裁剪过滤器常用用法1、裁剪指定像素的视频区域2、裁剪视频区域中心正方形 - 默认裁剪3、裁剪视频区域中心正方形 - 手动计算4、裁剪…

STM32程序下载电路设计

一、背景介绍 使用STM32F103RCT6作为单片机主控芯片,在进行电路板设计过程中,需要预留程序下载接口,可以选择使用JLINK下载器下载程序。 二、设计过程 1、查看STM32F103RCT6的芯片手册,找到下载程序的引脚端口PA13和PA14&#x…

使用WPF中的Trigger实现按钮样式动态更改

使用WPF中的Trigger实现按钮样式动态更改 在Windows Presentation Foundation (WPF)中,Trigger 是一种强大的机制,它可以基于控件的属性值来动态更改控件的样式。这篇博客将介绍如何使用Trigger实现按钮在鼠标悬停时样式动态更改的效果。我们将详细讨论为…

自然语言处理通用框架BERT原理解读

相关代码见文末 1.概述 问题背景: 传统Seq2Seq模型的局限性: 早期的机器翻译和文本生成任务常采用基于循环神经网络(RNN)的序列到序列(Seq2Seq)模型,这类模型在处理长序列时容易遇到梯度消失/爆炸问题,导致训练效率低,难以捕捉长期依赖。 RNN网络的问题: RNN及其变…

基于vs和C#的WPF应用之动画4---跳跳球

一、画布和图形 <Canvas x:Name"canvas4" Grid.Row"1" Grid.Column"1" Width"200" Height"200"><Canvas.Triggers><EventTrigger RoutedEvent"Loaded"><BeginStoryboard Storyboard"…

牛客热题:合并二叉树

牛客热题&#xff1a;二叉树与双向链表> &#x1f4df;作者主页&#xff1a;慢热的陕西人 &#x1f334;专栏链接&#xff1a;力扣刷题日记 &#x1f4e3;欢迎各位大佬&#x1f44d;点赞&#x1f525;关注&#x1f693;收藏&#xff0c;&#x1f349;留言 文章目录 牛客热题…