定量测量多通道串行数据系统中的串扰引起的抖动
在之前推荐我的拙作“关于抖动(上)”一文时,我提到,为了能写出关于抖动(下),我就找一些英文文章翻译,想加深对抖动的理解。但最终还是没有能写出关于抖动(下)。希望再过若干年,我能弥补这个遗憾。
抖动是高速总线研究和工程实践中不可回避的话题,虽然我们大多数和高速相关的硬件人都对它搞得似懂非懂的。 这篇关于串扰引起的抖动的英文原文作者是全球若干个(5个以内)对抖动了几十年的科学家。 这篇文章堪称经典。
现在回过头来看,当年我每天白天跑三到四个客户,晚上还能翻译出这种硬的文章,有点不可思议的味道。那是何等无比寂寞的勤奋。 今天找出这篇文章重新阅读,我感动了自己一把。唯愿这篇经典可以引起你研究抖动的兴趣。 有问题,欢迎和硬件智库交流。
简介
多通道串行数据链路容易受到串扰的影响,这些串扰可能来自于相邻通道,也可能是外部的干扰源(Aggressor),其结果是增加了受干扰通道(Victim Lanes)的抖动和噪声,最终带来了系统误码的增加。使用TDR或VNA可以测量出通道之间的耦合,但是他们不能直接测量出串扰影响带来的具体抖动值。本文将讨论的NQ-Scale测量方法能准确分离出串扰贡献的抖动大小并且介绍使用不同方法进行实际测量的案例。
概述
串扰的影响引起了Rj和Dj的增加,但是影响的程度会有非常大的差别,这取决于相邻通道传输的数据的特性。利用数字示波器和其它类型仪器的抖动分析技术可以提供详细的抖动分解结果,包括周期性抖动Pj,数据相关性抖动DDj和随机抖动Rj等。串扰从原理上来说是信道之间幅度上的耦合而产生的相关性的失真。在任何一个串行数据系统中,通常有两种类型的串扰存在:非相关性的或者说“alien”串扰和相关性的串扰。后者多表现为数据相关性抖动和随机抖动,而前者通常表现为周期性抖动。串扰的另外一个特征是,它直接影响信号的幅度,这个影响可以通过ISOBer的方法在眼图轮廓上看出来,也能在信号幅度的周期性的变化上看出来。考察周期性的幅度变化有助于确定非相关性串扰引起的周期性抖动。
串扰的存在使得随机抖动的准确测量变得非常困难。根据相互干扰信号的不同类型,串扰可能导致随机抖动显著增加,但是这种随机抖动并不能通过大多数的抖动测量模型准确测量出来,特别是对于那些带有延迟特性的干扰源(Aggressor)的相关性的串扰所贡献的随机抖动,这种随机抖动由于只有非常低的统计权重却又有比较大的标准偏差,只有利用多种抖动测量模型才有助于揭示总体抖动的真正特点。
随机抖动和固有抖动的分解通常是基于“双狄拉克(Dual-Dirac) ”抖动模型。双狄拉克(Dual-Dirac)模型是将抖动的PDF函数当作包含两个权重都是1/2的狄拉克 delta函数的单个高斯函数模型,而且将这两个狄拉克函数通过周期性抖动分离开来。对于串扰的分析,其它的一些模型可能是更有帮助,譬如双高斯模型,其具有两个分离的高斯函数,每一个具有自己的标准偏差、1/2的权重和平均值,而且这两个高斯函数也是通过固有抖动分离开的。第三种模型也是双高斯,但各自都有自己的权重和标准偏差。这三种模型拟合TIE测量结果的自由度在逐次增加,逐次提供了更加准确的抖动PDF和BER性能的估计。
本文介绍了三组实验来证明不同类型的串扰引起的抖动成分的影响是不同的。第一组实验的干扰源(Aggressor)和受干扰对象(Victim)都使用一个简单的时钟信号码型,用以确定串扰和抖动之间的关系。 第二组实验的干扰源(Aggressor)是随机信号,而受干扰对象(Victim)是时钟信号码型,最后一个实验的干扰源(Aggressor)和受干扰对象(Victim)都是随机码型。在每组实验中,使用两个模型的抖动测量结果和基于串扰电压的峰峰值理论上计算的结果是相关的。
总体抖动和抖动分解
时序上的抖动从特征上看是一个随机过程因为它包含的成分是由热噪声引起的。最基本的观察抖动的方法是采用随机高斯噪声模型,可以根据标准偏差来对它进行分析。这种简单的模型在很多应用包括通信标准如SONET/SDH的应用中被用于预测串行数据链路长时间内的误码特性。 随着高速串行数据技术被应用于相对更低成本要求的平台上如PC行业,简单的高斯模型已不能准确测量抖动了,这主要是因为低成本的链路可能会有更多的不能用简单的高斯模型来描述的固有抖动。
双狄拉克(Dual-Dirac)抖动模型
FibreChannel委员会在MJSQ文档[1]中提出了一种更成熟的抖动模型,该文介绍的统计模型包括了随机抖动和固有抖动,能够更好地表征实际上的抖动。这个模型就是我们现在熟知的双狄拉克(Dual-Dirac)模型。该模型是通过两个双狄拉克(Dual-Dirac)delta函数卷积组成单个高斯概率密度函数,而这两个函数通过与固有抖动成比例的数量分开,如图1所示。和简单的高斯模型一样,双狄拉克(Dual-Dirac)模型寻求预测串行数据链路长时间下的误码性能,而且因为它包括了固有抖动成分,它会更加准确。抖动测量的准确性提高是至关重要的,因为随着串行数据链路的传输速率提高,性能的裕量变得越来越小了。
图1 带有模型参数的双狄拉克(Dual-Dirac)模型,函数QG(BER)表示一定BER时对应的高斯函数的标准偏差值
双狄拉克(Dual-Dirac)模型作为抖动测量方法被用于很多当前的串行数据标准中,其原因主要有两点,第一,这个简单的模型通过增加了双狄拉克(Dual-Dirac)固有抖动(有时侯也被称为Dj(ᵟ-ᵟ)成分,增加了随机抖动成分的平方和的均方根值,能够计算出链路的裕量,第二,该模型的参数能够通过多种类型的仪器计算出来,包括实时示波器、采样示波器和误码率测试设备。
测量双狄拉克(Dual-Dirac)模型参数
尽管双狄拉克(Dual-Dirac)模型比较简单,但是确定该模型的相关参数并非易事。数字示波器是测量抖动的首选工具。模型的参数Rj和Dj可以通过最佳拟合抖动分布的尾部得到。示波器测量大量信号边沿的时序抖动并据此预测抖动的分布图。方法之一是在归一化的区域内累积测量时间间隔误差(TIE)形成直方图。直方图表征了一定时间范围内的概率密度函数。图2表示一个典型的抖动追踪图(Track)和直方图。通过拟合这个直方图可以得到Rj和Dj。直方图累积的测量样本数越多,预测的Rj和Dj值会增大,直到累积的直方图达到非常稳定的状态。最大的问题是直接通过直方图来得到的Rj和Dj需要的时间太长了。传统上的数字示波器并不能在可以接受的时间范围内累积大量的数据来得到稳定的测量结果。(译者注:假如用直接测量的方法需要测量10的12次方的样本)
图2 抖动追踪(左)和直方图(右)
所谓的频谱分析方法被用于解决上述直接测量的局限性,该方法利用FFT将TIE的追踪图转换为频域,分析抖动的频谱得到抖动参数。这个方法的原理就是要把随机噪声的频谱从固有抖动中“甄别”出来。这种分离方法需要定义一个幅值门槛,低于该门槛的FFT定义为随机噪声,高于该门槛的则为固有抖动。固有抖动的特点是它的频响表现为离散的“峰值点”。通过将门槛值以下的FFT的Bins以平方和相加得到随机抖动,因为这个方法中将随机抖动都假设为随机的和不相关的。这种计算Rj的方法计算速度快,可重复性好,这两点对于测量来说都是很好的特点。Dj则可以通过多种方法得到,譬如拟合抖动的直方图或者对门槛值以上的FFT的bins做复杂的加法运算。
频谱方法是测量双狄拉克(Dual-Dirac)模型参数的初级方法,事实上也是非常有效的方法。但是频谱方法的一个先天性的不足是它是建立在这样一个假设前提下的:所有的随机抖动都是高斯分布的。通常来说实际中当然没有真正的高斯但是至少大多数的随机行为在实际的测量时间范围内是非常接近高斯分布的。但是也有些伪随机的案例,在短时间内表现为随机的,而实际上在比较长时间内观察则是属于固有抖动。还有些情况下虽然是随机抖动,但是其分布特性并不是高斯的。在这些情况下,频谱方法的假设就不成立了,Rj就会比实际的大或者小。
图3 带有门槛的抖动频谱图。低于门槛幅值的Bins被定义为随机噪声
频谱方法遇到的另外一个问题是随机抖动的分布并不是单一的高斯分布,而是由多个高斯分布组成。例如,对于一个特定信号的每一个边沿可能是由一个在它之前的边沿引起的独特的上升时间。这在传输通道带宽受到限制而造成了ISI的情况下是很常见的。除了造成有些比特位的幅值减小,ISI还使一些边沿的转换速率降低。 更低的转换速率带来信号中更多的噪声,这些噪声会转换为时序上的抖动。 根据数据码型的不同,边沿上很小的变化可能会有更高的随机抖动,结果表现为在抖动分布上有一个主体的高斯抖布和一个很小的、低统计权重的高斯。如果这种低权重的高斯有一个比较高的标准偏差值,那么正确的方法应将此作为随机抖动值,但是,频谱方法仅仅是计算出了低分布,高权重的高斯,测量到的Rj就会偏小。
串扰带来的抖动行为就属于频谱方法不能准确测量的类型。有些情况下,串扰带来伪随机抖动,这时的干扰源(Aggressor)和受干扰对象(Victim)是不相关的。在另外一些情况下,干扰源(Aggressor)是和受干扰对象(Victim)相关的,但是这时候的码型一般特别长而且不重复的。 在这些情况下,抖动是伪随机但是有界,导致频谱方法会过高估计了抖动大小。
抖动分解
双狄拉克(Dual-Dirac)模型对于评估串行数据链路长时间的误码性能是有效的,但是仅仅从Dj参数来确定固有抖动的根源是不够的。抖动测量仪器对固有抖动的组成成分进行更详细的分析以找出抖动的根源。图4是一种典型的抖动分解树,固有抖动包括数据相关性抖动DDj和非相关性抖动。数据相关性抖动DDj通常是由背板、电缆和连接器等组成的信道衰减和散射等引起的,而非相关性抖动则是从外部源如开关电源和串扰耦合到信号中的。
图4 抖动分解树
非相关性抖动常被称做有界的非相关性抖动(BUj)。这种抖动通常可以根据频谱中的频率成分测量,它的分布是有界的,也就是说BUj的峰峰值范围是限定在一定范围以内,不会象高斯抖动那样随着观察时间的增加而增加。有些有界抖动并没有表现出离散的频率成分,至少在测量到的时间范围内它的表现形式是随机的。这种抖动被定义为其它的有界不相关抖动(OBUj)。应该注意到一些抖动模型将Pj单独作为一种类型而不是当作BUj的一部分,但是MJSQ[1]中将Pj当作BUj的一部分。不管BUj是否包括Pj,这并不影响抖动的整体分解结果,因为这只是一个词意上的分歧。两种情况下,Pj都是和数据码型不相关的。
串扰存在时的信号完整性
串扰是由一个或多个信号耦合到另外一个信号中引起的。耦合通常是由被称作干扰源(Aggressor)的信号的电磁辐射引起的。辐射常发生在干扰源(Aggressor)的信号改变状态的时刻,从“1”到“0”或者相反。在电平转换时,“受干扰对象(Victim)”感应的电压正比于“干扰源(Aggressor)”的电压转换的速率。
上式中的后缀标记”c”和“a” 表示干扰源(Aggressor)电压和受干扰源(Aggressor)电压。感应到的电压对受干扰源(Aggressor)信号的时序或幅度产生影响,是影响时序还是幅度取决于干扰源(Aggressor)发生电平转换的时刻和受干扰源(Aggressor)之间关系。图5以图形方式表示了这种影响。
图5 图形化表示的串扰。 受干扰通道的失真与干扰源(Aggressor)和边沿极性紧密相关
图6表示测量到的干扰信号通过干扰源(Aggressor)信号感应到受干扰对象(Victim)。上面栅格中显示的是串扰信号,干扰源(Aggressor)信号在下面的栅格。 推导出来的干扰源(Aggressor)信号(比较大的信号)叠加在测量到的串扰信号上,这表明等式1确是能预测串扰。
有很多种形式的串扰,包括近端串扰和远端串扰(NEXT和FEXT)以及在频率和时间上都和受干扰对象(Victim)不相关的不相关串扰。近端串扰和远端串扰是相关联的,从某种意义上来说他们和被测信号工作在相同的数据速率,但是不相关串扰是工作在不同的速率,和被测信号不相关。
图6 干扰源(Aggressor)信号感应到被干扰的通道
时序影响
当干扰源(Aggressor)的电平转换时刻和受干扰对象(Victim)的电平转换时刻刚好一致或者接近,受干扰对象(Victim)的时序会发生改变。当受干扰对象(Victim)的幅度被感应的串扰电压移动时,其结果必然是带来了时序的变化。如果信号的转换无限的快,那将没有时序上的变化,但是受干扰对象(Victim)的转换时间是一定的,它的时序就会按照和串扰电压成比例的大小变化。等式(2)表示串扰带来的峰峰值抖动所遵循的规则。
等式中
分别是感应到被干扰对象(Victim)上的峰峰值干扰电压和受干扰对象(Victim)的20%到80%的上升/下降时间,
是受干扰信号的峰峰值电压。等式2中假设了串扰的唯一后果是带来固有抖动的增加,但实际中的情况并不完全是这样。全部的上升时间将近是上述的20%到80%的上升时间的2倍[2]。串扰引起的抖动是有界的,因为电压幅度是干扰源(Aggressor)斜率(参考等式1)和干扰源(Aggressor)与被干扰对象之间的耦合程度的函数。这两者都是有界的。
串扰抖动仅仅出现在干扰源(Aggressor)的电平转换和受干扰对象(Victim)的电平转换相同的时刻。多数情况下在多个通道同时传送串行数据时总会带来串扰问题。这时干扰源(Aggressor)和被干扰对象(Victim)的速率是相同的。
在参考文献[3]中推导了串扰引起的峰峰值BUj的关系式。该文基于的假设是干扰源(Aggressor)感应的串扰改变了被干扰信号的幅度,改变量的大小等于感应的串扰电压。受干扰对象(Victim)边沿移动的变化量由下面的等式(3)给出。
图7的模型假设了感应的串扰电压是一个方波信号,这在现实中肯定是不真实的。串扰电压形状经过干扰源(Aggressor)和受干扰对象(Victim)之间的耦合的脉冲响应变得光滑些,这使得实际的串扰大小比等式(3)中预测的要小一些。另外等式(3)并不能预测当干扰源(Aggressor)和受干扰对象(Victim)不是完全同相时串扰对受干扰对象(Victim)边沿的影响。在这种情况下,受干扰对象(Victim)的边沿的形状被改变并带来了更大
图7 串扰引起的幅度变化示意图
或者更小的斜率。受干扰对象(Victim)的垂直噪声转换为抖动,越低的斜率带来越大的随机抖动,其关系式如下所示:
式中N和
抖动测量是通过对被测信号进行大量的连续边沿进行观察并分析测量结果的追踪图而得到的。额外的串扰带来的抖动造成了待测信号的时序和干扰源(Aggressor)的时序关系发生了变化。等式3和4预测了串扰带来的固有抖动和随机抖动的增加。固有抖动的增加量的大小正比于干扰源(Aggressor)和受干扰对象(Victim)的耦合程度,随机抖动的增加则正比于干扰源(Aggressor)和受干扰对象(Victim)的相位大小。
串扰测量的实验
为了测量串扰引起的抖动,我们利用Lattice的评估板ORT82G5 FPSC做了一组实验。SERDES输出两路速率都为3.125Gb/s的信号,输出到一对比较短的PCB线径上。这两路信号作为干扰源(Aggressor)和受干扰对象(Victim)。一对PCB走线的间距非常接近以产生串扰。利用TDR测量出线径之间耦合的插入损耗,如图8所示,插入损耗从频率点2.5GHz之后的很长频率范围内都是10dB。干扰源(Aggressor)和受干扰对象(Victim)都施加在线径的同一端,实现近端串扰测量(NEXT)。而且我们注意到,在DC时的耦合为零,随着频率的增加而增加。
图8 干扰源和受干扰对象线路之间的插入损耗
实验1- 受干扰对象(Victim)和干扰源(Aggressor)都是半速率的时钟码型
第一个实验采用1100…作为干扰源(Aggressor)的码型。干扰源(Aggressor)的电压总共有6种大小,测量结果和等式3的预测值一起比较,如表1所示。
表1 半时钟速率码型作为干扰源(Aggressor)的抖动测量结果
该实验中,干扰源(Aggressor)和受干扰对象(Victim)之间的相位尽可能保持为零。频谱方法(sp)和归一化NQ-Scale(nq)方法的测量结果和预测的结果都很接近,如图9所示。
图9 测量和理论计算的固有抖动和串扰电压大小之间关系
对于这种串扰信号非常简单的码型,频谱是由一系列离散的峰值点组成的,使用两种方法都能够容易准确测量,因为所有的干扰源(Aggressor)抖动大于抖动噪声的门槛值。抖动的频谱如图10所示,随机抖动维持为一个常量,这和预期的是一致的,因为考虑到干扰源(Aggressor)和受干扰对象(Victim)之间的相位是恒定的。
图10 3.125Gb/s的受干扰对象(Victim)的抖动频谱和半速率的时钟抖动
干扰源(Aggressor)和受干扰对象(Victim)之间有不同的相位关系时的随机抖动和固有抖动值测量结果如图11所示。
图11 固有抖动和随机抖动与干扰源(Aggressor)和受干扰对象(Victim)之间相差的关系。干扰源和受干扰对象的上升时间大约是50%的UI
实验2 – 受干扰对象(Victim)为时钟码型,干扰源(Aggressor)为非重复性的数据码型
第二个实验利用随机的数据码型作为干扰源(Aggressor),以测量随机串扰的影响。这种串扰比简单的时钟码型对抖动的影响复杂得多,因为干扰源(Aggressor)的边沿转换是随机发生的,除此之外,上升时间和干扰源(Aggressor)与受干扰对象(Victim)之间的相位误差也是变化的。
测量结果如表2和图12、13所示。NQ-Scale方法的随机抖动结果整体上要大一些,这是干扰源(Aggressor)的相位变化范围很大带来了受干扰对象(Victim)更小的上升时间所引起的必然结果。最显著的影响是当干扰源(Aggressor)的电平增加时,随机抖动增加,固有抖动减小。这和理论分析是一致的,因为干扰源(Aggressor)的抖动频谱由很多距离很近的线组成,而且由于频率分辨率有限,这些线看上去是连续的,可从图14清楚地看出来。图中显示的噪声基底具有和方波脉冲一致的形状。
根据等式3预测的抖动结果比NQ-Scale的都要大一些。为什么会这样? 等式1说明了串扰的大小和干扰源(Aggressor)的微分结果成正比。快沿比慢沿有更大的延迟,因此受干扰对象(Victim)和干扰源(Aggressor)之间的相位差更大。 因为相位误差越大,串扰引起的抖动的峰值就会越小,等式3的预测是基于串扰电压的峰峰得到的,因此结果总会偏大一些。
表2 干扰源(Aggressor)为非重复性的数据码型 的抖动结果
图13表示用频谱方法,NQ-Scale方法及理论预测的总体抖动。总体抖动的预测值是根据基线的随机抖动值4.61ps和根据等式3预测的固有抖动值计算得到的。 QN-Scale方法的测量结果和预测的结果非常一致,但是频谱方法测量出来的抖动值明显大很多,这是因为它不能从Rj中准确地分离出BUj。 固有抖动的减少和随机抖动的增加是非常吻合的。
图12 固有抖动和串扰大小之间的关系 (干扰源(Aggressor)是随机数据码型)
图13 总体抖动 VS. 干扰源(Aggressor)电压(受干扰对象(Victim)是时钟,干扰源(Aggressor)是非重复性的数据)
图14 受干扰对象(Victim)的抖动频谱(干扰源(Aggressor)是随机码型)
实验3- 受干扰对象(Victim)和干扰源(Aggressor)都是不重复的数据码型
第三组实验的干扰源(Aggressor)和受干扰对象(Victim)都是随机数据码型。 因为干扰源(Aggressor)和受干扰对象(Victim)都有非常明显的ISI,两者之间的相位偏差的范围很大。测量结果如表3和图15、16所示。这组实验的随机抖动大约为10ps比前面两组实验中的4ps要大一些。图15是没有干扰源(Aggressor)的受干扰对象(Victim)的抖动测量结果。
此例中固有抖动比等式3计算的结果要低一些,因为干扰源(Aggressor)和受干扰对象(Victim)之间的相位变化范围很大。 正如图11指出的,串扰引起的抖动大部分表现形式为随机抖动。图16画出了总体抖动测量结果,可以看出 NQ-Scale方法的结果和理论计算的结果非常一致。和受干扰对象(Victim)是时钟码型的结果比起来有比较大的误差,这是更大的ISI引起的随机抖动造成的结果。
表3 抖动测量(干扰源(Aggressor)和受干扰对象(Victim)都是随机码型)
图15 峰峰值Dj VS.干扰源(Aggressor)电压(干扰源(Aggressor)和受干扰对象(Victim)都是随机码型)
图16 总体抖动 VS. 干扰源(Aggressor)电压(干扰源(Aggressor)和受干扰对象(Victim)都是随机的码型)
图17 抖动测量结果和显示出近高斯形状的DDj直方图(左上图)
结论
串扰问题的研究一度聚焦于其对固有抖动的影响,固然这方面的研究仍然是非常重要的,但是研究其对随机抖动的影响也是很有意义的。当受干扰对象(Victim)和干扰源(Aggressor)的边沿同相时,串扰造成的影响主要表现为固有抖动,但是在实际系统中很少有“同相”的案例,更多的可能是,受干扰对象(Victim)和干扰源(Aggressor) 的边沿之间有很大的相位差,从而影响受干扰对象(Victim)的波形形状和斜率并因此导致随机抖动的增加。直接测量抖动直方图的尾部可以更准确地测量这种随机抖动,因为这种类型的抖动直方图的统计分布离中心值很远,占整个统计分布的比重比较小。
虽然基于频域的抖动分析是目前示波器测量抖动的已用方法之一,但是在测量带有串扰的信号时该方法有严重的局限性。抖动频谱的噪声基底由统计比重最高的随机抖动成分占主要成分,掩盖了一些比重小的随机抖动成分如串扰引起的随机抖动。将频谱方法和抖动直方图的直接测量方法方法结合起来,这将为调试串扰问题提供了强有力的方法。两种方法的组合将有助于确认是否有串扰存在:比较两种方法测量的随机抖动,当两者测量的结果明显不一样时说明有串扰存在的可能。