确定性抖动细分:周期抖动、数据相关抖动、占空比失真

我做了十多年信号完整性,最头疼的还不是随机抖动,而是那些“有规律”的抖动——确定性抖动(DJ)。说白了,DJ 就是你能找到根因的抖动,不像 RJ 那样随机得让你抓狂。今天咱们把 DJ 的几个关键子类掰开揉碎:周期抖动、数据相关抖动、以及最容易忽略的占空比失真。

周期抖动(Periodic Jitter, PJ)

周期抖动,顾名思义,它有一个固定的频率。你可以在频域里看到一个尖峰。它从哪来?最常见的是开关电源的纹波、板上其他时钟的串扰、甚至你散热风扇的振动。我遇到过一块 DDR5 双列直插模组,眼图总在特定位置塌陷,查了两天才发现是电源模块的 400kHz 开关频率通过耦合电容串进了 VDDQ——典型的 PJ。

怎么抓它? 我最常用的方法是频谱分析。拿示波器的 FFT 功能扫一下时钟信号,看哪个频率点上冒出来一个孤立的大峰。下面这张图可以帮你理解不同 DJ 成分在频谱上的样子——

确定性抖动(DJ)分类与典型频谱特征 确定性抖动 DJ 周期抖动 PJ 频谱:离散尖峰 来源:电源/串扰 数据相关 DDJ 频谱:随码型展宽 子类:ISI / DCD 占空比失真 DCD 频谱:低频偏置 来源:时钟不对称 ISI 码间干扰 DDJ中的DCD (也属DDJ) 提示:PJ 在频谱上呈现离散峰;DDJ 的 ISI 随码型变化;DCD 表现为高低电平时间不对称

看上面这张图。PJ 在频谱上就是一根根离散的“钉子”,频率已知,你就顺着这条线去找耦合路径。我建议你在板级设计初期就把电源层和信号层隔开一个地平面,不然后期要加 LC 滤波器可就麻烦了。

小技巧:如果你怀疑是某个开关频率引起的 PJ,可以在示波器上做触发平均——把相同频率的噪声同步触发,PJ 会稳定下来,RJ 会被平均掉。这叫“同步平均法”,对 PJ 特别灵。

数据相关抖动(Data Dependent Jitter, DDJ)

DDJ 跟信号它自己传递的比特序列有关。最典型的就是码间干扰(ISI)——信道带宽不够,前面的 bit 拖尾巴撞到了后面 bit。DDR5 速率动辄 5600MT/s,PCB 走线的损耗、过孔的反射,都在制造 ISI。

我怎么定位? 先跑一个 PRBS 码型,测出浴盆曲线。如果眼图张开度跟码型长度强相关,那多半是 ISI。更直观的办法是用示波器的“抖动分解”功能,把 DIJ(数据相关抖动)从总抖动里拎出来。我见过一个案例:一条 8 英寸长的主板走线,端接没匹配好,结果 010101 的码型眼图是好的,但随机的 PRBS 眼图全闭上了——这就是 ISI 在作祟。

DDJ 里还有一个常见成分叫 DCD(占空比失真)。但 DCD 也可以单独拿出来讲,因为它有自己特殊的根因。

占空比失真(Duty Cycle Distortion, DCD)

DCD 就是时钟或者数据的高电平时间和低电平时间不相等。你可以简单理解为,原本 50% 的占空比偏成了 48% 或者 52%。别小看这点偏差——DDR5 的时序窗口本来就窄,DCD 会吃掉你的建立时间或者保持时间裕量。

为什么会出现 DCD?

  • 时钟发生器内部差分输出不平衡(比如上升沿上升慢、下降沿下降快)
  • 驱动器的 PMOS 和 NMOS 管尺寸不对称
  • 传输线不对称(比如差分对的两条走线长度不匹配)

我记得之前在调试一款 DDR5 RDIMM 模组时,发现 CK_t/CK_c 差分时钟的交叉点偏了 30mV。我本来以为是接收端片上的 Delay Cell 配错了,结果查了整条走线才发现——BGA 出线时,一组差分对的两根线走了不同的过孔层,导致延迟差了 5ps,产生了 DCD。你想想看,仅仅 5ps 就能让你在 1.25ns 的 UI(单位间隔)里损失 0.4% 的占空比,而在高速下这个损失会被放大。

避坑指南:我之前吃过一个亏——用示波器的直方图测量占空比,直接读取平均值。但示波器的采样可能有偏,建议测量超过 10 万个边沿再取平均,或者使用抖动分析软件自带的 DCD 分离算法。另外,别忘了脉冲发生器本身也有可能引入 DCD,校准一下基准源。

测量 DCD 我推荐两种方法:

  • 均值法:采集大量边沿,统计平均值。DDR5 规范要求 DCD 一般不超过 ±3% UI。
  • 频谱法:DCD 在频谱上表现为一个直流偏置分量——如果你的时钟信号在 0Hz 附近有能量,那大概率有 DCD。

顺带提一下,有些工具可以把 DCD 从 DDJ 中分离出来。实际工程中我往往先把 DCD 抠掉再看 ISI,这样定位更准。

其他 DJ 成分(简要提一嘴)

除了上面这三个,确定性抖动还包括有界不相关抖动(BUJ),比如来自其他数字总线的串扰。不过 DDR5 信号完整性分析时,PJ、DDJ 和 DCD 是最主要的 DJ 成分。我把它们列个表,方便你快速对比——

抖动类型 典型频率特征 主要来源 常用定位手段
周期抖动 PJ 离散尖峰 电源噪声、串扰、机械振动 频谱分析、同步平均法
数据相关抖动 DDJ(ISI) 随码型展宽 信道损耗、反射、端接不当 浴盆曲线、抖动分解
占空比失真 DCD 低频偏置 / 直流分量 时钟不平衡、驱动器不对称 边沿统计、频谱直流分析
注意:当 DDR5 速率超过 6400MT/s 时,DCD 和 ISI 往往互相叠加,你看到的眼图可能像“双瞳”一样。这时候别着急调均衡器——先把 DCD 排除掉,再去看 FIR 滤波的系数。否则你会花半天时间调一个根本不存在的 ISI 问题。

嗯,总之,确定性抖动不可怕,可怕的是你分不清它到底是哪一类。掌握了 PJ、DDJ 和 DCD 的特征,你就能像老中医一样——望闻问切,对症下药。