眼图关键参数:眼高、眼宽、眼幅、交叉点、抖动与噪声
拿到一张眼图,你不能光说「嗯,挺好看的」。你得知道从里面读出什么。
眼图里的核心参数就那么六七个。我刚开始做信号完整性那会儿,觉得眼睛睁得够大就行。后来吃过几次亏才发现——每一个参数背后都藏着一段电路的故事。
今天咱就一个一个讲清楚。你会明白每个参数代表什么物理含义、怎么算、以及在实际项目中怎么用。
眼模的概念:把眼睛框起来看
在聊具体参数之前,先得说说眼模(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%),说明占空比偏大,信号高电平比低电平时间长。下移则相反。
抖动(Jitter)
抖动是眼图上最让人头疼的参数。它表示信号的边沿时间位置相对于理想位置发生了偏移。
抖动分成两类:
- 随机抖动(RJ):主要由热噪声、散弹噪声引起。服从高斯分布,没法根治,只能尽量压。
- 确定性抖动(DJ):来自串扰、ISI、电源噪声。有确定性来源,可以分析并优化。
我调一个25G背板信号时,发现总抖动(TJ)超标。用眼图分离工具一测,DJ占了80%。顺着电源轨一查,DC-DC在数据速率附近有谐波。换个去耦电容布局就解决了。
噪声(Noise)
噪声反映在眼图上就是垂直方向的模糊。信号分布变胖,眼高被压缩。
噪声来源主要分:
- 电源噪声——最常见,也最容易被忽略
- 串扰——邻近信号耦合过来的
- 反射——阻抗不匹配产生的回波
你可以通过眼图直方图拟合来分离噪声成分。垂直直方图上,如果分布呈两个独立高斯峰,多半是电源噪声在「拉宽」信号。
小结一句话:眼图参数不是孤立存在的。抖动和噪声一个水平一个垂直,共同决定了眼高和眼宽。交叉点关联着码型的对称性。你把它们串起来看,才能对整条链路有一个完整的判断。