4. 确定性抖动(DJ):分类与总体特性归纳

在上一章,我们把总抖动分成了随机抖动和确定性抖动两大阵营。随机抖动像个不讲道理的愣头青,毫无规律可循。但确定性抖动(DJ)完全不同,它有根有据,有迹可循。说白了,只要你找对地方,就一定能揪出它的源头。

我个人习惯,拿到一个抖动测试结果后,会先看确定性抖动的分量。为什么?因为它能修。你通过设计或调试,能把DJ降下来。这与RJ不同,你基本拿它没辙。

确定性抖动(DJ)的本质:由确定的、可重复的物理机制引起的抖动。其峰值(Peak-to-Peak)是有限的,且概率密度函数(PDF)是有界的。

4.1 DJ的四大分类

我在项目里,把确定性抖动大致分成四类。这四种类型,你几乎天天都会碰到。

分类 英文缩写 典型特征 常见根源
占空比失真抖动 DCD 脉冲宽度不一致,上升和下降时间不对称 时钟缓冲器偏置、阈值电压偏移
数据相关抖动 DDJ 抖动量与之前发送的数据码型有关 信道带宽不足、阻抗不连续、码间干扰(ISI)
正弦抖动 SJ 周期性、正弦波形式的相位调制 电源噪声耦合、串扰、时钟调制
有界不相关抖动 BUJ 来自其他时钟域或数据源的噪声,幅度有界 邻近信号线的串扰、开关噪声

你想想看,每一类都有一个最讨厌的“元凶”。DCD找器件不对称,DDJ抓信道反射,SJ追电源纹波,BUJ查串扰路径。搞定了这四点,抖动问题基本解决一半。

4.2 占空比失真抖动(DCD)

DCD是最好理解的抖动。一个理想的时钟,高电平和低电平时间应该一样,也就是占空比50%。但实际器件总有偏差。

我遇到过最经典的一个案例。某2.5Gbps的高速SerDes,接收端眼图总是闭合。排查了三天,最后用示波器的长余晖模式一看,时钟的上升沿抖动很大,但下降沿却很稳。问题出在一个时钟缓冲器的差分对——P/N管阈值电压不匹配。

DCD的抖动值等于占空比误差乘以UI。计算公式很简单:

DCD (pp) = |50% - Duty_Cycle| × UI

举个例子:一个3.125Gbps的链路(UI = 320ps),如果占空比是48%。那么DCD抖动 = 2% × 320ps = 6.4ps p-p。

注意:DCD会同时影响上升沿和下降沿,但方向相反。所以用双狄拉克(Dual-Dirac)模型分解时,DCD的贡献会出现在左右两个高斯峰的偏移中。

4.3 数据相关抖动(DDJ)与ISI

DDJ,尤其是码间干扰(ISI),是数字通信中最常见、最头痛的抖动。我之前做过一个10Gbps背板项目,信号经过多个过孔和连接器后,眼图几乎闭了。拆开一看,DDJ占了总抖动的70%。

本质是信道的记忆效应。当信道带宽不足或阻抗不连续时,前一个码元的能量会残留到后一个码元中。你发送一个“长1”之后再发送一个“0”,这个0的边沿位置就和发送一个“短1”之后再发送的0不一样。

常见情况包括:

  • 高频衰减:PCB走线、电缆的趋肤效应和介质损耗,使得快速跳变的边沿变缓
  • 阻抗突变:过孔、连接器、焊盘处的反射,产生回波叠加
  • 串扰耦合:邻近信号线的能量通过电磁耦合进入主信号

要量化DDJ,你会用到抖动转移函数(JTF)。但更直接的办法,是用PRBS(伪随机码)测试,然后看不同码型边沿的抖动差异。PRBS7和PRBS31下的DDJ值,有时能差好几倍。

4.4 正弦抖动(SJ)

SJ,就是周期性的相位调制。它的来源很明确——电源噪声。你想想看,一个100mV的开关噪声耦合到VCO的控制线上,就直接变成了时钟的相位抖动。

我记得有一次帮客户调试一款12Gbps的视频接口。频谱仪上清楚看到SJ的频率刚好等于板子上一个DC-DC的开关频率——1.2MHz。去掉那个DC-DC的纹波后,SJ几乎消失。

SJ的数学模型是:

J_SJ(t) = A × sin(2π × f_j × t + φ)

其中A是抖动的幅度(单位秒),f_j是调制频率(单位Hz)。为什么SJ不好对付?因为它会形成浴盆曲线中的“肩峰”,让你的系统BER误码率跳变。

小技巧:当你在浴盆曲线上看到一个对称的“肩”状隆起时,十有八九是SJ在捣乱。用频谱分析模式看抖动,能直接读出SJ的频率和幅度。

4.5 有界不相关抖动(BUJ)

BUJ是个相对较新的分类。它来自其他非相关的时钟或数据域。虽然与被测信号没有相关性,但幅度是有限的,不像RJ那样无边无际。

常见的BUJ来源包括:

  1. 相邻通道的串扰——特别是对临近的时钟或数据线
  2. 电源分配网络的谐振——引起多个相位噪声源
  3. 衬底噪声耦合——在混合信号SoC中很常见

我曾经在调试一款28Gbps的测试芯片时,发现眼图在特定条件下突然变差。扫描不同码率后,找到了一个锁定在65MHz的串扰源。这是隔壁一个DDR4接口的时钟,通过PCB的缝隙耦合过来的。

4.6 总体特性归纳

我们把四类抖动整理成一个框架图,这样你看一眼就能记住区别。

确定性抖动(DJ)知识框架 确定性抖动 DJ DCD 占空比失真 占空比 ≠ 50% DDJ 数据相关 码间干扰 ISI SJ 正弦抖动 电源噪声 BUJ 有界不相关 串扰噪声 共同特征 • 抖动幅度有界 (Pk-Pk) • 根源可定位/可消除 • PDF 具有双峰或多峰 • 能通过设计手段减弱 • 与数据速率线性相关 与RJ的关键区别 • DJ 高斯尾部截断 • RJ 无界、不可根除 • DJ 对同频敏感 • RJ 对累计无记忆 • DJ 可复现可剔除

写到这里,我把DJ的一些规律也总结了一下。如果你是第一次接触这个概念,可以对照这张图去梳理。

  • 有界性:所有类型DJ的抖动幅度都是有上界的。这与RJ那种越往后拖得越长的尾巴完全不同。
  • 相关性:DDJ与数据码型强相关;SJ有明确周期性;DCD跟器件工艺相关;BUJ与干扰源相关。
  • 叠加性:在总抖动中,DJ分量与RJ分量相加,形成混合PDF。但在双狄拉克分解中,你把总抖动的标准差和均值拆开,就能分别得到RJ的σ和DJ的μ偏移。
  • 频率依赖性:DCD和DDJ在高数据速率下会更严重。SJ在低频范围影响更大。BUJ取决于干扰路径的耦合强度。
实用建议:做抖动预算时,我习惯把DJ的p-p值控制在总抖动的60%以内。超过这个比例,浴盆曲线就会变得非常陡峭,系统误码率会迅速劣化。特别是DDJ,一旦占比超过40%,就要开始考虑加均衡器(CTLE/DFE)了。

这一节还挺重要的,因为后面的浴盆曲线计算,DJ是输入参数之一。搞懂DJ的分类和特性,你才能正确设定仿真模型,避免“加班三天发现是模型用错”的尴尬事。