眼图关键参数:眼高、眼宽、眼幅、交叉点、抖动与噪声

拿到一张眼图,你不能光说「嗯,挺好看的」。你得知道从里面读出什么。

眼图里的核心参数就那么六七个。我刚开始做信号完整性那会儿,觉得眼睛睁得够大就行。后来吃过几次亏才发现——每一个参数背后都藏着一段电路的故事。

今天咱就一个一个讲清楚。你会明白每个参数代表什么物理含义、怎么算、以及在实际项目中怎么用。

眼模的概念:把眼睛框起来看

在聊具体参数之前,先得说说眼模(Eye Mask)。你想想看,眼图是一堆波形叠加出来的。要是没有一个「合格线」,只看形状很容易误判。

眼模就是在眼图中央画一个区域。信号不能碰到这个区域,否则判为不合格。这玩意儿在PCIe、USB、以太网这些标准里都有强制要求。

我个人习惯把眼模理解成「安全区」。信号穿过去,就说明眼下裕量不够了。

核心理解:眼模不是测量出来的,是标准给定的。你的任务就是保证实际眼图不碰到它。
眼图关键参数结构示意 眼图参数结构示意 眼高 眼宽 眼幅 交叉点 抖动 抖动 参数之间相互关联:抖动变大会压缩眼宽,噪声加大会压缩眼高,交叉点偏移会破坏对称性。 分析时不能只看单一指标,要综合判断。

眼高(Eye Height)

眼高,说白了就是眼睛在垂直方向上的开口大小。它代表接收端能分辨的电压裕量。

怎么量?取眼图中央最宽的那一列,算上面分布的平均值和下面分布的平均值,两个一减就是眼高。

记得我在一个HVM预研项目里,眼高比规格差了10 mV。所有人都纠结要不要改PCB叠层。后来我让团队把pattern改成PRBS31再测,眼高直接达标。为什么?PRBS31激励压得更狠,但实际信号没那么差。

实战经验:眼高不达标,别急着改硬件。先检查测试码型、触发设置、探针接地。有时候动一下探针就解决问题。

眼宽(Eye Width)

眼宽是水平方向的开口。说白了,就是接收端有多少时间裕量去采样数据。

它的定义是眼图中央横截面两侧分布之间的宽度。单位一般是皮秒(ps)。

眼宽跟抖动有关。抖动越大,眼宽越小。我见过一个项目,眼宽只剩UI的40%,但眼高还很好。结果呢?接收端偶尔采错位,误码率直接上一个量级。

参数 维度 典型值(10 Gbps NRZ)
眼高 mV 200–400
眼宽 ps 50–80
眼幅 mV 600–900
交叉点 % 45–55

眼幅(Eye Amplitude)

眼幅是信号高电平与低电平之间的差值。很多人会把眼幅跟眼高搞混。区分很简单:眼幅看整体摆幅,眼高看张开宽度。

眼幅大一般好,但也不是越大越好。幅值太大,功耗和EMI就上去了。你要在信号质量和功耗之间找平衡。

我建议你测量眼幅时用统计直方图取均值,不要只看最大值。瞬态过冲会骗人。

交叉点(Crossing Point)

交叉点这个参数,调过光模块的人都熟悉。它决定了占空比失真的程度。

拿差分信号来说,正负两条波形在眼图中心处应该对称交叉。理想情况下交叉点在50%的位置。

如果交叉点上移(> 50%),说明占空比偏大,信号高电平比低电平时间长。下移则相反。

避坑提醒:交叉点偏移不仅仅影响眼图对称性,还会导致接收端的时钟恢复电路工作异常。我曾经调一个25G光模块,交叉点偏到58%,锁相环直接失锁。后来把调制器偏置电压调了一下,压到51%,整个系统就稳了。别小看这一两个百分点。

抖动(Jitter)

抖动是眼图上最让人头疼的参数。它表示信号的边沿时间位置相对于理想位置发生了偏移。

抖动分成两类:

  • 随机抖动(RJ):主要由热噪声、散弹噪声引起。服从高斯分布,没法根治,只能尽量压。
  • 确定性抖动(DJ):来自串扰、ISI、电源噪声。有确定性来源,可以分析并优化。

我调一个25G背板信号时,发现总抖动(TJ)超标。用眼图分离工具一测,DJ占了80%。顺着电源轨一查,DC-DC在数据速率附近有谐波。换个去耦电容布局就解决了。

实战心法:看到抖动先分RJ和DJ。RJ看高斯尾部,DJ看双峰/多峰分布。只给总抖动的报告,我一般不太信服。

噪声(Noise)

噪声反映在眼图上就是垂直方向的模糊。信号分布变胖,眼高被压缩。

噪声来源主要分:

  1. 电源噪声——最常见,也最容易被忽略
  2. 串扰——邻近信号耦合过来的
  3. 反射——阻抗不匹配产生的回波

你可以通过眼图直方图拟合来分离噪声成分。垂直直方图上,如果分布呈两个独立高斯峰,多半是电源噪声在「拉宽」信号。

小结一句话:眼图参数不是孤立存在的。抖动和噪声一个水平一个垂直,共同决定了眼高和眼宽。交叉点关联着码型的对称性。你把它们串起来看,才能对整条链路有一个完整的判断。