日益普及的串行数据传输有两个主要特点:1.广泛采用差分信号进行数据传输;2.没有专门的时钟传输线路,时钟嵌入在数据里。因此,在系统接收端内部需要时钟恢复电路。接收端时钟恢复方法最常用的是锁相环(PLL)和相位内插(PI)两种方法。相对而言,PLL方法应用更为广泛。图2是一种典型的基于PLL的时钟恢复电路框图。
CDR与PLL简介
PLL的作用简单的来说是产生一个内部信号,去锁住输入信号的相位。讨论两个信号相位的前提是该两个信号的频率一致,这样才有意义,因此锁相环也是锁频回路。假定一固定频率信号:
输入PLL,PLL的输出信号为:
由上述结论得到:
但相位是否相等呢?答案是否定的。实际上,两个信号的相位差是一个定值,其值和起始频率差有关。所以有了第二个重要概念:“锁相不是指相位相同,而是相位差为定值”。PLL的组成如图3所示。
鉴相器(PD)将输入信号与VCO(压控振荡器)输出信号进行对比。环路滤波器对差异进行过滤波,然后用来调整VCO。由于LPF是低通滤波器,只能将相位差的低频部分传输到VCO。因此,PLL仅跟踪低频变化。也就是说,由串行数据的CDR电路恢复得到的Recover Clock只包含低频抖动,这个低频抖动在数据中同时存在,因此这些低频抖动成分对于接收端SerDes电路在以Recover Clock作为参考边沿判决数据0或1时不会产生影响(前提条件是低频抖动分量不得超过系统的抖动容限)。而数据中还包含传输系统中的高频抖动分量,由于CDR电路中的低通滤波器的缘故,这部分恢复出的Clock是不包含的。因此接收端SerDes电路在以Recover Clock作为参考边沿判决数据0或1时可能会由于这些高频的抖动分量导致采样点偏移而出现误码。因此只有在PLL截止频率或带宽以下的低频抖动是接收端可以跟随的抖动。相对而言,经过PLL传递出的抖动都为高频抖动,是不能被系统跟随的,会导致接收端采样点的偏移产生误码。如下图所示,蓝色线为PLL的幅频特性曲线,其下面包含的区域即为系统可以跟随的抖动。对应的橙色曲线表示传递出去的抖动的幅频趋势。
图1:典型计算机系统总线架构示意图。
图2:串行数据时钟恢复电路框图。
图4:跟随抖动和PLL传递出去的抖动。
如果对图5的PLL建立数学模型和分析,每个功能块均可以用传递函数表示。
图5:PLL数学模型示意图。
通常使用两种闭环路传递函数。一种是相位传递函数,定义如下:
另一种是误差传递函数,定义如下:
相位传递函数为低通,而误差传递函数为高通。两者关系如下:
该公式用于计算复值。因为复值有幅度和相位,因此该公式并不代表两个传递函数的复值之和为1。
当前应用比较普遍的串行数据中CDR采用一阶PLL较多,比如GBE,SATA 1.5Gb/s,PCI-ExpressI 2.5Gb/s,以及XAUI 3.125Gb/s。随着技术的发展,在DisplayPort及PCI-Express II 5.0Gb/s等一些新标准中二阶PLL也开始得到了应用。
在当前的大多数主流串行数据标准中,其CDR一般采用指定带宽的“Golden PLL”或采用单极点、高通、20dB/dc滚降、截止频率或带宽等于数据速率/1667这样一些特征的PLL进行时钟恢复。表1是常见串行数据CDR中采用的PLL带宽及标准。
表1:常见串行数据PLL带宽标准。
如何设置PLL带宽
DPOJET软件是泰克最近推出的专门运行在DPO7000及DPO/DSA70000上的眼图和抖动分析软件,该软件将TDS RT-EYE和TDSJIT3集成在一起,不仅保留了原来所有的核心算法,而且极大提高了测试速度和易操作性。该软件除了完全保留原来TDSJIT3和RT-EYE所有功能以外,还增加了信号Period/Freq和Amplitude等相关项目的直接测试功能。软件界面如图6所示。
图6:DPOJET界面示意图。
通常来说,较多的采集样本可以得到更加准确的串行数据测试结果:较多的样本数可以使测量结果更为精确,尤其是低频分量(如扩频时钟,低频抖动等)和高频分量同时存在的测试,更加需要高采样率、长捕获时间的采样数据为基础。以DSA71254/716004/72004这几款典型的高性能的示波器为例,可以提供全部四条通道上每通道200M记录长度,并且可以在任何采样率最高达50GS/S下工作,完全符合最新的如PCI-Express2.0 5Gb/s测试规范里的至少一次捕获1M UI进行眼图分析的要求。
串行数据分析中的另一个重要问题是:应该使用什么时钟作为眼图、抖动分析等的参考信号?由于测试串行数据的目的是得到“以接收端的眼光看到的该信号的质量”,所以以接收端的时钟恢复方法获得参考时钟是串行信号分析是否准确的一个关键点。DPOJET使用软件算法进行时钟恢复,可以灵活方便地设置各种参数,并且支持包括一阶锁相环和二阶锁相环在内的多种时钟恢复方式。因此可以支持当前业界广泛应用的各种串行数据,同时支持对各种串行数据CDR设置符合标准的带宽或者任意带宽。内含符合标准的分析模块包括PCI-Express,FB-DIMM,InfiniBand,SATA/SAS,GBE,XAUI,Fiber Channel等。对于未来的串行数据标准也可以通过设置用户自定义软件时钟恢复进行眼图分析。
DPOJET软件里还集成了泰克实时示波器抖动分析软件TDSJIT3的核心抖动分析算法。值得一提的是,泰克DPOJET软件内含的的抖动算法提供了抖动频谱图,可以对各个抖动根源作清晰的区分和量化分析,帮助设计者和调试者快速找到问题的根源,如图7所示。
图7:时间间隔误差频谱图。
如果进行眼图或者抖动分析,选择Configure可以对串行数据进行配置,包括被测信号源(Source),参考电平(Ref Levels),时钟恢复(Clock Recovery),抖动(Jitter)等各参数进行配置。本文主要针对时钟恢复(Clock Recovery)作重点介绍。图8是时钟恢复的配置界面。
图8:串行数据PLL带宽标准配置示意图。
在Clock Recovery Method下拉菜单下可以选择标准PLL带宽,然后在右下边对应标准下即“Standard:b/s”选择对应的标准。也可以选择用户自定义带宽,点击PLL-Custom BW输入框,然后可以输入任意的PLL带宽,从而实现任意PLL带宽的时钟恢复功能。另外也可以选择PLL Model为Type I或Type II,即选择一阶或者二阶锁相环。
图9:DPOJET自定义PLL带宽示意图。
不同PLL带宽对眼图测试结果的影响
下面以一个GBE实测结果为例,介绍设置不同PLL带宽产生的眼图测试差异。
首先将PLL带宽按照标准设为635kHz,得到的眼图如图10。可以看到眼图已经完全模糊,显示抖动很大。
图10:PLL BW=635kHz,标准带宽设置得到的眼图。
如果将PLL设为1500kHz,得到的眼图如图11,可以看到PLL带宽提高到1500kHz后,传递出去的抖动减小,得到的眼图相对清晰许多,水平方向眼睛已经能基本张开。
图11:PLL BW=1500kHz时的眼图。
如果将PLL带宽设为5000kHz得到眼图如图12所示。由于PLL带宽进一步增大,传递出去的抖动减小,因此可以看到在PLL带宽为5000kHz时眼图已经完全张开。
图12:PLL BW=5000kHz得到的眼图。
在得到不同PLL带宽下眼图结果差异后,利用抖动分析功能对数据的TIE Jitter(时间间隔误差抖动)进行分析,得到TIE抖动频谱如图11所示。可以看见数据的TIE抖动基本在5MHz以下,其中在719kHz频点上有一峰值高达57ps的抖动,在1383kHz频点上有一峰值达14ps的抖动。当PLL带宽设为635kHz时,CDR恢复出的时钟是不包含这两个抖动分量的,因此完全传递出去,眼图水平方向呈现关闭状态。而将PLL带宽设为1500kHz时,此719kHz抖动和1383kHz抖动被跟随,眼图张开效果明显变好。在PLL带宽设为5000kHz后,CDR恢复出的时钟包含的抖动分量将大大增加,系统传递出去的抖动大大减少,眼图也呈现明显的张开。
图13:TIE抖动频谱图。
以上分别介绍了设置PLL带宽为符合标准的635kHz以及用户自定义的1500kHz和5000kHz三种情况下得到的眼图。哪一种才是与实际系统的情况相吻合呢?答案显然是符合标准的635kHz带宽。因为在实际的系统中,接收端亦即芯片内部硬件时钟恢复电路的带宽是标准的635kHz带宽。所以真实系统在运行时是不能跟随上面的抖动频谱图中719kHz和1383kHz的抖动分量的,否则会出现比较严重的误码。