眼图参数详解:眼高、眼宽、抖动、眼图幅度对称性
做SerDes调试这些年,我见过太多同学对着一堆眼图数据发愁。明明测出了很漂亮的眼图,但就是不知道应该先看哪个参数。说实话,眼图的几个核心参数——眼高、眼宽、抖动、幅度对称性——它们就像人的五官,单独看都不错,但得整体配合才能判断「这张脸」到底正不正常。
今天我就把这几个参数掰开揉碎了讲清楚。你想想看,懂了它们,你就能在信号质量诊断时直接定位到根因,而不是瞎猜。
3.1 眼高(Eye Height)—— 信号幅度的安全余量
眼高,说白了就是眼睛上下张开的幅度。它代表接收端能分辨「0」和「1」的电压差值。值越大,抗噪声能力越强。我在项目中遇到过一块板子,眼高只有80 mV,但规范要求100 mV以上。查了半天发现是电源纹波太大,导致信号衰减严重。
眼高的计算方式有很多种,最常用的是取眼图中心位置(即采样点)的垂直开度。如果你用示波器看,通常有一个「Eye Height」自动测量项。但我个人习惯手动确认一下:把游标放在上下两个轨迹最密集区域的内侧边缘,读数差值就是眼高。
眼高常见问题与排查思路:
- 整体偏低: 检查发送端幅度设置、电源电压、AC耦合电容是否太小。
- 顶部或底部有倾斜: 可能是码间干扰或驱动器非线性,需要看均衡器效果。
- 上下不对称: 跟幅度对称性有关,等下会细说。
我记得有一次客户反馈眼高测量值与仿真值差30%。我们以为是模型不准,最后发现是示波器带宽设置成了20 GHz,而信号速率为25 Gbps,导致高频分量被过度衰减。你想想看,测量工具本身没选对,眼高自然不对。
3.2 眼宽(Eye Width)—— 采样点的时序窗口
眼宽测量的是眼图在水平方向上的张开宽度,单位是时间(ps)。它决定了接收端能以多大的时序容限去采样数据。眼宽越大,对时钟抖动的容忍度越高。
实际测量时,眼宽通常定义为在眼图垂直中点(50%幅度位置)处,左右两个交叉点的水平距离。或者更严谨一点:在特定误码率(比如10⁻¹²)下的水平开度。
我刚开始做高速设计时,以为眼宽只要大于0.5 UI(单位间隔)就行。后来吃过亏——在PCIe Gen4项目中,眼宽还有0.45 UI,但系统跑压测就报错。为什么?因为接收端的CDR(时钟数据恢复)本身就有固有抖动,再加上电源噪声,有效裕量就被吃掉了。所以我的建议是:眼宽至少留0.3 UI的裕量。
| 信号速率 | UI (单位间隔) | 建议最小眼宽(10⁻¹² BER) |
|---|---|---|
| 1 Gbps | 1000 ps | ≥ 600 ps |
| 10 Gbps | 100 ps | ≥ 60 ps |
| 25 Gbps | 40 ps | ≥ 24 ps |
| 56 Gbps (PAM4) | ~17.86 ps | ≥ 10 ps |
3.3 抖动(Jitter)—— 信号时序的隐形杀手
抖动是我最头疼的参数之一。它不像眼高眼宽那么直观,但危害很大。抖动分为两大类:随机抖动(RJ)和确定性抖动(DJ)。
- 随机抖动: 源于热噪声、散粒噪声等,服从高斯分布,无法完全消除。
- 确定性抖动: 包括周期性抖动(PJ)、数据依赖抖动(DDJ)、占空比失真(DCD)等,有明确的根因。
我曾经处理过一个案例:芯片回片后眼图抖动大到眼图几乎闭合。用频谱分析发现有一个 130 kHz 的周期性抖动分量。最后定位到是板上DC-DC的开关频率正好耦合到信号线上。解决办法很简单:调整DC-DC频率,或者在电源路径上加磁珠。你看,找到根因,问题就不难解决。
抖动分离的常用方法有两种:
- 双狄拉克法(Dual-Dirac): 从浴盆曲线中提取两类抖动的均方根值。
- 频谱分析法: 对时钟或数据的相位噪声做FFT,识别离散频点。
// 伪代码:抖动分离思路(简化版)
input: 抖动量数组 jitter_samples[]
1. 计算全部抖动的均方根 RMS_total
2. 做FFT,标记超过 -20 dBc 的离散谱线 -> 周期性抖动(PJ)
3. 剩余宽带成分视为随机抖动(RJ)
4. 总抖动 Tj = DJ + 14 * RJ (基于 BER=10⁻¹²)
嗯,这里要注意:实际工程中往往需要测试 10⁶ ~ 10¹² 个比特才能得到准确的抖动数据。所以示波器的采集深度很重要。我个人最少会保证 500k 个UI以上,低于这个数测出来的抖动可能不准。
3.4 眼图幅度对称性—— 信号完整性的镜子
幅度对称性反映的是眼图垂直方向是否平衡。一个理想的NRZ眼图,上下应该完全对称;如果不称,意味着发送端或通道存在非线性、偏置漂移或编码问题。
常见的度量方式有两种:
| 参数 | 定义 | 理想值 |
|---|---|---|
| Eye Crossing% | 交叉点相对眼图总幅度的百分比 | 50% (NRZ) |
| Amplitude Imbalance | 上下半眼高之比 | 1:1 |
我记得有一次调试一款12.5 Gbps 的串行器,眼图总是上大下小。测了交叉点到了65%。排查后发现是发送端输出级的共模电压偏高了大约50 mV。调低共模后,交叉点回到了51%,眼高也增大了10%。
幅度对称性尤其在PAM4信号中更为敏感。因为PAM4有3个眼,如果一个眼不对称,会导致错误的电平判决。我在做50 Gbps PAM4项目时,就是因为一个通道的驱动端匹配电阻不对称,导致中间眼高比上下眼小了25%。后来换了精度0.5%的电阻就解决了。
好了,关于眼图参数的核心内容就是这些。你实际碰到问题时,不妨按这个顺序排错:先看眼高满不满足阈值,再看眼宽是不是被抖动咬掉了,然后用频谱找抖动的离散成分,最后量一下对称性做辅助判断。这个方法我用了很多年,基本上没有失手过。