眼图测量方法:示波器设置、时钟恢复方式、模板测试

眼图测量这事儿,说简单也简单,说讲究也真讲究。我记得刚做信号完整性那几年,总觉得把示波器接上,眼图一开就能看。结果呢?测出来的眼图要么糊成一片,要么抖动大得离谱。后来才明白,仪器设置差一点,结果就差一截。今天咱们就掰开揉碎了聊:示波器怎么设、时钟恢复怎么选、模板测试怎么玩。把这些踩过的坑填平,你测出来的眼图才真的有参考价值。

示波器设置:带宽、采样率、时间底扫

一台好示波器未必能测出好眼图,关键看你会不会设。我个人习惯,拿到信号第一件事——先看带宽够不够。眼图测量的经验法则是:示波器带宽至少是被测信号基频的3倍,真正做高速串行信号(比如10Gbps以上),我建议直接上带宽5倍以上的机器。

核心参数速查表(我个人整理,常用)

信号速率最小带宽推荐采样率时间底扫(Tdiv)
1 Gbps3 GHz≥ 20 GSa/s200 ps/div ~ 500 ps/div
5 Gbps15 GHz≥ 80 GSa/s100 ps/div ~ 200 ps/div
10 Gbps30 GHz≥ 160 GSa/s50 ps/div ~ 100 ps/div
25 Gbps60 GHz≥ 200 GSa/s20 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的样本量直接决定你能发现多“隐蔽”的问题。

模板测试三步走(我自己的流程):

  1. 加载合规模板 – 确认版本号,别用错标准(比如PCIe Gen3和Gen4模板不一样)。
  2. 设置失效判据 – 常见设定:误码率类比阈值1e-12,hit数超过1就算fail。
  3. 跑足样本量 – 至少100万UI,如果时间允许我跑500万UI以上。

模板通过的判据就一条:零个hit。只要有一个点落到mask里,就是fail。你别跟我说“只有一次打到了”,标准的margin就是不允许碰到。这时候你需要回去调CTLE或者DFE,把眼图撑开。

本章知识脉络

眼图测量方法 — 核心知识体系 眼图测量 示波器设置 带宽选择 采样率设定 时间底扫 时钟恢复方式 PLL恢复 外部时钟 环路带宽 模板测试 加载合规模板 设置判据 跑足样本量 核心目标:零模板违规,眼图开口最大化

这张图把咱们聊的三个模块串起来了。示波器设置解决的是测量工具的准备;时钟恢复解决的是眼图同步问题;模板测试才是最终检验成果的关卡。每一步漏了,眼图就不真实。

避坑清单:我替你踩过的雷

  • 带宽不够 – 我曾经用6 GHz示波器测5 Gbps信号,眼图上升沿明显变缓,误以为是驱动不足。换了16 GHz的机器,眼图正常了。所以别嫌机器贵,带宽不够害死人。
  • 采样率太低 – 看上去眼图很“雾”,其实是抖动测量不准,不是信号本身的问题。
  • PLL环路带宽用默认 – 不同速率信号的抖动特性差异巨大。我习惯根据数据速率手动计算一下,至少确认一下。
  • 模板测试样本量不足 – 跑几十万次通过不代表没问题。建议至少百万级,重要信号跑千万级。
  • 用了错误的模板文件 – 这个最冤枉。我见过一个人拿USB 2.0模板去测USB 3.0信号,测了三天说眼图全fail,最后发现是标准搞错了。

最后一个小贴士:现场调测时,把示波器的“持久时间”开到无限(Infinite Persistence),然后盯着眼图看10秒。如果有偶尔变窄或抖动加剧的现象,多半是低频干扰或电源噪声。这个习惯帮我快速定位了好几个电源完整性问题。