3. 抖动定义:抖动的分类与时频域表征

大家好,我是老张。做高速信号测试这些年,我见过不少刚入行的工程师被“抖动”这个概念搞得头大。你想想看,一个方波信号,理想状态下它的边沿应该准时准点地出现在每个数据眼图的中点。可实际上呢?它总是东偏西歪的。这个偏移,就是我们常说的抖动。

说白了,抖动就是信号边沿相对于理想位置的偏移。它不像噪声那样直接压扁眼图的垂直开口,而是从水平方向“剪裁”你的眼图。我在项目中遇到过一个案例:一款12.5Gbps的背板,所有直流参数都达标,眼图就是合不上。最后抓出来,是时钟恢复路径上积累的随机抖动超标。嗯,没有抖动分析仪,这个问题真没法定位。

抖动 = 信号边沿在时间轴上的不确定性

单位通常用UI(单位间隔)或者ps(皮秒)表示。1UI对应一个比特位的时间宽度。

3.1 抖动的两大分类

衡量抖动时,我们不能只给一个总值。为什么?因为不同的抖动成分,对系统的影响完全不同。想一下,有些抖动可以靠电路设计滤掉,有些则是物理极限,永远存在。所以业界普遍将抖动分解为两大类:随机抖动(RJ)和确定性抖动(DJ)。

我个人比较习惯把它们看成“好人”和“坏人”的组合。随机抖动是那个“坏得稳定”的家伙,它的分布服从高斯分布;确定性抖动则是“坏得有规律”的那位,它往往跟信号图案、电源噪声高度相关。

3.2 随机抖动(RJ)

RJ的根源是热噪声和散粒噪声,这些没办法根除。它的典型特征是无界性——随着测量时间变长,RJ的峰值会不断增大。所以RJ只能用RMS(均方根值)来描述,没法说“峰值是多少”,因为理论上RJ的峰值是无限的。

  • 分布特性:高斯分布,概率密度函数是一条钟形曲线。
  • 表征方式:RMS值,单位ps或UI。
  • 我给你的建议:做串行链路仿真时,RJ值一定要留余量。我曾经见过一个案子,仿真RJ给0.5ps RMS,实测板子RJ跑到了0.8ps RMS,板子就起不来了。差一点,就是质变。

3.3 确定性抖动(DJ)

相比于RJ,DJ是有界的,它有明确的峰-峰值。而且它的核心特征就是——可重复。DJ又可以细分为几种子类:

  1. 周期性抖动(PJ):由时钟串扰、电源开关噪声引起。频率固定,比如某条时钟线串扰过来一个156.25MHz的谐波,眼图上就能看到周期性的边沿摆动。
  2. 数据相关抖动(DDJ):包括码间干扰(ISI)。比如长“1”序列后跟一个短“0”,因为传输线充放电时间不够,边沿位置就跑偏了。我调试过一个10Gbps的项目,当时全眼图测试就是过不了,最后发现是PCB上一段过孔阻抗不连续,导致ISI严重。换了几根过孔,DDJ降了40%,眼图一下就张开了。
  3. 占空比失真(DCD):正负脉冲宽度不一致。通常是时钟占空比没调好,或者比较器阈值漂移。
类型 产生根源 主要特征 测量重点
随机抖动(RJ) 热噪声、散粒噪声 高斯分布、无界 RMS值
周期性抖动(PJ) 电源噪声、串扰 固定频谱分量 频率与幅度
数据相关抖动(DDJ) 传输线阻抗不连续 依赖码型 ISI大小
占空比失真(DCD) 阈值偏移、占空比失调 正负边沿偏差 占空比误差
实用小技巧:用示波器观察抖动时,先把时钟恢复环路锁住,只测量信号本身。如果不锁时钟,你看到的抖动包含了时钟恢复电路的抖动,很难定位是发射端问题还是接收端问题。

3.4 抖动的时域表征

在时域,我们最常用的工具就是眼图和抖动直方图。眼图打开的程度直接反映信号质量。你端一杯咖啡,盯着示波器上的眼图看,如果眼皮厚度越来越厚(即水平方向有明显“雾”状),说明抖动正在恶化。

具体来看:

  • 眼图交叉点宽度:反映总抖动大小。交叉点越宽,抖动越大。
  • 波形叠加:持续采样一段时间,所有比特边沿的叠加图。边界模糊的部分就是抖动区域。
  • 抖动直方图:对边沿时间位置的统计分布。RJ贡献一个高斯“底座”,DJ贡献几个离散的尖峰。
注意!时域上叠加出来的眼图测量的是总抖动(TJ)。要分离RJ和DJ,必须借助时间间隔误差(TIE)测量,然后做频谱分析或双狄拉克分解。

3.5 抖动的频域表征

有些问题在时域看不清楚,换到频域就一目了然。比如,电源开关的200kHz噪声注入到信号上,你在时域眼图里看到的只是一个逐渐晃动的边界,但看频谱图,你会惊喜地发现那根200kHz的毛刺。

频域分析常用的两个点:

  1. 相位噪声曲线:把时钟信号的相位抖动转换成单边带相位噪声谱密度。关注特定偏移频率下的噪声基底。
  2. 抖动频谱:直接对TIE序列做FFT。RJ表现为一个平坦的噪声基底,DJ表现为离散的谱线。

我记得有一次,客户送测了一块25Gbps的SerDes板。时域眼图看起来也还行,TJ大约10ps。但我总觉得有问题——眼图开放度有点“摇”。于是把TIE数据抓出来,跑了个FFT。结果发现156.25MHz处有一个-40dBc的抖动谱线。问题找到了:发射端时钟PLL的环路滤波器没设计好,没有很好抑制参考时钟的串扰。

核心结论:

时域 = 看结果(眼图睁不睁得开)

频域 = 找根源(什么频率的干扰导致抖动)

两者必须结合,你才能构建完整的抖动分析体系。

抖动分类与时频域表征结构图 总抖动 (TJ) 随机抖动 (RJ) 高斯分布 RMS表征 无界 确定性抖动 (DJ) PJ周期性抖动 DDJ数据相关 DCD占空比 时域表征 眼图 / TIE直方图 / 峰值抖动 频域表征 相位噪声谱 / FFT抖动频谱 时域看结果 → 频域找根源 → 两者结合构建完整分析

好了,上面这张图把抖动的关系理得很干净。左半部分RJ,右半部分DJ,下面就是时域和频域两种表征手段。你自己拿着这张图去串测试系统的链路,应该能快速定位到问题域了。做BERT测试时,我特别建议你先看眼图(时域),如果眼图边界有明显的“拖尾”或者垂直边界不够收敛,再上频谱分析揪干扰。

最后送大家一句话:抖动不是魔鬼,不懂分解抖动才是。只要你能准确区分RJ和DJ,再进一步找出DJ的子成分,90%的测试问题你已经解决了一半。