眼图 非差分线_利用眼图解决USB在布线中的信号完整性问题

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x

本帖最后由 lifree 于 2020-2-5 14:37 编辑

2 ]3 p' D% B4 \  {/ n

# V& |( A& p+ O通用串行总线USB (Universal Serial Bus)协议从1.0版本发展到现在,由于数据传输速度快,接口方便,支持热插拔等优点使USB设备被越来越多人使用,目前,市场上以USB2.0为接口的产品越来越多,而绘制符合要求的PCB板在USB设备应用中起重要作用。但在实际生产设计中,由于USB的传输速率较高,而系统中电路板上元器件的分布、高速传输布局布线等各类参数,引起高速信号的完整性缺陷的,所以由PCB设计所引起的信号完整性问题是高速数字PCB(印制电路板)生产设计者必须关心的问题。本文通过mentor信号完整性工具“Hyperlynx” 进行仿真分析,总结了一套高速电路设计提供布局布线的分析方法,串行总线以及其它高速电路的布线设计提供了理论依据。

3 ~9 K  n* H( z/ q  J1 I; g$ Y( y0 g

* ~3 ]6 c" o- n, M8 a

" n$ g! E# p$ y1 t5 P0 r1 通用串行总线

8 E( I; n# |- ?5 u' f, ^9 e- @( Q! J7 O- S* [) q. B3 m

& k. _  {* P' {+ ~; f: R* X5 R

通用串行总线(USB)技术是为了弥补传统微机外部总线的不足而设计的,随着应用的扩展,USB的传输速率不断提高,USB2.0传输速度为高速480Mb/s。

& D2 X+ u  D8 h  K0 C0 X! e9 G. U5 N: V! Y/ i. j) v

* _" _4 r% d4 h. [$ W) @

对于USB信号的传输,信号完整性是核心指标。USB总线应用差分信号传输数据,在传输过程采用NRZI编码。在上位机与USB设备的交互中,根据数据传输双工或半双工的状态不同,工作于差分态、静止态和单终端三种状态,其相应的电压或电压差也有所不同,传输协议以此判断设备速率和信号数据。3 ^2 t+ V7 j+ I% m3 C0 T

1 y2 B( {8 P3 [0 [2 U8 m2 b9 i

4 {$ Q4 {- ]2 i  v* i; F/ I# m% \在高速系统中,差分线上高速信号的压制检测阈值、断开检测阈值和共模电压也都有一定的范围要求,如表1所示。其中,共模电压典型值为200mV,另外,其差分输入信号电平必须满足高速接收眼图的要求。/ z8 P) f5 E/ C: K* w

& q8 m. L8 C: n- F& Z

+ E, Y# K9 g3 ]0 C% s

表1 高速信号的输入电平/ e- P" O9 ]$ x8 H

: A* ~1 S1 q, c/ ?6 D9 e5 r

9 p- P+ a$ P$ @, ]! P

/ o. ], K6 ^0 [7 ^4 q& M) _

6 @5 m+ G5 _7 x( v; T+ P4 s2 j0 A% z

7 W" J4 z) r8 r. m. Z  k

高频频率范围内,R和G对特性阻抗的影响很小,这种情况下,传输线的特性阻抗为一个实数,公式被简化为:, _3 h) f2 \7 P% X! c

7 J/ f1 T$ ^2 H  r2 y( _

' a* |/ [( O8 }% z; M

0 R# X  k: L* V4 u2 C1 k' ~4 W/ G6 ~8 ~5 F; I! {: I+ \

# h2 g5 E1 j$ k$ ^& @# S

此时的传播速度则为:

; G1 _5 T% P) I8 b' B( w, C$ R8 A

P1 j! u. J1 D0 r

( ?8 _- _3 w. O8 R. ]# V

特性阻抗是阻抗匹配的一个重要参数。阻抗匹配关系到信号完整性问题,如反射、振铃等参量的控制。差分对匹配一般采用两种方式:π型和T型。: r' K" y$ Z# [$ z& h3 ]' T

8 V# h: z1 a! G+ _! g7 f$ c  \m+ S0 u/ O/ j3 }' j. M+ D8 n

2.2 高速USB信号的眼图. g3 j" y8 u# f' Q, Y

/ h0 t  A" i- v+ B! X1 M7 N% z8 d9 m9 E

眼图就是由多个周期的数字信号波形叠加而形成的图形,形状与眼睛类似,因此被称为眼图。数字信号的眼图能清楚反映互连设计是否导致不能容忍的误码率。在高速串行应用中,通行的做法是采用眼图验证串行链路是否满足系统的性能要求的。# y& I0 x+ {) D$ T% G4 i9 a5 b& b

1 @, n6 o% S  M' Z. y2 n: h7 ]

6 F" {9 s2 y- i  b

对于高速USB信号的发送和接收,USB使用眼图来描述其各个位在传输时所需的电压幅值和时间安排。图1展示了高速USB系统的几个眼图测试点。其中,TP1和TP4对应USB接口芯片的相应管脚(D+和D-),它们分别被焊接在集线器和USB设备的电路板上;TP2对应A型连接器的D+和D-管脚;TP3对应B型连接器的D+和D-管脚(对于束缚电缆,其也可能是直接连接在电路板上)。

' f+ u! O5 W- `6 V2 i/ u: T# X! ]& z

* {: f) \5 G6 i0 I0 O6 k6 d5 C

1 M! p# ]- C1 R  U" F

图1 眼图测试点

( g) `! V+ Y! _& B+ F3 e. Z3 H4 N- Z& ^# P$ J: ~. U" k! H# I+ i; P

1 l" |( o2 l0 \7 E2 v

) N7 t* o2 s# OUSB定义了6种眼图模板,其中定义在集线器TP2点或在USB设备(使用非束缚电缆)TP3点处的眼图模板,表示接收高速USB信号时所需的电压分辨力,如图2所示。L. J* S9 ?8 `; K; G5 w3 P

. a$ ^; @3 V1 K$ L* ^1 L

- S+ e( q  T4 Y4 s

) e+ ~) t8 J: T5 m* h% S图2 眼图模板" `3 {7 E" f6 \

, V& i/ x# T( b5 T6 o0 C

6 O* |/ P- e1 b$ W! F( Q, l3 信号完整性(SI)仿真

@* d, g" G; T5 l: T" d- B( x0 _" w, @6 s- K9 }1 O) s

. z8 J+ K9 T9 w

利用LineSim搭建USB2.0仿真原理图,如图3所示,其中包括主机控制器和外围设备控制器,设置了从主机到外围设备使用最大允许传播延迟,模拟一个28AWG带状电缆和5米的USB电缆,以及外围设备的布线。

) e  {8 [6 `! G  Z

8 a) ?% \3 K# V图3 USB仿真结构模型

8 b3 l5 z% }6 O" N6 _, k8 j+ D; {; H7 }

( r2 n5 U; K1 y0 F- Q

# K% ~" k% J' L  ^4 j' F仿真得出差分信号的波形以及USB2.0接收端的眼图,如图4、图5所示。其图中弱的信号质量是由于带状线的阻抗不连续产生,因此,将模型结构中带状线的差分阻抗变化范围为115 ohms~92ohms。调整之后差分信号波形如图6所示,眼图如图7所示。

0 o& {, z% W0 }/ s6 L. k$ [

: {- B8 m! n/ W- z; H( [" n7 G

9 T9 \3 e: c6 T- u8 A由上图可以看出,经过调整带状线的特征阻抗,差分信号波形有了明显的改变,信号完整性问题得到了改善,眼图宽度和高度均有增大,平均上升时间、平均下降时间均减小,平均下降速率和上升速率即斜率均增大,但是就其仿真来看,所得到的结果仍和理想的结果有一段距离,继续改善模型结构图中其他相应模块的参数,最终仿真得出了满足USB2.0规范的眼图和差分信号,如图8和9所示。% }) g3 L2 K/ J* I

9 e# n( s/ W0 m3 w4 `

; S3 K) h$ e( x4 |: l. Y

9 q' d7 v2 }  h) k  J6 `: A: e+ p图4 差分信号波形/ p% S& ^- N0 G! ]4 x- A+ [

) r: W3 O4 Q8 z/ a; s4 a

) p1 S9 }, C+ Y: W3 X" b! {

1 t/ Z) l+ c% v7 }( ?' D

j0 x: ?. ^5 a9 R+ u: z: K  g+ Q- a' Y

图5 仿真结果7 S; x8 k/ e6 p- P* E

; H# U) N( b$ ~' P& y' x, O  X4 D

+ p; \; D/ J) h! M4 W% J  D& @' g6 O- J/ M4 {' O1 U

+ k& F# {, |+ c  J4 L3 I6 _1 j$ e图6 差分信号波形

$ q* f4 C, {' l$ {6 |4 s1 L9 G* B* t7 m% [7 j$ [

! B0 w0 L; P+ o. \2 Z

( ~& O* v, U! q, T( D  Q5 w

5 K+ l1 P/ I: n0 ~图7 仿真眼图结果

+ B8 A2 N: H  f$ Q, L

3 p  ]5 A# w4 i/ c

% x8 Z: ]' h8 {, W" q

3 m5 P9 d, U8 ?) l8 b" b- d  @1 o

" l- t( e5 d; v6 `3 C# T

图8 差分信号波形

* }, r3 A' I- L( J" e1 D& A$ h( D$ F  l+ w: F- n

4 t6 I) B& e" c  v7 Y$ m6 b' L8 w* q3 `! W

" u1 k$ d  ^, z. r& X& g( C" |图9 仿真眼图结果

; L' r) i# ]& T! {/ L+ d& K- i( h  s& {5 f# E

% B  ~) P7 n0 O3 S  R8 N0 I

* a+ I7 I8 {  D  ~& i" |" L# ?4 ]仿真数据结果为:, G! K7 O9 a5 P5 o

* ~" Q. s" W! s# k/ p

2 k- f3 o7 |8 W; E# i( D, S6 j5 \Peak-to-Peak Voltage:1.58V

& k9 l3 m7 Q6 M

0 D/ d% X! @* s6 o, ^) j* o  u  a, u: x

Positive Overshoot: 229.4 mV;NegativeOvershoot: 198.2 mV

/ d" F+ j. ~2 p

( F- E+ O8 ?  u" ]; @) i4 c' c

9 X2 k( _' L4 L5 aAvg fall time: 969.697ps;Avg rise time:960.398ps* H# |* J" \* {: K5 U. j* I6 h1 m

9 P, M) z) W0 c) s+ x

2 R% g: Y' j' T8 iAvg fall slew rate: 0.716 V/ns;Avg rise slewrate: 0.723 V/ns* b5 s3 h8 u5 B( f7 n! E- {

- M% ]" v, C1 a

9 L6 `8 b  ^+ T/ a4 V+ {7 P

Eye Width: 1.804ns;High level: 565.2mV;Low level: -592.2 mV

7 ?; J$ ?/ s$ J1 a

( Z+ L( z, ]4 E" k5 ^5 G$ p3 d! I! p

Eye Height: 862.6mV;High level: 565.2 mV;Low level: -592.2 mV5 R/ B- k9 ^: C4 j+ T+ ]' C

1 d: h/ @$ G' W! C/ t! y( ]" h% B9 H, ~" F$ v: }

通过以上仿真过程及结果得出:眼图的各项数据可以体现信号分析的性能指标。最主要的是通过眼的宽度、眼的高度、平均上升时间、下降时间、平均上升速率和下降速率(即斜率)这些指标能够体现信号的优劣程度。

5 ~9 b% ^7 W( J0 K# Q9 F/ B5 z( K- k$ D7 Q/ ]: }  z

: l% X; [) Z3 s* j& _" Z: @& [4 结论/ c  S: A$ \: \4 T: `  F

! h' I* \# C" Y. O% i

, s" K7 W9 O: [9 C眼图作为数字设计的参考依据,图中的眼宽、眼高、过冲、单位间隔和门限交叉抖动为重要参数依据。峰-峰值抖动=门限交叉抖动/单位间隔×100%。为了使接收器能够正确地采样数据,眼图必须满足一定的高度和宽度,其具体参数由器件的特性决定,根据眼图,可以知道实际情况是否满足系统设计。5 o! f  L3 K4 L2 C0 q6 R, i. @! B

- j3 m: ]+ j/ I  T6 C7 M8 W! Y

2 L9 T7 m; C0 a. |+ X

特性阻抗通常由PCB的层叠结构和PCB走线宽度/间距决定的,首先明确好需要实现的信号的特性阻抗,确定关键信号的走线宽度/间距,选择好板材的层叠结构,通常微带线线宽、走线的铜皮厚度、微带线到最近参考平面的距离以及PCB板材料的介电常数共同影响其特性阻抗,而影响差分线阻抗的主要参数为微带线阻抗和两根微带线的线间距。当两根微带线的线间距增加时,差分线的耦合效应减弱,差分阻抗增大;线间距减少时,差分线的耦合效应增强,差分阻抗减小。这在实际布线中的到了验证,本文总结的USB电路布线设计方法可以为高速电路设计布局布线的分析方法,串行总线以及其它高速电路的布线设计提供理论依据。

! o5 q9 l0 G* i8 f8 d- p0 y) ]& A4 v/ e% w1 Y, \

* C# G$ B) U0 S, H* C2 ~/ }: e, E

『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

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

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

相关文章

向量表示 运动抛物线_流动的美丽函数——抛物线浅谈

事先说明:笔者初三,如在叙述中有不严谨的地方,还请诸位指出,自当感激不尽。(本文默认受众对象为初高中生,因此抛物线一律采取了yax的形式,高中的同学们可以应用旋转矩阵把它变到y2px的形式QAQ笔…

android 获取已安装 错误代码,android获取手机已经安装的app信息

Android获取手机已安装APP(系统/非系统)效果图主体代码private ListView mlistview;private ListpackageInfoList;private ListapplicationInfoList;private MyAdapter myAdapter;private PackageManager pm;Overrideprotected void onCreate(Bundle savedInstanceState) {supe…

android与ios ui切图关系,APP-IOS与Android界面设计与切图

做一全套的APP设计,流程是:1、界面设计:设计IOS界面;设计Android界面。2、切图:切IOS的2倍图和3倍图;切Android的hdpi,xhdpi,xxhdpi这三个尺寸的图。3、标注:以px为单位标注IOS界面的尺寸&#…

js禁止鼠标滑轮_js实现鼠标滑动到某个div禁止滚动

本文实例为大家分享了js实现鼠标滑动到某个div禁止滚动的具体代码,供大家参考,具体内容如下项目中碰到一个场景就是当鼠标滑倒某个div的时候,滑动鼠标页面不再滚动。这里主要是当鼠标滑动到该div时,监听滚轮事件并通过preventDefa…

android app应用后台休眠,安卓手机锁屏后程序自动关闭,怎么设置手机app允许锁屏后台运行...

原标题:安卓手机锁屏后程序自动关闭,怎么设置手机app允许锁屏后台运行安卓手机锁屏后,很多程序就会自动关闭,实际上,这是安卓手机的一种保护机制。为了使系统能够流畅稳定的运行以及更加省电,它都会在手机锁…

ps怎么清屏_黑洞PS大赛刷屏!最后一张扎心了……

事件视界望远镜(EHT)项目组和中国科学院共同在上海天文台发布由EHT“拍下”的人类历史上首张黑洞照片这意味着人类成功获得了超大黑洞的第一个直接视觉证据黑洞首次露出真容!据说宇宙诞生了138亿年年龄最大的黑洞也已经超过了100亿岁经过了这么久黑洞家族的成员才终…

linux和windows和鸿蒙,linux很好,但为何大家都用Win,鸿蒙系统站错阵营了吗?

原标题:linux很好,但为何大家都用Win,鸿蒙系统站错阵营了吗?由目前已知信息可知,华为“鸿蒙系统”很可能基于linux开源程序搭建,这个特点与苹果微软由很大不同。苹果手机目前主要使用Objective-C程序语言开…

centos7磁盘逻辑分区命令_CentOS7 磁盘分区(主分区、扩展分区和逻辑分区)的创建、挂载与删除...

创建磁盘分区查看磁盘分区情况:fdisk -l[rootmodel ~]# fdisk -l //查看系统中所有磁盘的分区列表Disk/dev/sda: 107.4 GB, 107374182400 bytes, 209715200sectorsUnits sectors of 1 * 512 512bytesSector size (logical/physical): 512 bytes / 512bytesI/O size…

php使用webservivce_JWS服务开发使用指南

均支持该版本&#xff0c;主要你的web.xml文件中必须制定2.5版本xmlversion"1.0"encoding"UTF-8"?><web-appxmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xmlns"http://java.sun.com/xml/ns/javaee"xmlns:web"ht…

android sdk是灰的,Android Studio 2.3 sdk管理器标签灰显

Android Studio 2.3 - >配置 - > SDK管理器。 这些选项卡呈灰色显示&#xff1a; SDK工具&#xff0c;SDK更新站点。此外&#xff0c;“Show Package Details”复选框呈灰色。 系统正常更新。没有错误消息。Android Studio 2.3 sdk管理器标签灰显我认为这发生在Studio 2.…

android layer阴影,Android Layer-List实现自定义Shape阴影

一、给右侧和底层加阴影android:left"2dp"android:top"2dp">android:angle"270"android:endColor"#0F000000"android:startColor"#0F000000" />android:bottomLeftRadius"6dip"android:bottomRightRadius&q…

localdatetime 默认时间_java中的时间与时区:LocalDateTime和Date

LocalDateTimeLocalDateTime本身不包含时区信息&#xff0c;它存储的是年、月、日、时分秒&#xff0c;纳秒这样的数字。在不同的时区下&#xff0c;这样的数字代表不同的时间。比如一个LocalDateTime存储2020-01-01 08&#xff1a;00&#xff1a;00&#xff0c;这里省略纳秒。…

html 拖拽坐标,Html+css实现拖拽导航条

div横向拖拽排序body, div {padding: 0px;margin: 0px;}.box {position: relative;margin-left: 15px;padding: 10px;padding-right: 0px;width: 810px;border: blue solid 1px;}.box ul{list-style: none;overflow: hidden;padding: 0;margin:0;}.drag {float: left;border: #…

seata 如何开启tcc事物_微服务分布式事务4种解决方案实战

分布式事务分布式事务是指事务的参与者&#xff0c;支持事务的服务器&#xff0c;资源服务器分别位于分布式系统的不同节点之上&#xff0c;通常一个分布式事物中会涉及到对多个数据源或业务系统的操作。典型的分布式事务场景&#xff1a;跨银行转操作就涉及调用两个异地银行服…

python redis 哨兵_Redis哨兵机制

概述上篇文章主要说了Redis 复制的内容&#xff0c;但 Redis 复制有一个缺点&#xff0c;当主机 Master 宕机以后&#xff0c;我们需要人工解决切换&#xff0c;比如使用slaveof no one 。实际上主从复制并没有实现&#xff0c;高可用&#xff0c; 高可用侧重备份机器&#xff…

labview自动生成html,使用LabVIEW实现网页数据提取及交互.pptx

使用 LabVIEW 控制IE或WebBrowser实现网页数据的提取和交互By GSD&#xff1a;attraction - 张生斌2013.1.11可能会遇到的问题网页能否被程序控制&#xff0c;程序和网页如何通信&#xff1f;如何下载网页中我们所关注的数据&#xff1f;如何用程序修改网页中表单的内容&#x…

pdf python定位_如何使用PyPDF2获取PDF定位

我正在使用Python/Django。PyPDF2阅读我目前的pdf。如何使用PyPDF2获取PDF定位我想阅读我已经保存的pdf文件&#xff0c;并获得pdf内单页的方向。我期望能够确定页面是横向还是纵向。tempoutpdffilelocation settings.TEMPLATES_ROOT nameOfFinalPdfpageOrientation pageToE…

android 内容显示栏,android – 在工具栏下显示内容

您好我试图简单地将我的内容放在工具栏下面,但是当我运行我的应用程序时,当它应该低于它时,一些内容隐藏在它后面.我已经阅读了关于使用框架布局来尝试将其分开但我已经陷入困境.我目前正在使用随软件提供的基本android studio导航抽屉模板,并想知道我必须做出哪些更改.我的协调…

ios nslog 例子_iOS 典型内存泄露案例 - zhenshan2013的个人空间 - 51Testing软件测试网 51Testing软件测试网-软件测试人的精神家园...

最近进行iOS 安全黑匣子的测试,在Demo中通过不断的点击调加密接口,同时通过苹果自带instrument的leak工具监控,发现典型的内存泄漏,监控图如下:上图中红色的部分表示该操作触发的代码有内存泄漏的可能,于是拿出源代码来研究一番,源代码如下://加密接口-(IBAction)encrypt:(id)s…

HTML饼状图中心添加文字,echarts饼状图环形中间动态文字

let currName "";let myChart echarts.getInstanceByDom(document.getElementById(‘chart-panel‘));//console.log(myChart);myChart.on(‘mouseover‘, (params) >{currNameparams.name;console.log(params)let opmyChart.getOption();let _label{normal:{sho…