4. 确定性抖动(DJ):分类与总体特性归纳
在上一章,我们把总抖动分成了随机抖动和确定性抖动两大阵营。随机抖动像个不讲道理的愣头青,毫无规律可循。但确定性抖动(DJ)完全不同,它有根有据,有迹可循。说白了,只要你找对地方,就一定能揪出它的源头。
我个人习惯,拿到一个抖动测试结果后,会先看确定性抖动的分量。为什么?因为它能修。你通过设计或调试,能把DJ降下来。这与RJ不同,你基本拿它没辙。
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。
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误码率跳变。
4.5 有界不相关抖动(BUJ)
BUJ是个相对较新的分类。它来自其他非相关的时钟或数据域。虽然与被测信号没有相关性,但幅度是有限的,不像RJ那样无边无际。
常见的BUJ来源包括:
- 相邻通道的串扰——特别是对临近的时钟或数据线
- 电源分配网络的谐振——引起多个相位噪声源
- 衬底噪声耦合——在混合信号SoC中很常见
我曾经在调试一款28Gbps的测试芯片时,发现眼图在特定条件下突然变差。扫描不同码率后,找到了一个锁定在65MHz的串扰源。这是隔壁一个DDR4接口的时钟,通过PCB的缝隙耦合过来的。
4.6 总体特性归纳
我们把四类抖动整理成一个框架图,这样你看一眼就能记住区别。
写到这里,我把DJ的一些规律也总结了一下。如果你是第一次接触这个概念,可以对照这张图去梳理。
- 有界性:所有类型DJ的抖动幅度都是有上界的。这与RJ那种越往后拖得越长的尾巴完全不同。
- 相关性:DDJ与数据码型强相关;SJ有明确周期性;DCD跟器件工艺相关;BUJ与干扰源相关。
- 叠加性:在总抖动中,DJ分量与RJ分量相加,形成混合PDF。但在双狄拉克分解中,你把总抖动的标准差和均值拆开,就能分别得到RJ的σ和DJ的μ偏移。
- 频率依赖性:DCD和DDJ在高数据速率下会更严重。SJ在低频范围影响更大。BUJ取决于干扰路径的耦合强度。
这一节还挺重要的,因为后面的浴盆曲线计算,DJ是输入参数之一。搞懂DJ的分类和特性,你才能正确设定仿真模型,避免“加班三天发现是模型用错”的尴尬事。