4、物理层基础:电气特性、眼图、抖动
做 FRL 链路训练,天天跟物理层打交道。说白了,电气特性、眼图、抖动这三大块就是物理层的「体检报告」。哪一项不过关,训练就得失败。我早期调试时,没少被这些基础参数坑过——比如眼图看着还行,链路就是不稳定,最后发现是抖动没压住。今天咱们把这些底层的硬功夫掰碎了聊。
4.1 电气特性——链路的「血压」和「心跳」
电气特性是物理层最基础的指标,包括电压摆幅、共模电平、上升/下降时间、差分阻抗等。FRL 链路用的是差分信号,你想想看,两根线互为参考,抗干扰能力比单端强不少。但差分也有麻烦——共模漂移。
| 参数 | 典型值 (FRL) | 为什么重要 |
|---|---|---|
| 差分电压摆幅 | 800 mVpp ~ 1.2 Vpp | 摆幅太小,接收端采样困难;太大则 EMI 超标 |
| 共模电压 | 0V ± 100 mV | 共模偏移导致接收器饱和,眼图闭合 |
| 上升/下降时间 (20%~80%) | 30 ps ~ 60 ps | 过慢影响码间串扰,过快引入反射 |
| 差分阻抗 | 100 Ω ± 10% | 阻抗不匹配造成反射,严重时眼图坍塌 |
避坑指南: 我曾经在测试一个样品时,共模电压跑到 +250 mV 还在工作,但误码率就是高了一个数量级。后来换成示波器的 AC 耦合看眼图,才发现共模把接收器的线性区给挤没了。所以,别只看差分摆幅,共模也得盯着。
4.2 眼图——「物理层的健康码」
眼图就是把多个 bits 的波形叠加在一起。正常时候,你会看到一个「睁开的眼睛」。眼睛睁得越大、越清晰,说明信号质量越好。我习惯先瞄三个关键特征:眼高、眼宽、眼交叉比。
- 眼高: 垂直方向的开度,反映噪声和幅度衰减。一般要求 > 200 mV。
- 眼宽: 水平方向的开度,反映抖动和时钟恢复能力。通常 > 0.4 UI(单位间隔)。
- 眼交叉比: 交叉点相对于眼图中心的百分比,理想是 50%。偏高说明占空比失真。
实战技巧: 我自己做眼图测试时,会把示波器的余辉设为无限余辉。这样跑几十秒,所有毛刺、瞬态抖动都能现原形。如果余辉时间太短,有些偶发性抖动根本抓不到。
为什么眼图闭合会导致链路训练失败?因为接收端的时钟数据恢复(CDR)模块需要从数据流中提取时钟。如果眼图闭合到 0.2 UI 以下,CDR 失锁,链路训练状态机就卡死了。我遇到过一块板子,眼图在常温下通过,但温度升到 85°C 眼高从 280 mV 掉到 150 mV,训练直接超时。后来发现是电源纹波随着温度升高变大了。
4.3 抖动——「隐藏的定时杀手」
抖动就是信号边沿在时间轴上的晃动。FRL 链路对抖动特别敏感,因为链路速率高,很多 Gbps,单位间隔也就几十皮秒。抖动能把眼宽吃掉大半。
抖动分成两大类:随机抖动(RJ) 和 确定性抖动(DJ)。RJ 是热噪声之类引起的,高斯分布,没法完全消除。DJ 是串扰、反射、电源噪声等引起的,有规律可循,可以优化。
4.3.1 常用抖动分解方法
- 累计抖动(TJ):总抖动,一般以 BER=1e-12 为条件外推。
- 随机抖动(RJ-rms):通常通过高斯尾部拟合得到。
- 确定性抖动(DJ-pp):TJ - 系数×RJ 来估算。
- 数据相关抖动(DDJ):码间串扰带来的抖动,看特定码型。
一个快速判断:如果抖动分布呈现双峰或多峰,大概率是确定性抖动主导;如果分布光滑像高斯曲线,则是随机抖动主导。链路训练中,DJ 占比超过 60% 就需要查 PCB 走线、过孔和去耦电容了。
4.3.2 抖动预算分配实例
| 抖动成分 | 预算 (12 Gbps, 0.0833 UI) | 来源 |
|---|---|---|
| 随机抖动 (RJ) | 0.15 UI (12.5 ps) | 晶体管热噪声、1/f 噪声 |
| 确定性抖动 (DJ) | 0.25 UI (20.8 ps) | 串扰、反射、电源纹波、ISI |
| 总抖动 (TJ) | 0.40 UI (33.3 ps) | — |
你想想看,33 ps 的总抖动预算分到三个地方,反射串一带走 10 ps,CDR 再吃 5 ps,剩下不到 20 ps 就是眼宽的容限了。所以很多链路训练失败,追根溯源就是抖动超标。
慎用长尾线缆: 有一回我在实验室用了一根 3 米的 HDMI 线缆(FRL 要求 2 米以内),结果眼图完全闭合。抖动分析显示 DDJ 翻了一倍,就是长线缆的趋肤效应和介质损耗把高频能量削没了。后来换成短程均衡线缆,链路立马上起来了。
4.4 电气特性、眼图、抖动的关系图谱
这三者不是独立的。电气特性偏差(比如摆幅不足)会让眼高压缩,同时引入更多噪声;噪声又转化为随机抖动,进一步吃掉眼宽。我画了一张框架图,把核心逻辑串起来——供你调试时对照。
有了这个图,你排查问题的思路就清楚了。先看电气特性有没有超规,再测眼图看眼高眼宽,最后抖动分析定位具体是 RJ 还是 DJ。平时调试我都是按这个顺序来——稳得很。
4.5 硬件与测试要点小结
- 示波器带宽: 至少要 FRL 基频的 3 倍以上。比如 12 Gbps,带宽 ≥ 40 GHz。
- 探棒负载效应: 差分探棒的输入电容越小越好,否则会把上升沿拉缓。
- 校准去嵌: 测试夹具和电缆的损耗要用 S 参数去嵌,不然测出来的眼图实际上是「假的」。
- 电源干净度: 我曾经遇到一个案例,抖动源居然是 1 MHz 的电源噪声耦合进了 TX 的 PLL,导致确定性抖动出现周期性峰值。加一颗 100 nF + 4.7 µF 电容组合就解决了。
推荐工具链: 我自己习惯 Keysight DCA-X 做眼图,搭配 FlexDCA 软件做抖动分离。如果你手头有实时示波器,可以用 MATLAB 的 jitter analysis toolbox 跑一遍,也能快速看出 RJ/DJ 占比。
最后再唠叨一句——物理层别光靠仿真。仿真模型再准,也抵不过一次实际波形测量。你花一上午搭好测试环境,调试效率一点不亏。链路训练失败时,第一个怀疑的就是这三个基本盘。