2. 抖动来源分类:发射机、信道、接收机
抖动从哪来的?
这是一个很实际的问题。你测到一条链路的总抖动(TJ),但总抖动不是天上掉下来的。我个人习惯把抖动来源分成三类:发射机抖动、信道抖动、接收机抖动。
为什么要这样分?
因为定位问题的时候,你得知道“凶手”在哪。如果是发射机自己产生的,那你换再好的信道也没用。如果是信道引入的,你调发射机均衡可能也不顶事。我们先从源头捋一遍。
2.1 发射机抖动
发射机抖动,说白了就是芯片送出去的数据已经不稳了。
它的根因多半在芯片内部的时钟树和PLL。我有一回调试一个28Gbps的SerDes,吐出来的信号眼图一直有闭合的趋势。换板子、换缆、换电源滤波…最后发现是PLL供电的退耦电容少放了一颗。换上去,眼图立马清爽。
- PLL相位噪声:PLL的VCO对电源和衬底噪声非常敏感。环路带宽内的噪声会被整形,带外的噪声直接调制到输出时钟上。
- 电源完整性抖动:供电网络(PDN)阻抗过高或谐振频率落在工作频段附近,就会产生明显的周期抖动。我建议PDN的阻抗目标至少要压到1mΩ以下。
- 数据相关抖动:DCD(占空比失真)和ISI都能从发射机带出来。DCD通常因为发射机驱动器的上升/下降时间不对称。
教训:别只信芯片手册,板级环境才是最终战场。
2.2 信道抖动
信道本身不产生抖动吗?
也不完全是。信道是被动的,它不会自己制造抖动,但它会放大和转换发射机已经携带的抖动。
这个效应叫抖动放大(Jitter Amplification)。
信道抖动的本质是频率相关衰减和群时延失真。简单解释就是:信道对不同频率的分量衰减不一样,不同频率到达接收机的时间也不一样。
- ISI(码间干扰):信道带宽不够,前一个bit拖尾影响后一个bit。bit pattern不同,ISI大小也不同。所以ISI会形成数据相关的抖动(DDJ)。
- 阻抗不连续:过孔、连接器、焊盘处的回波损耗。反射回来的信号叠加在原始信号上,相当于人为制造了一个“伪信号”,增加过零点的随机漂移。
- 串扰:相邻信号线的电磁耦合。对近端串扰影响发射端,对远端串扰影响接收端。远端的串扰抖动往往带有很明显的“数据相关性”。
有意思的是,信道越长,抖动的低频分量会被保留,高频分量会被积分放大。所以实际工程里,20公里光纤的链路抖动跟板内5厘米走线的抖动,呈现的形式完全不一样。
2.3 接收机抖动
接收机也会引入抖动?
会的,而且往往最容易被人忽略。
接收机内部有CDR(时钟数据恢复)和采样器。CDR本身的抖动叫恢复时钟抖动。采样器的抖动叫采样时钟抖动或孔径抖动。
我记得跟一个做ADC的同事聊天,他说“采样时钟抖一下,整个数据包都废了”。确实,接收机内部的VCO、DLL、鉴相器都会贡献额外的抖动。
| 抖动来源 | 产生机制 | 典型频段 | 消除方式 |
|---|---|---|---|
| 发射机PLL | VCO相位噪声、电源调制 | ~1 kHz – 1 MHz | 低噪声LDO、滤波 |
| 发射机DCD | 占空比失真 | 基频 | 调整驱动强度 |
| 信道ISI | 带宽受限、群时延 | 比特率相关 | CTLE+DFE |
| 信道串扰 | 近端/远端耦合 | 同频段 | 布线隔离、屏蔽 |
| 接收机采样 | 孔径抖动、CDR跟踪噪声 | ~100 kHz – 10 MHz | 低抖动PLL、宽带宽CDR |
2.4 三种抖动的交互
实际链路里,三个来源不是独立工作的。它们会叠加、会互相调制。
举个例子:发射机产生一个低频的正弦抖动,经过信道的ISI转换,变成高频分量;跑到接收机,CDR为了跟踪这个抖动,又产生了新的跟踪误差。抖动的频谱会被搬移、扩展。
这也是为什么我们做抖动分解一定要用统计方法(比如Q-scale)或频谱方法(相位噪声积分)。你敢拍脑袋说“这个抖动肯定来自发射机”吗?我反正不敢。
工程优先级:
① 如果是芯片测试:先查接收机CDR的参考时钟;
② 如果是板级测试:先查信道过孔和连接器;
③ 如果是系统测试:先查发射机DCD和电源噪声。
2.5 知识框架:来源分类的全貌
下面这张图是我自己整理的抖动来源分类树状图。你可以把它当成“查抖动”的排查地图。
你看到了吧?从总抖动出发,分三条主线,每个主线又细分几个典型场景。遇到抖动量超标,按这个框架去套,多数可以锁定源头。
说到底,抖动分解不是玄学,而是有章可循的。你只要把这三个来源的机理搞明白,后面的BER浴盆曲线就容易理解了。