新闻  |   论坛  |   博客  |   在线研讨会
力科串行数据分析仪的三种抖动分解算法
李海龙 | 2009-08-11 22:17:57    阅读:11742   发布文章

                      理解力科SDA的三种抖动分解方法           

    在通讯和PC行业,高速串行信号越来越普及,在使用示波器测量和分析这类信号时,通常要求测量总体抖动(Total jitter,简称Tj)和固有抖动(Deterministic jitter,简称Dj),验证是否满足相关规范的要求。

 

在力科SDA系列示波器中使用了“Normalized Q-Scale method”(简称NQ-Scale方法)来求解Tj。而Tj分解为固有抖动Dj和随机抖动Rj时,力科SDA提供了三种抖动分解方法,分别为ConventionaleffectiveMJSQ,如下图所示。

 



图一:力科SDA
的三种抖动分解方法

 

 

MJSQ方法在Fibre Channel规范已有定义(MJSQ代表Methodologies for jitter and signal quality specification),这种方法在串行数据的抖动分析中被广泛使用。在MJSQ文档中,Tj是某一测量样本数量下的TIE抖动的峰峰值,由RjDj组成,Dj是有边界的,而Rj是没有边界的,其概率密度函数满足高斯分布。Tj的直方图使用dual-Dirac来建模。Dual-Dirac模型是由两个满足高斯分布的脉冲组成,左右两个脉冲的均值为μLμR,两个脉冲的标准偏差都等于σDj = μR - μLRj = σ Tj@BER-12 = 14 * Rj + Dj。如下图二所示。

                                              

图二:Dual-driac模型与MJSQ方法示意图

 

力科SDA中的MJSQ方法直接处理PDF概率密度函数,使用两个高斯分布的曲线分别拟合TIE直方图的左右两边的尾部,调节高斯曲线的标准偏差让曲线能尽量拟合TIE直方图的尾部。 力科SDAMJSQ分解方法基于传统的MJSQ方法进行了革新,两个高斯分布的均值可以是不以Y轴对称的,标准偏差也可以是不相等的。拟合的两个高斯曲线的均值之差为Dj,标准偏差的平均值为Rj

 

Effective方法是直接对浴盆曲线(bathtub curve)进行分析,将Tj分解为DjRj。这种方法与误码率测试仪(BERT)的方法相同。在使用NQ-Scale方法得到不同BER下的Tj后,由于Tj = Dj + α×Rj,在不同BER下的系数α是已知,可以推算出不同BER下的DjRj。如右图所示,BER=10e-12α=14.069BER=10e-10α=12.723

由于effective方法求解DjRjBERT相似,所以使用这种方法的计算结果可以与BERT的进行对比。另外,effective方法求解的DjRjMJSQ方法的非常相似。

                                          

 

图三:力科SDAeffective方法分解Tj

Conventional方法先计算Dj中的周期性抖动Pjperiodic jitter)、数据相关性抖动DDjdata dependent jitter)和占空比失真DCDduty cycle distortion),然后Dj = DDj + PjRj = (Tj – Dj) / 14 在下图四的流程图中描绘了DDjPjTjRj的分析流程。

 

 

图四:力科SDAConventional方法分解Tj

conventional方法中,首先计算出每个数据边沿和参考时钟的偏差,即TIE,把TIE抖动随时间变化的趋势描绘为一条曲线(即TIE track,又称TIE trend),对TIE追踪曲线做快速傅立叶变换(FFT),得到TIE抖动的频谱,通常周期性抖动PjDDjTIE频谱中的峰值部分,随机抖动RjTIE频谱中的底部,其频谱范围非常宽。将代表Pj的抖动频谱部分做反向傅立叶变换IFFT,可以得到各个频点贡献多大的抖动值,如下图五所示,在测试结果的左下角对各个频率贡献的Pj;函数F1是对TIE trendFFT运算,即TIE抖动的频谱,在F1中的峰值点即为周期性抖动,在图五中用cursor测量结果为350kHz,与左下角的Pj breakdown菜单的分析结果吻合。

 

图五:力科SDAPj的分析

       DDj的计算有两种方法,一种是Synchronous N cycle plot方法,另一种是ISI plot方法。

       当捕获的信号的数据码流是重复的,使用Synchronous N cycle plot方法,如下图六所示,

理想情况下,数据pattern的每个边沿的平均位置μ应该在bit interval的整数倍上,由于通道的非线性以及上升下降时间的不平衡,该平均位置μ(均值)与理想位置e存在时间差,这种抖动是与数据的码型相关的,记录下一个pattern中每个边沿的时间差offset= eμ。其中的最大值减去最小值即为DDj抖动的峰峰值。

 


图六:Synchronous N cycle plot
方法计算DDj

在下图七中记录了某伪随机码PRBS7SnCycle图,即127bit中每个边沿的DDjoffset= eμ)的变化趋势图。相邻两个边沿之间如果存在连续的0或者1(即没有跳变位),则采用线性插值连接offsetoffset。测量该DDj随着bit位的变化的曲线的峰峰值即可得到DDj的峰峰值。
                               

 

图七:Synchronous N cycle plot方法计算DDj

       当捕获的数据信号的码流是不重复时,使用ISI plot方法来计算DDj。由于码间干扰ISI是由于连接TXRX的信道对码型不同的信号产生不同的影响,在力科SDA中,首先构建选定长度为Nbit信号,帧长度为Nbit的信号可以有2个组合。从串行数据流中找出同种bit组合的信号,平均运算以去除随机抖动,然后把平均后的各种组合的码型叠加在一起,可以测量到码型相关抖动DDj。在下图八中,N=5,在左图中可以看到,从串行数

 

图八:力科SDAISI Plot方法分析DDJ

 

据码流中选取“00010”和“11110”,取平均运算后,叠加到ISI图中,可以清晰观察到两个码型导致的抖动。在右上图为串行数据的眼图,右下图为六种不同码型叠加的ISI图,前者的轮廓与后者完全一致,而后者在加入随机抖动后与前者很接近。

 

三种计算方法的比较:

Conventional方法可以计算出DDjPjDCDISI,可以计算出Pj的来自于哪些频率,对于串行信号的分析和调试非常实用。EffectiveMJSQ方法只能得到TjDjRj,不能把Dj进一步分解。Effective方法采用与BERT相似的方法来计算DjRj,测量结果可以与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.

 

*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
cpuzer  2013-06-27 11:12:13 

貌似所谓的时钟完全同步是不可能的,只是看在什么样的一个时间分析粒度,然后说‘同步’‘异步’

美国力科公司工程师李海龙与你分享示波器在探索数字世界的征程中如何助你不断取得更大成功的故事
推荐文章
最近访客