抖动的分类:随机抖动与确定性抖动
说到抖动,我入行时第一个被问住的问题就是:“你这抖动测出来是随机的还是有规律的?”当时我答不上来,后来才知道,这直接决定了你是该改PLL还是换测试环境。
抖动的分类,说白了就是把高速信号边沿的不确定性拆开来看。一把抓住所有抖动,什么也优化不了。得把它拆成两大块——随机抖动(RJ)和确定性抖动(DJ)。这两兄弟的物理根源、数学分布、消除手段完全不同。
核心记忆点:RJ是无界的,DJ是有界的。你测到的总抖动TJ = RJ + DJ。高频串扰、电源噪声、码间干扰——这些属于DJ,改布局或调均衡能压下去。热噪声、散粒噪声——属于RJ,压到一定程度就很难再降。
2.1 随机抖动(RJ)
RJ由器件的固有噪声源产生。我在项目里遇到最典型的RJ来源就是热噪声和闪烁噪声。热噪声是载流子的热骚动,跟温度和带宽强相关。闪烁噪声也叫1/f噪声,低频段特别扎眼。
为什么会叫“随机”?因为它服从高斯分布,峰峰值没有硬上限。你看直方图,尾巴会拖得很长。理论上测一万次和测一亿次,峰值可能差好几倍。
我个人的经验:做ATE重复性评估时,RJ的测量值最容易“越测越大”。因为样本越多,高斯尾巴碰到大值的概率越高。建议每次测至少10万个UI(单位间隔)的样本,否则RJ估算偏差能到50%以上。
| 类型 | 根源 | 分布 | 对重复性的影响 |
|---|---|---|---|
| 热噪声 | 晶体管沟道、电阻 | 高斯 | 增加随机扩散,低压差下更明显 |
| 散粒噪声 | PN结势垒 | 高斯 | 小电流时影响大 |
| 闪烁噪声 | 材料缺陷、界面态 | 近似高斯 | 低频漂移,影响长期重复性 |
嗯,这里要注意:RJ无法被完全消除,只能通过低噪声设计和加大信号摆幅来减小它的权重。你想想看,一条1V摆幅的信号,200μV噪声引起的RJ肯定比50mV摆幅的信号小得多。
2.2 确定性抖动(DJ)
DJ是有界的,它的分布通常有尖峰或者双峰。曾经有一次我排查一个PCIe Gen4链路的测试重复性问题,数据眼图总是忽大忽小。一开始我还以为是设备坏了,后来换了示波器看直方图,发现有两个明显的峰值——典型的DJ特征。改了一下电源去耦电容,立竿见影。
DJ往下还能分出几个子类,每个都有独特的“长相”。
2.2.1 占空比失真(DCD)
上升沿和下降沿的传输时间不一致,导致高脉冲宽度和低脉冲宽度不等。说白了就是P/N管不匹配。我在ATE调试中经常用眼图模板来抓它:如果眼图上下不对称,大概率是DCD。
2.2.2 数据相关抖动(DDJ)
也叫码间干扰(ISI)。前一位数据残留的电荷没放完,影响了当前位的跳变时机。速率越高、通道损耗越大,DDJ越严重。我习惯用PRBS31码型来激发DDJ,长连1之后突然变0,边沿位置会明显偏移。
2.2.3 周期抖动(PJ)
来源于周期性干扰源:电源纹波、时钟串扰、锁相环的参考杂散。PJ在抖动谱线上是一条尖峰。有一次客户投诉50k高速信号抖动超标,我把供电从开关电源换成线性电源,PJ直接降了70%。
2.2.4 有界不相关抖动(BUJ)
这个是“背景噪声”型的DJ,来自多个异步时钟耦合、外部电磁干扰。它的分布有时候像平顶,有时候像截断的高斯。我遇到最难复现的就是BUJ——一上自动测试就消失,一下线就冒出来。
| 子类别 | 典型成因 | 识别方法 | 优化方向 |
|---|---|---|---|
| DCD | 驱动不匹配、偏置失调 | 眼图上下不对称 | 平衡P/N管尺寸、加校准 |
| DDJ/ISI | 通道损耗、反射 | 比特位图显示模式依赖 | 加CTLE/DFE、减短走线 |
| PJ | 电源纹波、串扰 | 频谱分析有单根尖峰 | 改善供电滤波、屏蔽 |
| BUJ | 异步时钟、EMI | 抖动分布有平顶/截断 | 隔离时钟域、加屏蔽 |
我曾经踩过的坑:有一次我把测出来的总抖动全部当成RJ来算信噪比,结果误判了良率。后来学会先看抖动直方图的峰数——单峰可能是RJ居多,双峰或多峰一定是DJ占主导。先用统计方法分离,再往下逐层排查。否则你调了半天电路,发现RJ早就在那儿,怎么调都没用。
2.3 如何快速区分RJ和DJ?——我的三板斧
在实际ATE测试中,我不可能每次都拉出直方图和频谱分析。个人习惯用下面三招快速判断:
- 看眼图的“混叠”程度:如果眼图内部有两条以上清晰的轨迹,多半是DJ。RJ会让眼图轮廓变模糊,但不会产生分叉的“鬼影”。
- 变采样条件:把样本数从1k增加到100k,如果峰峰值暴涨30%以上,那多半是RJ在作祟。DJ的峰峰值在增大样本后趋于稳定。
- 码型对比:用PRBS和K28.5跑同一链路,如果抖动值差很多,SSO(同步开关噪声)或ISI的成分很重,属于DJ。
避坑指南:我曾经在调试一个10Gbps SerDes时,发现眼图闭合特别严重,直方图还是单峰。我以为是纯RJ,后来用软件分离后发现BUJ占了60%。原因是板上的另一颗时钟芯片通过地平面耦合了噪声。所以,别忘了BUJ这个“隐形杀手”。分离手法可以用双狄拉克模型或者NQ-sigma方法,这个后面章节会细讲。
搞清了抖动分类,你才能对症下药。下一套测试方案怎么做、滤波器放在哪个节点、码型选PRBS7还是PRBS31,都跟RJ/DJ的比例挂钩。嗯,这块心里有数了,ATE重复性优化才能做到点子上。