2. 眼图的基本原理:叠加原理与波形汇聚

你一定在示波器上见过那种长得像眼睛的图形。这就是眼图。它不是一个单一信号波形,而是所有比特周期的波形叠加在一起的结果。说白了,就是让每一次跳变都重叠在同一个屏幕上,看你信不信号。

刚开始学的时候,我总觉得它就是好看。直到有一次,一个项目中眼图闭合了,我才明白这个“眼睛”到底在告诉我们什么。

这章,我们就从眼图是怎么来的、它的数学本质是什么、以及最常见的坏蛋——码间干扰是怎么搞破坏的,这几个角度来拆解。

2.1 波形是怎么怼到一起的?

想象一下:你发了一长串比特 001100110...,每一次上升沿和下降沿都被示波器捕获。示波器把这些波形全部放在一个时间窗口里。因为触发是固定的,所以每次跳变的位置大致相同,但每个周期结束后的电压和过零点会有细微差异。

你想想看,这些波形叠在一起,就会形成一个亮晶晶的中央区域,叠得越多,越清晰。

这就是叠加原理的直观表现。

数学上,眼图其实是一个二维直方图。横轴是时间(相对于触发点),纵轴是电压。每个采样点被叠加到屏幕上,形成一条条“轨迹线”。这些轨迹线的疏密就对应着眼图的灰度。

为什么用叠加?因为我们需要看到信号在所有可能的切换场景下(0→1,1→0,0→0,1→1)的表现。

核心理解:眼图的每一根亮线,都代表着一类特定的比特模式。不是说随便叠叠就出来的。

2.2 眼图形成的数学本质

好,我们不绕弯子。眼图本质上是一个概率密度函数的可视化。

让我们定义一个数字信号 s(t) 在符号周期 T 内的采样点:

y(t) = s(t) + n(t) + ISI(t)

其中:

  • s(t) 是理想信号
  • n(t) 是噪声
  • ISI(t) 是码间干扰

眼图的开口位置就是眼皮(1电平区)和眼皮底(0电平区)的边界。理想情况下,眼图的中央横线(判决阈值)应该在电压的50%左右。

我个人的理解是,眼图的数学本质就是比特判决的概率分布映射。采样点集中在某个电压区,说明信号好。如果分布分散,说明有问题。

眼图参数 定义 物理意义
眼宽 眼图水平开口的宽度 决定最大数据速率
眼高 眼图垂直开口的高度 决定噪声容限
抖动 (Jitter) 跳变沿时间位置的偏差 决定时钟恢复难度
信噪比 (Eye SNR) 眼图中央区域的电压平均值/标准差 评估误码率的基础
数学上,理想眼宽 = T - Jitter_pp,其中 Jitter_pp 是峰峰值抖动。我在项目中遇到过,实际测量时眼宽经常比理论小15%-20%,就是因为 ISI 和噪声的叠加。

2.3 码间干扰(ISI)是怎么回事?

码间干扰是个老熟人。

简单说,就是前一个比特的尾巴影响到了当前比特的判断。

比如,你发了一个长的 1,然后紧接着变成 0。如果传输线有反射、带宽不足或阻抗不匹配,前面那个 1 的高电平会拖到后面 0 的位置上。于是下一次采样时,0 的电平不够低,导致误判断。

这就像你喊了几声很大声的话,你的回声还在耳边嗡嗡,别人说话你听不清。

为什么 ISI 会让眼图看起来更差?因为波形汇聚时,不同序列的同一位置会产生不同的电压。原本该是一条线的地方,变成了多条线分布。眼图的开口就闭合了。

我记得在调试一款 10Gbps 的 PHY 芯片时,眼图看着是开的,但心里总没底。后来我用了 PRBS31 这样的长伪随机序列去测眼图,才发现眼图其实有毛刺。这就是长伪随机序列带来了更丰富的 ISI 组合。

避坑指南:我曾经默认使用 PRBS7 测眼图,看似完美。后来换上 PRBS31,眼图直接闭合了。因为 PRBS7 的图案长度太短,无法覆盖严重的 ISI 情况。你看,测试条件不同,结果相差很大。

2.4 ISI 的几种典型表现

ISI 并不是只有一个样子。我把它总结为三大类:

  1. 前光标 ISI (Pre-cursor ISI):当前比特之前的比特影响了当前。典型表现:眼图左侧的毛刺。
  2. 主光标 ISI (Main-cursor ISI):当前比特自身的反射或振铃。典型表现:眼图中央电压不稳定。
  3. 后光标 ISI (Post-cursor ISI):当前比特之后的比特被前面影响。典型表现:眼图右侧的拖尾。

你去看 PHY 芯片的 Datasheet,里面往往会有 Tap coefficients(抽头系数),就是为了消除这些不同位置的 ISI。

ISI 类型 表现 对眼图的影响 常见原因
Pre-cursor 眼图左侧有杂散轨迹 眼宽变小 信号反射、趋肤效应
Main-cursor 眼图中央抖动增大 眼高缩小 路径衰减、阻抗不连续
Post-cursor 眼图右侧有残留拖尾 眼宽和眼高同时受影响 介电损耗

另外,还有一种 ISI 是上升/下降沿的振荡模式交叉耦合造成的。比如你从 1 切换到 0 时,振荡的幅度和频率与从 0 切换到 1 时不同。这种不对称性,在眼图上表现为上下眼皮不一样厚。

2.5 怎么通过眼图观察 ISI?

这里分享一个小技巧。你去看眼图上面的“眉毛”区域——也就是那个接近平坦的电压区。如果上下眉毛不一样粗,或者有倾斜的尾巴,那是 ISI 在作怪。特别是上下沿的粗细不同,说明上升时间和下降时间不对称,这会引起严重的码间干扰。

我建议你养成一个习惯:不要只看眼图中央开口大不大,还要看眼睛的闭合速度。如果闭合得很快(意味着眼宽小),那么 ISI 是主要杀手。如果中央高度很低,说明噪声是主要问题。

有一次,一个老同事教我用“眼图轮廓”分析。你把眼图的亮暗程度数字化——亮的地方是轨迹密集区,暗的地方是概率低。如果亮带中间有暗斑,说明该区域很少被采样到,可以认为判决阈值放在这里很安全。

2.6 眼图抗干扰能力的量化

说完原理,我们来点干货。眼图的抗干扰能力常用信号质量因子 Q factor 来度量:

Q = (μ1 - μ0) / (σ1 + σ0)

其中 μ1, μ0 是 1 和 0 电平的平均值,σ1, σ0 是各自的标准差。Q 值越高,误码率越低。通常 Q > 7 表示误码率低于 10⁻¹²。

这其实反映的就是 ISI 和噪声共同作用的结果。如果 ISI 很严重,σ1 会很大,Q 值就掉下来了。

对了,还有一个经验值。我用某款示波器测眼图时,发现当 ISI 引起的张弛超过 0.3 UI(单位间隔)时,眼图边缘就开始闭合了。所以现在做设计时,我可能更关注比 0.3 UI 更小的抖动预算。

眼图形成及 ISI 影响流程 发送比特流 传输路径 (阻抗、损耗、带宽) 波形叠加 (不同比特模式) 眼图轮廓 (眼高、眼宽) 码间干扰 (ISI) 前/主/后光标 眼图闭合 眼宽和眼高缩小 抖动与噪声 随机/确定性抖动 关键点: 眼图的本质是 概率密度分布

好了,以上就是眼图的基本原理。从波形叠加到 ISI 的影响,关键是你要把眼图看作信号质量的一面镜子。它能直接反映传输通道对信号造成的损伤有多大。

以后当你看到眼图时,你看到的不只是一个图形,而是一场发生在数十皮秒内的微观战争。嗯,掌握这些,你离入门的最后一关就不远了。