3、抖动分类与测量:随机抖动、确定性抖动、周期抖动、总抖动,以及常见测量方法

做时钟树那么多年,我最大的感触就是:抖动这东西,你得先分得清,才能测得准。很多人拿着示波器一顿测,看眼图张得挺开,就以为没问题了,结果系统跑起来就是不稳定。说白了,你没找到抖动的“真凶”。

这一节,我们就来把抖动的家底翻一翻。看看它到底有几种“面孔”,每种该怎么抓、怎么量。

3.1 抖动的“家族谱”:从统计学说起

你一定听过这个说法:抖动可以分成 随机抖动(Random Jitter, RJ) 和 确定性抖动(Deterministic Jitter, DJ)。这个分类不是拍脑袋想的,它是由物理根源决定的。随机抖动的来源,说白了就是热噪声、散粒噪声这类东西。它们的分布是高斯分布,没有边界,理论上存在非常小但可能极大的抖动值。嗯,这里要注意:RJ 是纯随机的,你没法预测它下一秒会出现在哪。

确定性抖动就不一样了。它是有“原因”的,有界的,通常跟电路结构、芯片封装、PCB 布局强相关。比如电源上的纹波、信号线的串扰、甚至你晶振的谐波,都会产生 DJ。

我遇到过一个项目,时钟抖动指标差得离谱。我看了一眼频谱,发现 50MHz 的频率点有个大尖刺。查了一圈,原来是晶振的封装跟布局靠得太近,电源噪声耦合进来了。这就是典型的周期性抖动(PJ),属于 DJ 的一种。

除了 DJ 和 RJ,还有个概念叫 总抖动(Total Jitter, TJ)。它就是把 RJ 和 DJ 在某个极低的误码率下(比如 BER 10⁻¹²)加一起的结果。不夸张的说,TJ 是硬件工程师最关心的数字,因为它决定了你的系统会不会在千亿分之一的机会下翻车。

另外,周期抖动(Period Jitter, PJ) 通常指 DJ 里那种有固定频率分量的部分。它跟数据中心、SerDes 这类高速设计里的电源完整性密切相关。我曾经在做 PCIe Gen4 项目时,光靠周期时域反射计(TDR)就能定位到是板上的某颗去耦电容距离远了,导致了周期性的抖动。

好了,光说不练假把式。咱们用一张图把他们的关系理清楚。

时钟抖动分类体系 总抖动(TJ) 随机抖动(RJ) 确定性抖动(DJ) 周期性(PJ) 数据相关(DDJ) 占空比失真(DCD) 有界不相关(BUJ) 说明: 总抖动TJ = RJ (高斯尾部) + DJ (有界分布) PJ 在频域表现为离散尖峰,DDJ 与码型相关,DCD 表现为占空比偏差

3.2 关键抖动的测量方法

知道了分类,我们得知道每种抖动怎么“抓住”它。我测过的方法大概有这几种,咱们一个个说。

3.2.1 周期抖动(PJ)的测量

测量 PJ,最直接的工具是 频谱分析仪,或者带有频谱功能的实时示波器。你把时钟信号的边沿做触发,观察它的相位噪声。你会发现,正常情况下应该是平滑的噪声基底,如果某个频率点出现“竖琴”一样的尖峰,那就是 PJ 在作怪。

我的小技巧: 我曾经在一个 10Gbps 的 SerDes 接收端,用 TDR 的时频转换功能,直接在时域上看到了周期为 1ns 的纹波。一查电源平面,果然是 1GHz 的开关噪声。用 TDR 定位物理位置,比纯频域扫测要快得多。

3.2.2 随机抖动(RJ)的测量

RJ 没法直接测单个边沿,它的统计特性决定了我们需要用 大量样本的直方图。常见做法是:对时钟信号做多次(比如>10万次)的周期测量,画出分布的直方图,然后用高斯拟合出标准差 σ。RJ 的 RMS 值就是 σ。

警告: 我见过有人拿小样本来算 RJ。结果标准差小得可怜,以为自己的链路很干净。其实只是因为样本不够,尾巴没显现出来。RJ 测量,样本量至少在 10⁶ 量级才可信。

3.2.3 确定性抖动(DJ)的测量

DJ 的测量通常通过 双狄拉克(Dual-Dirac) 模型来分离。你用直方图做出双峰分布(像字母 M),左右两个峰分别代表早到和晚到的边沿。两个峰的间距就是 DJ 的峰峰值(DJ pp)。

具体操作:利用实时示波器或 BERT(误码率测试仪)的“地平线扫描”功能,获取多个 BER 曲线,用贝尔曲线尾部拟合,反推出 RJ 和 DJ。

3.2.4 总抖动(TJ)的测量与计算

TJ 有两种测法。一种是直接法:用 BERT 在极低误码率下(比如 10⁻¹²)直接测量眼图闭合量。另一种是分离法:先测出 DJ 和 RJ 的 RMS,然后用公式推:

TJ(BER) = DJ_pp_peak + 2 × Q(BER) × RJ_rms

Q(BER) 是贝特曼系数。BER=10⁻¹² 时,Q≈14。所以如果你测得 RJ_rms = 1ps,DJ_pp = 10ps,那么 TJ = 10 + 2×14×1 = 38ps。这就是你这根时钟在最恶劣情况下的抖动预算。

3.3 一张表概括测量方法

为了方便你查阅,我整理了一张对比表格。这些参数在选示波器或 BERT 时都能用到。

抖动类型 核心物理特性 常用测量工具 关键指标
随机抖动(RJ) 高斯分布,无界,来源于热噪声 实时示波器(长样本直方图) RMS 值(σ),或峰峰值 @ BER
确定性抖动(DJ) 有界分布,可重复,来源于串扰、电源、码型 BERT(误码率扫描)、示波器双狄拉克 峰峰值(DJ pp),常包括 PJ、DDJ、DCD
周期性抖动(PJ) 离散频谱,周期重复 频谱分析仪、相位噪声仪、TDR 时频变换 峰值幅度、频率
总抖动(TJ) 总和分布,包含 RJ 尾部与 DJ 边界 BERT 直接扫描、分离法计算 峰峰值 @ 特定 BER(如 10⁻¹²)

3.4 经验之谈:避坑指南

  • 我曾经吃过一个亏:测 RJ 的时候,误把电源纹波产生的 PJ 当成了高斯噪声。结果算出来的 TJ 预算完全不对,导致系统稳定性测试过不了。所以先除 DJ,再算 RJ。
  • 我建议:在测量之前,一定要确认你的测试仪器有没有“去嵌入”功能。尤其是用 TDR 测时钟线,探头和线缆的带宽限制会引入额外的抖动。
  • 你想想看:如果你只关心系统能不能跑到 10Gbps,却只测了 TJ 的 RMS 值,那是没用的。一定要换算到目标 BER 下的 TJ 峰峰值。
  • 用 周期抖动(PJ) 作为滤波器:当我们用 TDR 定位到某个物理位置的反射点后,其反射波形的周期特性可以很直观地告诉你:这里是不是有 PJ 源。比如,你在某段走线看到重复的 100ps 反射,那基本就是周期性的阻抗不连续。
核心一句话: 分辨不清 RJ 和 DJ,你的抖动定位就无从谈起。下次拿到一个失锁的时钟问题,别急着调 PLL 带宽。先做一次“抖动分型”——看频谱是离散的还是连续的,看直方图是单峰还是双峰。一刀下去,病因就明朗了。