USB眼图常识
最近一段时间,项目需求,需要对USB眼图进行摸底测试。测试过程很简单,然而debug之路却很不简单。不简单往往也就意味着带来了不少收获。
示波器跨接在接收滤波器的输出端,调整示波器扫描周期,使示波器水平扫描周期与接收码元的周期同步,此时,示波器作为接收端会受到一连串的脉冲信号(000 001 010 011 100 101 110 111),这些信号叠加在一起,会形成类似人眼的图形。同时按照协会的要求,示波器带宽至少应该为1.5GHZ,最好是2GH或者2.5GHZ。

其主要用到了余辉方式累计叠加显示采集到串行信号的比特的结果,叠加后的图形形状也正是因为看起来和眼睛很像,所以被称为眼图。眼图表征了串行信号的比特信息,成为了衡量信号质量的重要工具。通过眼图,可以观察出码间串扰和噪声的影响,从而估计信号完整性的优劣。

USB眼图的测量主要分为device与host。
USB host端:D+和D-各接一个15kΩ的下拉电阻;
USB device端:高速和全速D+接一个1.5kΩ电阻上拉到3.3V;低速在D-上接一个1.5kΩ电阻上拉到3.3V。高速chirp KJ握手(Chirp KJ的频率大概是10KHz)成功后,自动断开D+上的1.5kΩ上拉;当高速设备进入suspend时,使能D+上的1.5kΩ上拉到3.3V,退出suspend时,断开D+上的1.5k上拉。
集线器的全速驱动器和设备的全速驱动器在功能上等效成每个都是45Ω电阻,合成90Ω的差分电阻产生一个0系数的反射。这样才产生了cable的特征阻抗是90Ω的需求。

HS模式DP/DM对地单端阻抗为45Ω(由全速驱动器形成的一个阻抗为45Ω的终端电阻),串联的匹配电阻必须是0,否则眼图有问题;LS/FS的DP/DM上必须有大于0的匹配电阻。 HS模式DP/DM的DC-level是17.78mA x (45Ω//45Ω) = 17.78mA x 22.5Ω = 400mV,其中17.78mA是电流源(一般需要PHY外接参考电阻), 所以差模电压是800mV。DC-level of LS/FS is 3.3V。
HS PHY DP/DM上串联10Ω电阻带来的信号完整性问题如下计算所示

Udevice = 17.78mA(45//(10+45)) = 440.1mV, Uhost = (45/(45+10))440.1 = 360.1mV
这也就是为何眼图最大与最小我们要控制在±400mV左右,以及不要轻易在D+ D-上电阻的原因。
看不懂没关系可暂时忽略,后面的文章,小编会重点介绍这些,建议那时再拐回来看这段内容。
眼图的测量参数不同于波形的测量参数,更多情况下是一种统计意义的测量,主要关注的测量参数有眼高,眼宽,眼抖动等。
眼高的测量
眼高反映的是眼图在垂直方向张开的程度。其测量方法是先在眼图的中心位置对眼图的电平分布进行统计,根据直方图分布出现概率最大的位置得到高电平(One Level)和低电平(Zero Level)的位置;然后再根据高低电平上的噪声分布情况各向内推3个西格玛(噪声的RMS值),从而得到眼高的测量结果。

眼图的抖动(Eye Jitter)测量
眼图的抖动反映的是信号的时间不确定性,抖动过大会减小信号的眼宽。眼图的抖动是指眼图交叉点附近的信号的水平抖动,可以用RMS或者Peak-Peak值来衡量。

模板,即事先把信号高低电平的范围要求以及抖动的范围等指标事先定义好,然后在此模板上生成眼图测试文件。

模板主要由三部分组成:
顶部区域定义了信号的最大幅度的要求。
底部区域定义了信号的最小幅度要求。
中间区域定义了对信号的眼图张开度的要求。
在进行眼图测试时,直接把眼图套在这个模板上,如果长时间的累计测量没有压在模板上,就说明信号质量基本满足了要求。

PASS
如果被测信号压在了测试模板上,说明被测信号质量存在明显的问题。

FAIL
Usb信号线的设计
在USB高速信号方面,我们往往喜欢在D+ D-端串电阻,电感或者并TVS管用以静电或者浪涌防护。由于属于高速信号(速率480Mbps,频率240MHZ),因此对TVS管的选取也要慎重。TVS管具有结电容,结电容的容值要格外注意,在小白所做过的项目里,TVS管结电容容值往往选取1pf以下的容值。容值过大因RC延时的影响会使得眼图的睁开程度变小,进而可能压倒中间的模板。同时串阻的选取也要适当,因为其影响到眼高。

所以日常在针对眼图压模板的debug时,要尤为注意这方面影响。
USB眼图常识的更多相关文章
- USB眼图
/********************************************************************** * USB眼图 * 说明: * 对于USB眼图,并不是很 ...
- 如何验收安卓PCBA主板的质量和性能
. 版本:v0.1 作者:河东西望 日期:2022-7-15 . 目录 1 有哪些情况需要验收? 2 有哪些验收测试? 2.1 主板测试 2.2 工程测试 2.3 性能测试 2.4 压力测试 2.5 ...
- 关于键盘冲突那点事(3键冲突/7键冲突/PS2/USB的各种原理)
转自关于键盘冲突那点事(3键冲突/7键冲突/PS2/USB的各种原理) 最近闲得无聊,正好看到有人发帖提问,于是就来详细说说所谓键位冲突和无冲突的各种原理--基本上这也是个老生常谈的话题了,但相关的技 ...
- USB匹配电阻
做过USB的人都或许有一个纠结,那就是D+和D-上到底要串多大的电阻,串在源端还是终端. 我想说:网络上的说法都不完全正确,首先USB有低速.全速和高速之分,在低速和全速模式下是电压驱动的,驱动电压为 ...
- USB 3.0传输规格
通用序列总线(USB) 从1996问世以来,一统个人电脑外部连接界面,且延伸至各式消费性产品,早已成为现代人生活的一部分.2000年发表的USB 2.0 High-speed规格,提供了480Mbps ...
- 新一代的USB 3.0传输规格
通用序列总线(USB) 从1996问世以来,一统个人电脑外部连接界面,且延伸至各式消费性产品,早已成为现代人生活的一部分.2000年发表的USB 2.0 High-speed规格,提供了480Mbps ...
- Android手机使用WIFI及USB建立FTP服务器总结
想必大家经常在PC和Android之间传输文件,并不是每次都会插USB接口进行文件传输,就算是插上USB接口,还是有个问题,那就是Android打开大容量存储模式之后,经常很多软件就会被强制停止使用, ...
- USB 3.0规范中译本 第6章 物理层
本文为CoryXie原创译文,转载及有任何问题请联系cory.xie#gmail.com. 6.1 物理层概览 物理层定义超高速总线的信号技术.本章定义超高速物理层的电气要求. 本节定义超高速组件之间 ...
- USB 3.0规范中译本 第3章 USB 3.0体系结构概览
本文为CoryXie原创译文,转载及有任何问题请联系cory.xie#gmail.com. 本章呈现USB 3.0体系结构和关键概念的概览.USB 3.0与前面版本的USB类似,因为它是线缆总线,支持 ...
- PCB中的生产工艺、USB布线、特殊部件、蓝牙天线设计
PCB中的生产工艺.USB布线.特殊部件.蓝牙天线设计 (2016-07-20 11:43:27) 转载▼ PCB生产中Mark点设计 1.pcb必须在板长边对角线上有一对应整板定位的Mark ...
随机推荐
- redis数据结构:RedisObject,SkipList,SortedSet
1.RedisObject对象 redis中任何KV都会被封装为RedisObject对象,也叫做Redis对象 2.SkipList 跳表 元素按照升序排列存储,是有序的双向链表 节点可以有多个指针 ...
- SpringBoot整合knife4j(swagger)
关于knife4j Knife4j是一个基于Swagger的Java接口文档生成工具,它提供了一套可视化的界面来展示和测试API接口.Knife4j通过解析接口代码中的Swagger注解,自动生成接口 ...
- 【Windows】远程访问设置
Windows自带了远程访问功能: Win + R 打开运行,输入[mstsc] 连接需要提供主机地址,和用户账号 下面的选项可以保存此连接为文件,下一次连接直接打开文件即可访问 当然设置了以后可能还 ...
- 【JS】04 DOM 文档对象模型 P1 查找元素、改变内容、绑定事件
什么是DOM? Document Object Model 文档指的是HTML文档 当浏览器打开一个网页的时候,实际上把HTML文档读取到内存中进行解析 整个HTML文档被封装为document文档对 ...
- 【OracleDB】 07 分组查询 & 分组函数
分组函数 分组函数作用于一组数据,并对一组数据返回一个值. Oracle中分组函数的种类: - 求平均值 AVG - 计数记录数 COUNT - 求最大值 MAX - 求最小值 MIN - 求和 SU ...
- 【Mybatis-Plus】01 快速上手
[官网快速上手地址] https://mp.baomidou.com/guide/quick-start.html#%E5%88%9D%E5%A7%8B%E5%8C%96%E5%B7%A5%E7%A8 ...
- 3天搞定Linux,1天搞定Shell笔记
Linux概述 Linux是一个操作系统OS 开源 MacOS基于Darwin,Darwin基于FreeBSD开发. Linux基于Minix(开发重写),Minix基于Unix开发. Linux一切 ...
- iOS开发基础146-深入解析WKWebView
WKWebView是苹果在iOS 8中引入的重要组件,它替代了UIWebView,为开发者提供了高性能.高稳定性的网页显示和交互能力.在本文中,我们将深入探讨WKWebView的底层架构.关键特性.使 ...
- 很好用的python游戏环境(续):强化学习算法走迷宫游戏环境(导航问题 navigation):分享一个python语言的迷宫游戏环境
相关: 很好用的python游戏环境:强化学习算法走迷宫游戏环境(导航问题 navigation):分享一个python语言的迷宫游戏环境 前文分享了一个python下的maze游戏环境,本文再给出一 ...
- MindSpore 如何实现一个线性回归 —— Demo示例
如何使用 MindSpore 实现一个简单的 线性回归呢??? 根据前面的mindspore的基本操作的学习写出了下面的 一个简单的线性回归算法. import mindspore import ...