4. 眼图基本原理:从波形到“眼睛”的修行

各位好,我们继续。今天聊眼图——这玩意儿在SerDes领域,就跟医生的听诊器一样基础且重要。你不把眼图看透,面试官随便一问就能问住你。

眼图说白了,就是把一串数字信号的比特,通过示波器重叠显示出来。

你想想看,示波器触发一次,扫描一段波形;再触发,再扫。把这些波形叠在一起,结果就是中间出现了一个像眼睛一样的形状。

这就是眼图的由来。

4.1 眼图形成机制

先聊聊眼图是怎么形成的。

我记得刚入行时,第一天上手测眼图,导师扔给我一句话:“把长伪随机码丢进信道,在示波器上选persistence无限余晖,看着就行。”

我当时一脸懵。但后来理解了,核心就三个字——叠加。

  • 信号源发送PAM-2或PAM-4的非归零码,常用PRBS7或PRBS31。
  • 示波器在时钟触发下,把每一位的波形从左到右画出。
  • 位与位之间的转换、幅度的波动、抖动——统统叠在一个窗口里。

当足够多的比特叠加后,你不会看到一堆乱线,而是看到一个稳定的“眼”。

个人习惯:我每次拿到一个新SerDes芯片,第一件事就是看眼图。别急着测BER,眼图能告诉你80%的问题。

4.2 眼高(Eye Height)

眼高,就是眼睛睁开的垂直开口。

单位通常用mV。你看到的“眼”上下两边之间的距离,就是眼高。

这个参数直接反映信号的信噪比余量。眼高低了,意味着噪声把幅度吃掉了一大块。

眼高标准 典型LVDS 典型高速SerDes
最低接收灵敏度 约100 mV 约30~50 mV
典型全摆幅 350 mV 800~1200 mV
容差范围 ±15% ±10%

我在项目中遇到过一个问题:眼高看着还有200 mV,但接收机就是锁不住。后来发现是眼高带了很多“毛刺”,实际有效眼高被均衡器削了。嗯,这里要注意,眼高得看最窄处的垂直开口,而不是中间最宽处。

面试高频题:眼高不足怎么办?
我建议从三方面下手——
1. 增加发射摆幅。
2. 优化均衡器(CTLE+DFE)。
3. 改善阻抗匹配减少反射。

4.3 眼宽(Eye Width)

眼宽,是眼睛水平方向的开口。

单位是皮秒(ps)或UI(Unit Interval)。一个UI就是一位的宽度。比如28Gbps下,1 UI ≈ 35.7 ps。

眼宽为什么会收缩?说白了就是抖动惹的祸。

信号在时间轴上不稳定,眼的中部就会变窄。理论上完美的眼宽应接近1 UI,但现实中能达到0.5 UI就算不错了。

我曾经踩过一个坑:眼宽测量时,示波器的带宽不够,把抖动滤掉了一部分,导致测出来的眼宽比实际大15%。那次差点被客户投诉。所以测眼宽,示波器带宽至少是数据速率的3倍以上。

4.4 抖动(Jitter)

抖动,是信号边沿偏离理想位置的偏移量。它直接把眼宽吃掉。

按成因分,业界通常分为:

  • 确定性抖动(DJ):由串扰、EMI、阻抗不连续、码间干扰(ISI)等引起。有固定模式可循。
  • 随机抖动(RJ):由热噪声、散粒噪声等产生。符合高斯分布,峰峰值随时间增长。
  • 周期性抖动(PJ):电源纹波、时钟耦合导致。有固定的频率分量。

面试官常问:如何分离总抖动?

我习惯用双狄拉克法——把总抖动的直方图分解为DJ的“双峰”和RJ的“高斯尾巴”。当然,实际调试时我更依赖频谱分析仪来找抖动的根因。

// 抖动的数学简化表达(非标准公式):
Tj = Dj + 2 * Q * Rj

其中:
Tj = Total Jitter (总抖动)
Dj = Deterministic Jitter (确定性抖动)
Rj = Random Jitter 的 RMS 值
Q  = 目标 BER 对应的分位数(BER=1e-12 时,Q≈7.0)
避坑指南:我曾经被一个电源抖动整得很惨——大信号时电源纹波小,小信号时电源纹波变大,结果抖动随码型变化。这种问题在眼图上可能不明显,但BER测不过。我建议做抖动分离,配合电源纹波测量,一查一个准。

4.5 品质因数

品质因数,有时也叫眼图信噪比。它不是一个固定参数,而是用来衡量眼图质量的综合指标。

常见的有两种:

  • Eye SNR = (眼高 / 2) / 眼交叉点的噪声RMS。
  • Q因子 = (μ₁ - μ₀) / (σ₁ + σ₀),其中μ是“1”或“0”电平的平均值,σ是噪声标准差。

Q因子直接和误码率(BER)挂钩。理论上,Q = 7 时对应 BER ≈ 1e-12。

我自己的经验是,在65nm以下工艺中,Q因子做到6以上才算可靠。低于5的话,量产大概率要翻车。

Q因子 对应BER 工程师评价
3.0 1e-3 差,几乎不能工作
5.0 2.9e-7 勉强可用,需FEC
7.0 1.3e-12 理想,直接使用
9.0 1.0e-19 奢侈,大部分系统不需要
总结四个核心参数:
眼高 → 决定幅度裕量
眼宽 → 决定时序裕量
抖动 → 决定眼宽收缩度
品质因数 → 拍板:这眼图行不行

我个人的经验口诀是:先看眼开着没,再看眼多胖,再看眼边抖不抖,最后算Q因子。顺序对了,问题定位就快。

眼图参数结构图 眼高 眼宽 抖动 采样点 Vref 眼高 (mV) 眼宽 (ps) 抖动 (ps) 品质因数 Q 眼图是信号完整性的“照片”——眼高、眼宽、抖动、Q因子,四者缺一不可