2. 抖动来源分析:系统级抖动源
抖动这东西,表面看是时间上的偏差。但说白了,它背后是各种噪声源在打架。我做了这么多年信号完整性,最深的体会就是:你找不到抖动的根,就别想把它压下去。
这一章我们来拆解一下,系统里那些常见的抖动源——电源噪声、串扰、反射、PLL相位噪声、ISI(码间干扰)、EMI等等。它们分别往RJ(随机抖动)和DJ(确定性抖动)里贡献了什么东西。
先看一张总览图,把各种抖动源和它们对应的抖动类型串起来。
2.1 随机性抖动(RJ)的来源
RJ这东西,说白了就是老天爷赏的。它由热噪声、闪烁噪声、散粒噪声这些物理过程决定。你没法彻底消除它,只能尽量减小它的影响。
我在项目中遇到过一件事:有个板子,眼图张开度总差那么一点点。我查了半天,发现是PLL的VCO(压控振荡器)部分的热噪声贡献了主要的RJ。换个低噪声的VCO,眼图立马干净不少。
RJ的特点是什么?
- 高斯分布:时间偏差的分布是高斯曲线,理论上无界。你测100万个点,它可能跑出10个σ的抖动。
- 累加性:多级链路里,RJ的方差是会累加的。每过一级,抖动方差加一点,最后难处理。
- 频域特性:白噪声占主导,功率谱密度平坦。但闪烁噪声(1/f)在低频段会凸起。
2.2 确定性抖动(DJ)的来源
DJ才是咱们SI工程师的主战场。它由电路中的各种非理想因素引起,有界、可预测、可追溯。只要你能找到根,就能想办法处理。
下面我把几个主要的DJ源拆开来讲。
2.2.1 电源噪声
电源噪声对抖动的影响,我觉得是最容易被低估的。你可能觉得电源纹波只有几十mV不算啥,但到了高速信号眼里,那个纹波会直接调频/调相到时钟和信号上。
为什么?因为芯片内部的buffer、PLL、driver的延迟都与供电电压相关。电源一抖,缓冲器延迟就变。这叫电源调制灵敏度(Power Supply Sensitivity, PSS)。
电源噪声产生的抖动特征:
- 频率等于电源纹波频率(比如开关电源的几百kHz)及其谐波。
- 调制深度越高,边带越大,抖动越明显。
- 属于有界DJ,体现在眼图上就是垂直方向的高频扰动。
避坑指南:我曾经遇到一个DDR5内存接口的抖动问题。眼图一直有种周期性的抖动,频率约1MHz。我量了电源,发现是给VDDQ供电的DC-DC纹波恰好1MHz。我加了一组LC滤波和bang-bang电容,纹波从40mV p-p压到5mV,抖动直接少了8ps。嗯,从那以后,我在做高速接口仿真前必先看电源纹波。
2.2.2 串扰
串扰(Crosstalk)就是隔壁线对你的干扰。在高速PCB上,线间距不够或者耦合长度太长,信号会通过互容和互感互相串扰。
串扰的抖动有两个特点:
- 与数据模式相关:如果邻线在跳变,而你这条线刚要采样,干扰最大。
- 频率相关性:高频信号耦合更强,所以串扰引起的DJ往往随信号速率提高而恶化。
我个人的处理习惯:在做背板设计时,我会先跑一遍串扰仿真,看看每条受害线的peak-to-peak抖动。如果超过总抖动预算的30%,我就调整线间距或者增加stripline屏蔽。
2.2.3 反射
反射(Reflection)是由阻抗不连续引起的。过孔、连接器、分支、走线拐角,到处都是阻抗不匹配点。
反射对抖动的贡献主要体现在:
- 它会让信号的上升沿/下降沿变得毛糙,边缘位置随机偏移。
- 如果是长距离传输,反射脉冲可能叠加到后面的数据位上,造成ISI。
我记得有一次在PCIe Gen3的仿真中,发现中长链路的抖动比短链路高出很多。分析矩阵后发现是过孔的残桩引起了明显的反射。我把残桩设计成back-drill结构,抖动降了7ps。
2.2.4 PLL相位噪声
PLL(锁相环)是系统里最核心的时钟源,但它也是最复杂的抖动源。PLL的输出相位噪声由内部分频器、鉴相器、VCO、环路滤波器共同决定。
PLL相位噪声对抖动的贡献分成两种:
- 带内噪声(低频):主要由鉴相器和参考时钟贡献。
- 带外噪声(高频):主要由VCO贡献。
这与我们做抖动分解有什么关系?关系很大。你在做RJ/DJ分离时,PLL的相位噪声会被归到RJ里(因为它在频域是宽带的),但如果PLL带内存在周期性的杂散(spurs),那就归到DJ里。
2.2.5 ISI(码间干扰)
ISI是信道带宽不足导致的。当信号速率超过信道的-3dB带宽时,前面bit的能量会拖到后面bit上去。这种能量拖尾会改变信号的跳变沿位置。
ISI引起的抖动有以下特征:
- 数据模式相关:长“0”后紧跟长“1”的跳变,抖动最大。
- 有界DJ:它在眼图里形成一个闭合的眼皮,呈双峰分布。
- 不可通过简单的均衡完全消除:需要CTLE、DFE等高级均衡技术。
ISI抖动的定量分析:
理论上,ISI引起的峰峰值抖动可以通过信道的脉冲响应来计算。我经常用下面这个公式:
DJ_ISI_pp = max(△t_01, △t_10) - min(△t_01, △t_10)
其中:
- △t_01:从0跳变到1时的过零点时间
- △t_10:从1跳变到0时的过零点时间
- 不同数据模式(如PRBS7/15/31)产生的△t不同,DJ_ISI_pp就是最坏情况下的差值
2.2.6 EMI
EMI(电磁干扰)对抖动的贡献,其实跟串扰类似,不过是从空间辐射来的。高频信号通过天线效应辐射出去,又被别的敏感线路接收。
EMI引起的抖动通常比较弱,但在极端情况下(比如射频干扰、无线的发射功率耦合到数据线上),也会造成明显的DJ。
我个人的经验:在处理板级EMI抖动时,我一般先看频谱仪的频谱,看看有没有异常的窄带尖峰。如果有,那就找到那个干扰源(比如临近的WiFi模块、时钟振荡器),加屏蔽罩或者调整布局。
2.3 各抖动源对RJ/DJ的贡献总结
为了方便你快速查阅,我把上面这些抖动源整理成一个表格。这张表我建议你贴到实验室的工作台上。
| 抖动源 | 主要贡献类型 | 关键特征 | 典型频段 |
|---|---|---|---|
| 热噪声 | RJ | 高斯分布、宽带、无界 | DC - 数GHz |
| 闪烁噪声 (1/f) | RJ(低频) | 功率谱密度随频率降低而增加 | DC - 数MHz |
| 散粒噪声 | RJ | 量子效应引起,宽带 | DC - 数GHz |
| 电源噪声 | DJ | 周期或非周期纹波,调频/调相 | 数百kHz - 数十MHz |
| 串扰 | DJ | 数据模式相关,双向干扰 | 与信号基频相关 |
| 反射 | DJ | 阻抗不连续,引起振铃 | 阶跃响应频率 |
| PLL相位噪声 | RJ + DJ | 带内RJ为主,杂散为DJ | 带内数百Hz - 数MHz,带外至GHz |
| ISI | DJ | 能量拖尾,数据模式相关 | 与信道带宽和传输速率相关 |
| EMI | DJ | 空间耦合,窄带干扰 | 射频段(数十MHz - GHz) |
2.4 工程实战中的应用思路
知道了抖动源,下一步怎么用?我总结几个实战中的关键点:
- 先测总抖动,再分离:不要一上来就猜是哪个源。先用示波器测TIE抖动,跑一下直方图。如果呈现高斯分布,则RJ主导;如果呈现双峰或多峰,则DJ主导。
- 用抖动分离工具:我个人常用的是时间间隔误差(TIE)直方图 + 频谱分析的组合。先把TIE数据做FFT,看看有哪些频率尖峰——那些尖峰对应的就是DJ源。
- 按优先级排查:一般先看电源噪声(最容易测,也最容易处理),再看PLL相位噪声(可以用频谱分析),最后看串扰和反射(需要仿真配合)。
- 别忘了温度效应:很多抖动源(尤其是RJ和PLL)对温度敏感。你要是做量产测试,最好在常温、高温、低温三个条件下都跑一遍。
一个小技巧:如果你在做抖动追查时,不知道从哪下手,可以先测一个“抖动频谱图”(Jitter Spectrum)。打开示波器的眼图模式,选抖动谱分析。那个图会把各个频率成分的抖动幅度列出来。我在项目中用这个功能快速定位过一个DDR4的电源噪声干扰问题,花了一小时就找到了根因。