背景知识
在数位通信系统中,以位元编码(一系列0或1表示)的资讯被从一个传送端送到一或多个接收端。传送端和接收端之间的传输介质(通道)可以是铜线、光纤、空气(free space)等。多数数位通信系统的设计目标包括极大化的频宽使用效率(maximize bandwidth efficiency)及极小化的位元错误率(BER)。
数位通信系统的一个基础的特色是以位元编码的资料(位元流,bit stream)和传送器及接收器里的各式电路元件间需要同步。位元同步(bit synchronization)的资讯通常以位元时脉(bit clock)来传达,位元时脉是一个频率(以Hz为单位)和data rate(以每秒bit数为单位)相同的方波信号。
位元流可以被用许多方式来编码成电压波形(voltage waveform)。一种最常被使用的位元编码方式(也是本paper中使用的)是nonreturn-to-zero(NRZ)。在NRZ篇码中,位元1用高电位(或高光能量),位元0用低电位(或低光能量)来表示。单一位元的时间长度(bit period)被称为单位周期(unit interval,UI)。在同一位元流中,每一个位元的单位周期是相同的,而且是位元率(data rate)的倒数。例如622 Mbits/s的位元率之下,每个位元的单位周期是1/(622 ( 106 bit/s)=1.6ns。以NRZ方式编码的位元流和位元时脉(bit clock)之间的关系表示如(图一)。
《图一 NRZ encoded bit stream》 |
|
一个基础的问题是,如何将位元同步所需要资讯从传送端送到接收端。直接传送bit clock将会需要相当多额外的频宽,而且易受通道中的各种影响导致在接收端时脉(clock)和资料(data)无法同步。在一般情形下,数位通信系统只传送位元流而在接收端用clock and data recovery(CDR)电路重新产生位元时脉。位元时脉重新产生过程中的不完美,将导致时脉误差(timing error)。这种时脉误差被称为时脉抖动(jitter)。
时脉抖动(jitter)的定义
jitter的两种常见定义是:
"时脉抖动的定义,为数位信号中的重要事件(digital signal's significant instants)和它们在时间上理想的位置间的短期差异。重要事件可能是(举例而言:SONET)最佳取样时间(optimum sampling time)。"
及"事件和其理想发生时间(ideal timing)间的偏差值。对电信号来说,参考事件指的是differential zero crossing,对光信号的系统来说, nominal receiver threshold power level是其参考事件。 "(fibre channel)
虽然这两个(和其它许多)定义有不同点存在,注意基本的相同点是很重要的,那就是时脉抖动(jitter)是指一个事件的理想和实际发生的时刻的差别。被讨论的事件依应用场合的不同可能改变,例如说可能是时脉信号的上升或下降时刻(rising or falling edge)、一个NRZ波形的最佳取样时间、the differential zero crossing、或其它的东西。但是时脉抖动(jitter)指的就是一个事先定义的事件应该发生的时刻和实际发生的时刻之间的时差。
瞬间的时脉抖动(instantaneous jitter)
如同前述,jitter是依据特定事件的发生时刻来量测的。我们把这个事件定为事件E,它发生的时刻为tE。在大多数的应用实例里,事件E会反覆地发生,我们将事件E的第n次发生称做E[n],而它的发生时刻表示为tE[n]。使用这些记号后,jitter的数学式定义可以写成:
其中m[n]是该事件第n次发生时瞬间的时脉抖动。
举例而言,我们考虑一个频率为f Hz的时脉信号。理想上而言,这时脉信号的每一周期应该都正好是1/f秒。但由于热及其它效应,时脉信号中可能会有些许的相位杂讯(random phase noise)。如果我们选择时脉信号的上升缘(rising edge)做为探讨的事件,当我们测量了一次上升缘的位置之后(我们把这次量测记作tE[0]),我们就可预次接下来每次上升缘应该发生的精确(或者说理想)时刻。即是
当我们测量了真正的时脉信号且得到了每个上升缘的实际发生时刻(tE[n]Actual),我们就可依据(1)式来计算每个上升缘的瞬间的时脉抖动,j [n]。
量测的单位
时脉抖动在定义上是一种时间的量测。以picosecond(10-12 sec)为单位是常见的。在许多应用中,把时脉抖动对UI做正规化(normalize)可以带来很多方便。正规化时脉抖动的计算方式是用时脉抖动除以UI,如(3)式所示。
平均值与峰对峰时脉抖动(peak-to-peak jitter)
就像平均功率比瞬间功率更常受重视一样,时脉抖动也较常被以平均或峰对峰值的方式,而不是以瞬间值的方式被提及。
均方根法(root-mean-square method)常被用来计算平均时脉抖动的值,而以psrms 或UIrms为单位。下述的式子可由一连串独立无相关的(uncorrelated) 瞬间时脉抖动的量测,得到估计的rms平均值:
在这些式子里,(j 是时脉抖动的平均值,N是总共量测到的瞬间时脉抖动资料笔数,而(j是时脉抖动的rms值(又称做标准差standard deviation或one-sigma)。
对一组共N个瞬间时脉抖动的测量值来说,峰对峰时脉抖动的计算方式是用量到的瞬间时脉抖动的最大值减去最小值,如式(6)。
peak-to-peak jitter量测的单位是psp-p 或 UIp-p。
jitter的种类
时脉抖动可以被分为两种基本的种类,即随机的时脉抖动(random jitter)和固定的时脉抖动(deterministic jitter)。 Random jitter (RJ)是无法预测的且其机率分布函数(Probability Distribution Function, pdf)为高斯分布。 Deterministic jitter (DJ)是可预测的(假设我们预先知道位元流的特性)且有一定的强度极限 (amplitude limits)。 RJ是由系统中的热(或其它随机的)杂讯干扰时脉的相位或资料信号造成的。DJ是因为系统中的程序或元件间的互动所造成,例如系统的频宽有限,使得位元流中的特定的0和1的模式(pattern)受到影响。
(图二)是一张受到过量的RJ影响的眼图 (eye diagram),它是由串接两台MAX3265 evaluation kit并且用一个低于它的极限的信号来驱动第一台而产生的。 (图三)是一张表示过量的DJ的眼图。这张图是将MAX3825串接在MAX3822之前,并且故意用3.125 Gbps来驱动这些设备(高于设备保证的2.5Gbps)后,在MAX3822的输出端得到的。 Deterministic jitter又可分为几个副种类,我们将它分成四类:
《图二 Eye Diagram Showing Random Jitter》 |
|
《图三 Eye Diagram Showing Deterministic》 |
|
第一类:
工作周期失真 (duty cycle distortion,DCD) 和脉冲宽度失真 (pulse-width distortion,PWD) 是同一件事情的不同名称。 (在本分文件中我们将之统称为PWD)PWD可定义为高输出(代表1)的脉冲宽度(pulse-width)和低输出(代表0)的脉冲宽度之间的差。 PWD会造成眼图中交叉部分从垂直中点往上或下平移的失真。 (图四)表示一张受到PWD影响失真的眼图,这张眼图是故意将MAX3935 evaluation kit的输出失真做成的。
《图四 Eye Diagram Showing PWD》 |
|
PWD的定量定义是,用一个具有时脉信号模式(例如1 0 1 0)的输入来驱动系统,量测高和低电位脉冲的宽度,然后使用下式:
PWD最常见的成因,是系统中差动输入(differential input)间的voltage offset或波形上升时间(rise time)和下降时间(fall time)的不同。
第二类:
资料相依性时脉抖动 (Data Dependent jitter,DDJ) 和 Inter-Symbol Interference(ISI)是同一种时脉抖动的不同名字。这种jitter如(图五)的眼图所示,它也是由故意使evaluation kit MAX3869的输出失真做成的。
《图五 Eye Diagram Showing DDJ/ISI》 |
|
DDJ是由时域 (time domain) 来描述时脉抖动。它可定义为使得系统中的位元模式从clock-like形式的方波变成非clock-like的模式的时脉抖动。对每一个不同的位元模式来说,这种jitter都不同。
ISI则是由频域(frequency domain)的观点来看时脉抖动。它可被定义为因系统的频宽的限制造成的脉冲形状的扩散。当系统的频宽比脉冲需求的频宽大过许多时,脉冲扩散的程度很小。当系统的频宽和脉冲需求的频宽大致相同,或小过很多时,脉冲将会扩散到相临的位元时间里,造成相临的脉冲波形失真。快速变动的位元模式(例如:1010……)在高频部分需要较多的能量,而改变较慢的位元模式(例如:111111000000……)则在低频部分需要较多的能量。如果系统在位元模式需要的频带有frequency cutoff的话,所造成的失真就称作ISI jitter。换句话说,ISI jitter对每个不同的位元模式是不同的(这点和DDJ相同)。
DDJ/ISI可用来减少脉冲需要的频宽(用pulse shaping的方式)或提升系统频宽的方式来减轻。需要注意的是不论低频或高频的frequency cutoff都会造成DDJ/ISI。例如,一个过小的交流耦合(AC-coupling)电容会阻挡位元模式中够多的低频成分,造成DDJ/ISI,见(图六);同样的,高频截齗(high-frequency roll-off )太低的系统将会阻挡位元模式中的高频成分,造成DDJ/ISI,见(图七)。 DDJ/ISI另一个可能的成因是peaking 及/或 ringing。
《图六 Pattern-Dependent Jitter Due to Low-Frequency Cutoff》 |
|
《图七 Pattern-Dependent Jitter Due to High-Frequency Roll-off》 |
|
第三类:
正弦时脉抖动 (sinusoidal jitter,SJ)使得位元流的每个上升缘和下降缘有不同量的时间位移。每个上升/下降缘时间的移动量依正弦模式改变。式(8)是正弦时脉抖动的数学描述。
在式(8)中,j[n]代表第n个上升/下降缘的瞬间时脉抖动,A是时脉抖动的强度(amplitude),f是时脉抖动的频率(frequency),r是资料位元数率(data rate),而(代表一个随机的相位位移。正弦jitter在实际的系统中很少遇到,但在时脉抖动测试中则很广泛地被使用。
第四类:
无相关性(uncorrelated)且有限 (bounded)的时脉抖动基本上是任何不属于其它种类的deterministic jitter。它可被定义为是有限的(bounded)但和位元模式无关的时脉抖动。这种时脉抖动通常的原因是电源供应的杂讯和串音干扰。
关于标准差(RMS)和峰对峰时脉抖动的更多叙述
随机的时脉抖动具有呈高斯分布的机率分布函数,因此是无上下界的(unbounded)。高斯分布的机率分布函数可用它的平均值(mean)和rms平均值(rms average)来完全描述。因为高斯分布机率分布函数的尾端延伸到无限远处,因此对任何一个上升和下降缘来说,它的瞬间时脉抖动都有很小但存在的机率是无限大的。因此,random jitter通常都以rms average来测量和表述(见5式)。随机的时脉抖动的峰对峰量测是本质上模糊不清楚的,除非加上某些额外的边界条件(boundary condition)。 (见下述total jitter一节)
固定的时脉抖动(Deterministic jitter)依其定义有上界和下界。因此用峰对峰值来量测DJ就很直接。对DJ来说,rms平均是定义不清的,因为DJ的机率分布函数可以是任何有界的(bounded)形式(DJ的rms平均值和任何特定的机率分布函数是无相关的)。个别的系统元件的峰对峰时脉抖动可以直接相加,得到整体的最糟情形下的峰对峰时脉抖动。 (见下述总和时脉抖动(Total jitter,TJ)一节)
个别系统元件的rms jitter量测不可直接相加,但可用平方和开根号的方式结合,如(9)式所示(式子与本段所述并不相符,式子中没有平方,应为式子打错)(其中σ表示rms平均值)
总和时脉抖动
TJ是DJ和RJ两项元素的和。为了计算TJ,我们必须把所有的rms jitter (RJ)转换成峰对峰的值。所有的峰对峰时脉抖动的子项即可相加得到总和时脉抖动的峰对峰值。
把rms jitter转换成峰对峰时脉抖动可以用在RJ的机率分布函数上加上任意给定的界限的方法。最常用的方法之一,就是依据系统要求的位元错误率来定出上述界限。用此法转换rms jitter成峰对峰时脉抖动时,我们直接将rms jitter乘上一个α值,α值是依(表一)中适合的BER值查出。必须很注意的是,此法只适用于呈高斯分布的random jitter(此法也不适用于由峰对峰 DJ反算出rms jitter)。例如,如果系统的位元错误率要求是10-12而RJ是4psrms,换算出来的峰对峰时脉抖动是4psrms x 14.1 = 56.4pspeak-to-peak。 (想要得到这个方法的更多细节,请见Maxim application note HFAN 4.0.2, Converting Between RMS and Peak-to-Peak Jitter at a Specified BER)
表一 Scaling Factors(θ) Corresponding to System Bit Error
Ratio (BER)
BER |
α |
BER |
α |
10-9 |
11.996 |
10-13 |
14.698 |
10-10 |
12.723 |
10-14 |
15.301 |
10-11 |
13.412 |
10-15 |
15.883 |
10-12 |
14.069 |
10-16 |
16.444 |
个别的系统元件的峰对峰时脉抖动值可以直接相加,但如此得到的是最糟的TJ数字而如此常常高估了TJ。这是因为对任何一个特定的系统的子元件(sub-component)来说,DJ的最大值会在流过该元件的位元模式对它的频宽极限造成最大的压力时发生。而RJ的最大值是乱数出现但不常发生的。因为每个系统元件都有独特的频宽特性,各个元件造成的DJ的最大值将在位元模式中的不同点发生,所以最大的DJ和最大的RJ同时发生的机率是很低的。把系统中各元件的峰对峰时脉抖动直接相加,得到TJ是依据所有的peak jitter同时发生的假设(这是一个不太可能发生的事件)。因此,量到的TJ总是小于等于由各子元件量得的峰对峰时脉抖动和。而且,如果系统的总RJ和DJ是分开测量的,量到的TJ将总是小于等于量到的peak-to-peak RJ和DJ的和。
由于TJ和RJ与DJ的和之间存在上述的不等式关系,同时明白表述这三个值是有困难的。为了克服这个困难,我们经常用与RJ或DJ其中之一(而不是两者)一起表述TJ的方式。 RJ或DJ中另一个没有明述的量,则是用足以达到TJ的量的方式来表达。例如:「0.22UIrms 的RJ 加上足以达到0.6UI TJ 的DJ量」
描述系统的时脉抖动效能
系统元件的时脉抖动效能要求,是使用时脉抖动增生(jitter generation)、时脉抖动传递(jitter transfer)、时脉抖动容忍度(jitter tolerance)三个方面来表述。
脉抖动增生(jitter generation)
脉抖动增生的定义是加到信号中的时脉抖动量。这个参数通常是发信元件(transmitting component),例如laser driver、serializer、line driver及时脉信号重建电路及limiting amplifier等在使用的。
时脉抖动传递(jitter transfer)
时脉抖动传递指的是输入信号中的时脉抖动被转送到输出信号中的量。它通常用在特定时脉抖动频率上的输出时脉抖动(output jitter)对输入时脉抖动(input jitter)的比来表示。时脉抖动传递这一项是用来表达regeneration component的表现,例如时脉信号重建电路,data retimer等。
时脉抖动容忍度(jitter tolerance)
收信元件在时脉抖动的影响下正确侦测输入信号的能力称作时脉抖动容忍度(jitter tolerance)。时脉抖动容忍度的定义是使得收到的信号的BER超过某个特定的临界值(threshold)的输入时脉抖动大小,它必须在几个不同的时脉抖动频率来测量。在不同的时脉抖动频率测得的时脉抖动容忍度的量测值通常会画成在一张时脉抖动频率对jitter tolerance的图上。时脉抖动容忍度通常用来描述接收元件的表现,例如时脉信号重建电路,deserializer等。
(作者任职于MAXIM Taiwan)