信号完整性基础系列之十一——力科SDA的三种抖动分解方法
扫描二维码
随时随地手机看文章
在通讯和PC行业,高速串行信号越来越普及,在使用示波器测量和分析这类信号时,通常要求测量总体抖动(Total jitter,简称Tj)和固有抖动(Deterministic jitter,简称Dj),验证是否满足相关规范的要求。
在力科SDA系列示波器中使用了“Normalized Q-Scale method”(简称NQ-Scale方法)来求解Tj。而Tj分解为固有抖动Dj和随机抖动Rj时,力科SDA提供了三种抖动分解方法,分别为Conventional、effective、MJSQ,如下图所示。
图一:力科SDA的三种抖动分解方法
MJSQ方法在Fibre Channel规范已有定义(MJSQ代表Methodologies for jitter and signal quality specification),这种方法在串行数据的抖动分析中被广泛使用。在MJSQ文档中,Tj是某一测量样本数量下的TIE抖动的峰峰值,由Rj和Dj组成,Dj是有边界的,而Rj是没有边界的,其概率密度函数满足高斯分布。Tj的直方图使用dual-Dirac来建模。Dual-Dirac模型是由两个满足高斯分布的脉冲组成,左右两个脉冲的均值为μL和μR,两个脉冲的标准偏差都等于σ,Dj = μR - μL,Rj = σ,Tj@BER-12= 14 * Rj + Dj。如下图二所示。
图二:Dual-driac模型与MJSQ方法示意图
力科SDA中的MJSQ方法直接处理PDF概率密度函数,使用两个高斯分布的曲线分别拟合TIE直方图的左右两边的尾部,调节高斯曲线的标准偏差让曲线能尽量拟合TIE直方图的尾部。 力科SDA的MJSQ分解方法基于传统的MJSQ方法进行了革新,两个高斯分布的均值可以是不以Y轴对称的,标准偏差也可以是不相等的。拟合的两个高斯曲线的均值之差为Dj,标准偏差的平均值为Rj。
Effective方法是直接对浴盆曲线(bathtub curve)进行分析,将Tj分解为Dj和Rj。这种方法与误码率测试仪(BERT)的方法相同。在使用NQ-Scale方法得到不同BER下的Tj后,由于Tj = Dj + α×Rj,在不同BER下的系数α是已知,可以推算出不同BER下的Dj和Rj。如右图所示,BER=10e-12时α=14.069,BER=10e-10时α=12.723。
由于effective方法求解Dj和Rj与BERT相似,所以使用这种方法的计算结果可以与BERT的进行对比。另外,effective方法求解的Dj和Rj与MJSQ方法的非常相似。
图三:力科SDA中effective方法分解Tj
Conventional方法先计算Dj中的周期性抖动Pj(periodic jitter)、数据相关性抖动DDj(data dependent jitter)和占空比失真DCD(duty cycle distortion),然后Dj = DDj + Pj,Rj = (Tj – Dj) / 14。 在下图四的流程图中描绘了DDj、Pj、Tj、Rj的分析流程。
图四:力科SDA中Conventional方法分解Tj
在conventional方法中,首先计算出每个数据边沿和参考时钟的偏差,即TIE,把TIE抖动随时间变化的趋势描绘为一条曲线(即TIE track,又称TIE trend),对TIE追踪曲线做快速傅立叶变换(FFT),得到TIE抖动的频谱,通常周期性抖动Pj和DDj是TIE频谱中的峰值部分,随机抖动Rj是TIE频谱中的底部,其频谱范围非常宽。将代表Pj的抖动频谱部分做反向傅立叶变换IFFT,可以得到各个频点贡献多大的抖动值,如下图五所示,在测试结果的左下角对各个频率贡献的Pj;函数F1是对TIE trend作FFT运算,即TIE抖动的频谱,在F1中的峰值点即为周期性抖动,在图五中用cursor测量结果为350kHz,与左下角的Pj breakdown菜单的分析结果吻合。
图五:力科SDA中Pj的分析
DDj的计算有两种方法,一种是Synchronous N cycle plot方法,另一种是ISI plot方法。
当捕获的信号的数据码流是重复的,使用Synchronous N cycle plot方法,如下图六所示,
理想情况下,数据pattern的每个边沿的平均位置μ应该在bit interval的整数倍上,由于通道的非线性以及上升下降时间的不平衡,该平均位置μ(均值)与理想位置e存在时间差,这种抖动是与数据的码型相关的,记录下一个pattern中每个边沿的时间差offset= e-μ。其中的最大值减去最小值即为DDj抖动的峰峰值。
图六:Synchronous N cycle plot方法计算DDj
在下图七中记录了某伪随机码PRBS7的SnCycle图,即127个bit中每个边沿的DDj(offset= e-μ)的变化趋势图。相邻两个边沿之间如果存在连续的0或者1(即没有跳变位),则采用线性插值连接offset与offset。测量该DDj随着bit位的变化的曲线的峰峰值即可得到DDj的峰峰值。
图七:Synchronous N cycle plot方法计算DDj
当捕获的数据信号的码流是不重复时,使用ISI plot方法来计算DDj。由于码间干扰ISI是由于连接TX到RX的信道对码型不同的信号产生不同的影响,在力科SDA中,首先构建选定长度为N个bit信号,帧长度为N个bit的信号可以有2个组合。从串行数据流中找出同种bit组合的信号,平均运算以去除随机抖动,然后把平均后的各种组合的码型叠加在一起,可以测量到码型相关抖动DDj。在下图八中,N=5,在左图中可以看到,从串行数
图八:力科SDA中ISI Plot方法分析DDJ
据码流中选取“00010”和“11110”,取平均运算后,叠加到ISI图中,可以清晰观察到两个码型导致的抖动。在右上图为串行数据的眼图,右下图为六种不同码型叠加的ISI图,前者的轮廓与后者完全一致,而后者在加入随机抖动后与前者很接近。
三种计算方法的比较:
Conventional方法可以计算出DDj、Pj、DCD、ISI,可以计算出Pj的来自于哪些频率,对于串行信号的分析和调试非常实用。Effective和MJSQ方法只能得到Tj、Dj和Rj,不能把Dj进一步分解。Effective方法采用与BERT相似的方法来计算Dj和Rj,测量结果可以与BERT做对比。
注:在三种方法的示意图中都可以看到Tj是用TIE直方图的尾部外插值后推算出来的,在抖动测试仪器行业中,对于直方图尾部拟合且外插值有几种算法。 力科SDA使用了NQ-Scale方法来对TIE直方图的尾部进行拟合和外插值运算,在另一篇文章中将介绍NQ-Scale方法。
参考文献
1, Understanding the Choices for Jitter Calculation Method, LeCroy Application Brief
2, A Comparison of Methods for Estimating Total Jitter Concerning Precision, Accuracy and Robustness, Martin Miller Ph.D., Michael Schnecker, DesignCon2007.
3, Fibre Channel – Method Jitter and Signal Quality Specification – MJSQ, T11.2/Project 1315-DT/Rev 14.1, June 5, 2005.