数据相关抖动(DJ)

上一章我们把随机抖动和周期抖动拆了一遍,这回来啃硬骨头——数据相关抖动(DJ)。说白了,DJ 就是跟传输的数据紧绑在一起的抖动,数据跑什么样,它也跟着变。我刚开始做高速串行的时候,总把 DJ 跟 PJ 搞混,后来用眼图一看,区别很明显——PJ 会让眼图左右规律地摇摆,DJ 则像把眼图“撕开”好几层。

数据相关抖动(DJ)三大组成部分 数据相关抖动 DJ 码间干扰 (ISI) 过去码元影响当前判决 占空比失真 (DCD) 1/0 脉冲宽度不对称 有界不相关抖动 串扰/开关噪声导致 频率衰减 反射 阈值偏移 占空比失调 串扰 SSN 核心判断:若抖动幅度随数据模式变化,且存在多重边沿,则 DJ 主导。 解决方法:均衡、预加重、优化叠层。

码间干扰 (ISI)

ISI 是 DJ 里最烦人的一个。你想想看,当信号经过一段损耗严重的传输线,前一拍的电压还没摆到位,后一拍的判决就被带偏了。为什么眼图上会看到「双眼圈」甚至「三眼圈」?其实就是 ISI 在搞鬼。我记得有一次调一个 12.5Gbps 的背板,眼图张开度只有 30%,回波损耗也还行,最后用 PRBS9 和 PRBS31 分别测了一遍,发现 PRBS31 时眼图更差——长连 1 和长连 0 把通道的直流偏移拉大了,这就是典型的 ISI。

避坑指南:我曾经在量产测试中发现批次间眼图差异很大,查了半天居然是测试用的 PRBS 模式不同。标准里规定的 PRBS9 和 PRBS31 一定要对应你实际的链路最差场景。简单说,长模式跑不过就别指望产品能扛住。
  • 成因:通道带宽不足、反射、阻抗不连续,导致已有符号的余晖拖到下一个符号。
  • 特征:眼图出现多重轨迹,抖动直方图呈多峰分布且峰值间距等于 UI 的整数倍。
  • 测试手段:用示波器捕获 PRBS9/15/31 的眼图,比较眼高和眼宽。也可以用 S 参数反推 ISI 量。

占空比失真 (DCD)

DCD 听起来简单——脉宽不对称导致的抖动。但实际上它经常跟 ISI 混在一起。我自己的习惯是先看眼图的 Crossing Point。如果交叉点偏离 50%,基本就是 DCD。怎么区分呢?你可以把数据信号差分取反,如果抖动的极性也反转,那就是 DCD。我曾经遇到一个 HDMI 2.1 的项目,PHY 输出占空比偏离了 2%,结果抖动直接多了 8ps。后来发现是差分对的 P/N 长度差了 3mil……

实战技巧:测量 DCD 时,使用 1010 重复模式最直接。抖动直方图上会出现两个明显的峰值,间距等于占空比引起的相位偏移。拿示波器的抖动分解功能看,DCD 分量会直接标出来。

  • 成因:驱动器上升/下降时间不对称、差分走线不等长、接收端阈值偏移。
  • 特征:抖动与数据模式完全相关(0->1 和 1->0 的边沿位置不一致)。
  • 消除方法:在 TX 端做占空比校准,或者优化差分板级路由。

有界不相关抖动

这个名字有点绕。它和数据相关,但不跟数据模式一一对应——典型的就是串扰。你想想看,相邻的平行线走高频信号,能量耦合过来,你的信号边沿就跟着抖。这种抖动有明确的上限(所以叫有界),但跟你的数据位序列不直接相关。我在做服务器背板的时候,有一组 28Gbps 的链路,眼图总是在某些 bit 上出现尖刺,用 TDR 一看,刚好有一根 100MHz 的时钟线并行走了一英寸……调整间距后抖动立马降了一半。

特别注意:有界不相关抖动不能用简单的 PRBS 模式扫出来,最好用串扰源激励(比如相邻通道发 PRBS31 近端串扰)来评估。我曾经被这个坑过一次,只测了单通道眼图以为是 ISI,上了系统才发现是串扰。
抖动类型与数据关系有界性典型来源分解方法
ISI强相关(与模式历史有关)有界通道损耗、反射眼图分割、BER浴盆曲线
DCD强相关(与占空比有关)有界驱动器不对称、阈值漂移均值偏移直方图
有界不相关抖动弱相关(与相邻干扰源有关)有界串扰、SSN、电源噪声双/多通道相关性分析

在实际工程里,这三种 DJ 往往同时存在。我的经验是做抖动分解时,先拿无相关性的随机抖动 RJ 和周期抖动 PJ 剥离(前面章节已讲),剩下的 DJ 成分再用上面提到的方法逐一拆分。如果你用高级示波器的 NIST 算法,它会自动把 DJ 分解出各分量,但理解背后的物理意义才能判断分解结果是不是合理。嗯,这一步很关键,你想想看,如果示波器把串扰引起的抖动误判成了 ISI,你可能会去加均衡,结果越搞越糟。

一个小技巧:把被测信号灌入一个大带宽理想通道,如果眼图改善明显,说明 ISI 是主因;如果改善不大,重点查 DCD 和串扰。我经常用这个快速筛选法,省去大量分析时间。

好了,数据相关抖动的三个成员都讲清楚了。记住一个核心:DJ 一定跟实际跑的码型有关,所以测试时不能只用一种固定模式,要把最差场景跑一遍。下一层我们会谈怎么把这些成分加总成总抖动(TJ),并做 BER 预算分解。