眼图测量方法:示波器设置、时钟恢复方式、模板测试
眼图测量这事儿,说简单也简单,说讲究也真讲究。我记得刚做信号完整性那几年,总觉得把示波器接上,眼图一开就能看。结果呢?测出来的眼图要么糊成一片,要么抖动大得离谱。后来才明白,仪器设置差一点,结果就差一截。今天咱们就掰开揉碎了聊:示波器怎么设、时钟恢复怎么选、模板测试怎么玩。把这些踩过的坑填平,你测出来的眼图才真的有参考价值。
示波器设置:带宽、采样率、时间底扫
一台好示波器未必能测出好眼图,关键看你会不会设。我个人习惯,拿到信号第一件事——先看带宽够不够。眼图测量的经验法则是:示波器带宽至少是被测信号基频的3倍,真正做高速串行信号(比如10Gbps以上),我建议直接上带宽5倍以上的机器。
核心参数速查表(我个人整理,常用)
| 信号速率 | 最小带宽 | 推荐采样率 | 时间底扫(Tdiv) |
|---|---|---|---|
| 1 Gbps | 3 GHz | ≥ 20 GSa/s | 200 ps/div ~ 500 ps/div |
| 5 Gbps | 15 GHz | ≥ 80 GSa/s | 100 ps/div ~ 200 ps/div |
| 10 Gbps | 30 GHz | ≥ 160 GSa/s | 50 ps/div ~ 100 ps/div |
| 25 Gbps | 60 GHz | ≥ 200 GSa/s | 20 ps/div ~ 50 ps/div |
采样率这块,记住一个原则:每个UI至少采到10个点。不然眼图边缘会呈现“锯齿状”,你很难判断是真抖动还是欠采样。我曾经在某款25Gbps光模块测试上,采样率只用了80 GSa/s,结果眼图Q因子怎么都算不合格。后来改成200 GSa/s,眼图一下干净了。嗯,就是差这几倍采样率的事。
时间底扫(Time/div)怎么设?别直接给默认。我一般先把眼图开到无限余辉,然后慢慢缩小时间底扫,直到能看到约2~3个完整的UI宽度。举个例子,10 Gbps的UI是100 ps,那我通常设在50 ps/div,屏幕上正好显示2个UI。这样既能看清眼图开口,又不会因为底扫太小漏掉低频抖动。
时钟恢复方式:锁相环还是外部时钟?
眼图是“重复叠加”出来的,触发源必须和码流同步。怎么同步?时钟恢复(CDR)就是干这事的。示波器里常见两种模式:PLL恢复和外部时钟触发。
小经验:实际项目中,80%的场合我用PLL恢复。原因很简单——真实系统里接收端也是靠CDR恢复时钟的。你用PLL恢复测出来的眼图,跟芯片实际看到的眼图最接近。
那什么时候用外部时钟?比如验证一个已知的参考时钟,或者做精确定时抖动分析的时候。我曾经在一个PCIe Gen4项目里,测试板上的参考时钟干净得像水一样,但用PLL恢复测出来的眼图总是有闭环效应带来的抖动。后来换成外部时钟触发,才把参考时钟的抖动分离出来。
PLL参数的设置才是真正的坑。我见过不少人直接拿默认环路带宽去测,结果眼图要么锁不住,要么锁住了但抖动一大片。这里给大家一个参考规则:
- 环路带宽 = 数据速率 / 1667 (近似值,适用于NRZ)
- 对10 Gbps来说,环路带宽大约6 MHz
- 抖动传递函数拐点要低于码率/1000
注意:如果被测信号低频抖动很大,环路带宽设太窄,眼图会呈现“左右晃动”的假象。我曾经在同一个板上,因为PLL带宽设错,测出来的眼图开口小了20%。调对参数之后,眼睛一下就大了。所以千万别拿默认值瞎测。
模板测试:一次通过比什么都重要
眼图模板(Mask)是检验信号质量的“尺子”。不同标准(PCIe、SATA、USB、以太网)都有自己的模板规格。测模板,其实就是看眼图有没有碰到那些“禁止区”。
怎么做?示波器上一般都有mask test功能。先加载对应标准的mask文件,然后跑足够多的波形——我个人建议至少100万个UI。有时候跑几十万UI可能没事,但跑到百万级就冒出一个毛刺。这说明什么?小概率事件的裕量不够。
我印象很深的一次:某客户说他们的10Gbps通道模板余量有15%了,为什么量产还会出误码?我拿示波器跑了200万UI的mask test,发现眼图左下角偶尔有一个点碰到模板。仔细排查,是PCB上有一个过孔的stub过长。如果你只跑1万次UI,这个点根本不会出现。所以啊,mask test的样本量直接决定你能发现多“隐蔽”的问题。
模板测试三步走(我自己的流程):
- 加载合规模板 – 确认版本号,别用错标准(比如PCIe Gen3和Gen4模板不一样)。
- 设置失效判据 – 常见设定:误码率类比阈值1e-12,hit数超过1就算fail。
- 跑足样本量 – 至少100万UI,如果时间允许我跑500万UI以上。
模板通过的判据就一条:零个hit。只要有一个点落到mask里,就是fail。你别跟我说“只有一次打到了”,标准的margin就是不允许碰到。这时候你需要回去调CTLE或者DFE,把眼图撑开。
本章知识脉络
这张图把咱们聊的三个模块串起来了。示波器设置解决的是测量工具的准备;时钟恢复解决的是眼图同步问题;模板测试才是最终检验成果的关卡。每一步漏了,眼图就不真实。
避坑清单:我替你踩过的雷
- 带宽不够 – 我曾经用6 GHz示波器测5 Gbps信号,眼图上升沿明显变缓,误以为是驱动不足。换了16 GHz的机器,眼图正常了。所以别嫌机器贵,带宽不够害死人。
- 采样率太低 – 看上去眼图很“雾”,其实是抖动测量不准,不是信号本身的问题。
- PLL环路带宽用默认 – 不同速率信号的抖动特性差异巨大。我习惯根据数据速率手动计算一下,至少确认一下。
- 模板测试样本量不足 – 跑几十万次通过不代表没问题。建议至少百万级,重要信号跑千万级。
- 用了错误的模板文件 – 这个最冤枉。我见过一个人拿USB 2.0模板去测USB 3.0信号,测了三天说眼图全fail,最后发现是标准搞错了。
最后一个小贴士:现场调测时,把示波器的“持久时间”开到无限(Infinite Persistence),然后盯着眼图看10秒。如果有偶尔变窄或抖动加剧的现象,多半是低频干扰或电源噪声。这个习惯帮我快速定位了好几个电源完整性问题。