|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
大侠好,欢迎来到FPGA技术江湖,江湖偌大,相见即是缘分。大侠可以关注FPGA技术江湖,在“闯荡江湖”、"行侠仗义"栏里获取其他感兴趣的资源,或者一起煮酒言欢。; A, @/ t, m0 L0 V
0 t2 N9 A3 ?2 X$ q今天和大侠简单聊一聊数字电路设计中的抖动,话不多说,上货。3 G m& M' H' F- _" U8 @2 J5 @
- }7 H' z& e$ v6 {
既然说到了抖动,那么什么是抖动?那首先我们就来了解一下什么是抖动。3 q& b5 C7 j$ {; r+ l; Z3 ]
, \* S+ e. ]/ M6 G& X5 o% | Q
一、抖动的几个重要概念
! @: L3 r0 b( g- x3 O7 [, V& o: V( ?" M5 ^' ^; @. S
1、抖动的基本概& w7 x3 M" A4 }6 y/ d) |
& ?3 r# |! h+ ^2 D9 M, c" v/ j
在理想情况下,一个频率固定的完美的脉冲信号(以1MHz为例)的持续时间应该恰好是1us,每500ns有一个跳变沿。但不幸的是,这种信号并不存在。实际上,信号周期的长度总会有一定变化,从而导致下一个沿的到来时间不确定。这种不确定就是抖动。
8 o, U, A0 l$ n( E/ C
# b6 z+ C/ }0 T抖动是对信号时域变化的测量结果,它从本质上描述了信号周期距离其理想值偏离了多少。在绝大多数文献和规范中,时间抖动(jitter)被定义为高速串行信号边沿到来时刻与理想时刻的偏差,所不同的是某些规范中将这种偏差中缓慢变化的成分称为时间游走(wander),而将变化较快的成分定义为时间抖动(jitter Wander反映的主要是时钟源随着时间、温度等的缓慢变化,影响的是时钟或定时信号的绝对精度。在通信或者信号传输中,由于收发双方都会采用一定的时钟架构来进行时钟的分配和同步,缓慢的时钟漂移很容易被跟踪上或补偿掉,因此wander对于数字电路传输的误码率影响不大,高速数字电路测量中关心的主要是高频的jitter。- h7 J+ z. a: E2 \7 N/ Y' @/ P4 G- Y
3 ?* G! d& c' e5 W+ b, ?
2. 抖动的分类# ?% K5 _5 g p8 A- S$ w, t
5 i: f4 a W* f7 }8 `( U8 K
抖动有两种主要类型:确定性抖动和随机性抖动。
+ Z( H8 a2 X: d1 n7 ]) f u7 U6 Y确定性抖动是由可识别的干扰信号造成的,这种抖动通常幅度有限,具备特定的(而非随机的)产生原因,而且不能进行统计分析。随机抖动是指由较难预测的因素导致的时序变化。例如,能够影响半导体晶体材料迁移率的温度因素,就可能造成载子流的随机变化。另外,半导体加工工艺的变化,例如掺杂密度不均,也可能造成抖动。* @8 q& A8 q+ e& e
; g5 p2 ?" q, g( P0 m0 Q6 ~3 k5 j3. 抖动的测试方法
' g/ i% U2 t& ?# u
& Q5 k9 I$ R4 x# m" H+ [由于信号边沿的时间偏差可能是由于各种因素造成的,有随机的噪声,还有确定性的干扰。所以对这个时间偏差通常是随机的,而是有一定的统计分布,在不同的应用场合这个测量的结果可能是用有效值(RMS)衡量,也可能使用峰峰值(peak-peak)衡量,更复杂的场合还会对这个时间偏差的各个成分进行分解和估计。因此抖动的精确测量需要大量的样本以及复杂的算法。* p$ {: Y2 x! ?6 H& l0 F ^
* W/ s, B4 L6 `* b. [7 d% p. S$ y
二、抖动的测量方法
7 S& X9 \ \6 b1 s0 T7 a1 A
: i5 D7 `9 @+ }' P可以通过许多基本测量指标确定抖动的特点,基本的抖动参数包括' E( c, x, k H! w" e9 b1 g1 ^2 x' e
- f$ g# y( D- L4 g( V* f* Z
1、周期抖动(Period jitter)( R0 P1 `# k7 L9 r
测量实时波形中每个时钟和数据的周期的宽度。这是最早最直接的一种测量抖动的方式。这一指标说明了时钟信号每个周期的变化: Y/ Y8 t- {& \3 k
5 ?' q2 Y2 o9 P. A/ X5 R0 E如图为带抖动的50MHz的时钟信号进行周期抖动测量的结果,借助于相应的抖动分析软件,观察到信号周期随时间的变化曲线,以及信号周期的最大值、最小值、周期变化的峰峰值、周期变化的方差等。7 ~4 @; C$ l1 ~# b1 S8 v* v
5 }2 O' |- m$ J' i: \4 |& U
- R% l; o+ L# @5 Y2、周期到周期抖动(Cycle to Cycle jitter)
) e2 \& S( Q* T; I为了衡量时钟信号相邻周期的变化快慢,有时会用“周期到周期抖动”进行衡量,测量任意两个相邻时钟或数据的周期宽度的变动有多大,通过对周期抖动应用一阶差分运算,可以得到周期间抖动。这个指标在分析锁相环性质的时候具有明显的意义
/ z2 {9 j- Q) f' ~6 w4 m: X5 x1 A! E8 h5 a- P3 s- m+ Q0 C/ }
有些特殊的应用(比如针对DDR2/3的时钟信号)还定义了N-cycle jitter,即相邻N个时钟周期的抖动变化。下图是对同一个50MHz的时钟波形进行Cycle-Cycle抖动测量和统计的结果。
- W1 M' x# g; y$ }" V
p# ^" u* q$ J+ ? \' r
; n+ K& H6 } [; z( b
3、时间间隔误差抖动(Time Interval Error)1 f y+ N5 x' h6 b
4 m8 x- s' x, `. N( e! V7 A: S
所谓时间间隔误差,是指被测信号边沿相对于其参考时钟有效边沿的抖动。
' {) W1 V$ e2 g/ @/ d) }) H测量时钟或数据的每个活动边沿与其理想位置有多大偏差,它使用参考时钟或时钟恢复提供理想的边沿。TIE在通信系统中特别重要,因为他说明了周期抖动在各个时期的累计效应
- S, j) I2 b) p9 ]: l6 T2 ^5 `- P r) O6 s% h5 P
下图是对同一个50MHz的时钟信号进行TIE抖动的分析和统计结果。 5 q* x& C- m" L* L2 A* ~1 r2 _# j
7 B* Q8 Y# m# o: S' @三、结论
) E4 E0 S3 `. A! F% H+ A8 I+ A! n( z
从前面举的例子可以看到,对于同一个信号,用不同的方式进行测量和衡量,得到的结果可能是不一样的。如图所示,对于同一个带抖动的时钟信号,对其进行周期抖动测量、周期到周期抖动测量以及时间间隔误差抖动测量,得到的结果可能是不一样的; w% k0 B! [2 O: K
& Z: t G2 a% U o因此,对于一个信号进行抖动测量之前需要先明确关注的抖动类型,否则测量结果的物理含义是不明确的。7 f4 a2 @3 r0 Z% }; D
! i, f$ r3 u2 V5 a% D, o
对于更复杂的数字信号来说,除了关心其抖动的RMS值以及峰峰值以外,还会关心该抖动的不同组成成分,因为不同成分的抖动对于电路的影响是不一样的,相应的应对手段也不一样。比如很多高速总线都会对高速数字信号的随机抖动成分(Random Jitter)、周期性抖动(Periodic Jitter)、ISI抖动(Inter-Symbol InteRFerence jitter)等进行进一步的分解和研究+ ^& t! A9 v/ G9 r U
* Z* b0 ~5 b! b. p) x1 F. D* T! X; A
抖动是数字信号,特别是高速数字信号非常重要的一个概念,越是高速的信号,其比特周期越短,对于抖动的要求就越严格。# _. _/ q' z4 X j7 Z2 U8 b
|
|