眼图参数解析:眼高、眼宽、抖动、交叉点
说到眼图,咱们工程师聊的到底是什么?说白了,就是在屏幕上那个看起来像眼睛的图形里,提取出几个关键数字。这些数字,才是判断信号质量好坏的硬指标。
我个人习惯,拿到一个眼图,不会先看它好不好看。我会直接去读四个参数:眼高、眼宽、抖动和交叉点。它们分别对应信号的电压裕量、时间裕量、稳定性和占空比。
眼高:电压窗口的“净空”
眼高,是眼图垂直方向开口的大小。它代表接收端能从信号中提取出多少电压差异。
简单算:眼高 = (Eye Top – Eye Base) – 噪声峰峰值。说白了,就是信号摆幅减去噪声后,还能剩多少“干净”的电压。
在实际测试中,眼高会远低于信号的直流摆幅。 为什么?因为码间干扰和噪声会把它一点点“吃掉”。
- PCIe 5.0/6.0: 眼高通常要求 ≥ 25-30 mV
- USB 3.2 Gen2: 眼高要求 ≥ 100 mV
- 千兆以太网: 眼高要求 ≥ 400 mV(差分)
我记得有一次在调试一款DDR5的信号,眼高死活只有18mV。电容耦合设计有点问题。改完之后,眼高直接跳到了65mV。那感觉,真的很爽。
眼宽:时间的“安全区”
眼宽,是眼图水平方向开口的大小。它告诉你接收端在什么时间点上采样,是安全的。眼宽的单位通常是皮秒,或者用UI(单位间隔)的百分比来表示。
眼宽 = 1UI (标称) – Tj (总抖动)。
举个例子,一个10 Gbps的信号,1个UI是100 ps。如果总抖动Tj是15 ps,那眼宽只有85 ps。接收端必须在85 ps的窗口内完成采样,难度不小。
抖动:信号稳定性的“敌人”
抖动,是信号边沿在时间轴上的偏移。它分两大阵营:随机抖动和确定性抖动。
| 抖动类型 | 来源 | 特点 |
|---|---|---|
| 随机抖动 (Rj) | 热噪声、散粒噪声 | 高斯分布,无上限,但通常很小 |
| 确定性抖动 (Dj) | 码间干扰、串扰、电源噪声 | 有界分布,可以测量和优化 |
如何测量?用时间间隔误差累积分布函数,把总抖动分解出来。公式长这样:
Tj (BER=10⁻¹²) ≈ 2 × Dj + 14.06 × Rj
眼图的抖动,其实是Dj加上Rj的结果。我们做ATE测试,重点要抓的是Dj。Dj高,说明你的PCB走线、阻抗匹配或者电源滤波有问题。
交叉点:占空比的“晴雨表”
交叉点,是眼图中“眼皮”交叉的位置电压与信号峰值电压的比值。对于差分信号,它特指正负信号的交叉点电平。
如果交叉点偏移了,信号占空比就会失真。比如,一个本应是50%占空比的时钟信号,交叉点往上跑,高电平时间变短,低电平时间变长。时钟歪了,整个系统时序都会乱。
理想差分信号的交叉点,应该是50%。实际上,0.45 ~ 0.55之间算正常范围。
交叉点偏移的原因也简单:通常是信号上升沿和下降沿速率不对称。这往往和驱动器的压摆率匹配有关。
为什么要同时看这四个参数?
它们是互补的。眼高够,眼宽不够——信号幅度够大,但时间窗口太窄。交叉点偏了,还会拉动眼高和眼宽一起变差。
一张图,把这四个核心参数总结一下:
你看,这四个核心参数环环相扣。眼高不够,加大驱动?交叉点偏移了。眼宽不足,压一下抖动?眼高损耗了。你想想看,调整眼图,其实就是在玩一个平衡游戏。
在ATE产线测试时,我通常的做法是:先看眼高和眼宽是不是都在规格的80%以上。再看抖动的Dj部分有没有超过目标值的15%。最后扫一眼交叉点,确认它落在0.48~0.52之间。这三步走完,90%的信号问题都能当场揪出来。