第3章 眼图测试标准:常见协议的眼图模板要求
做眼图测试这么多年,我最深的感受就是:没有标准,眼图就是一张好看的波形图而已。你测出来的眼图再漂亮,如果不跟协议规定的模板去比对,那就没法判断芯片到底合不合格。这一章我们就来说说USB、PCIe、Ethernet这几个主流协议的眼图模板长什么样,以及我们在ATE上怎么去卡它们。
3.1 眼图模板到底是个什么东西?
说白了,眼图模板就是协议规定的“禁区”。它用几条折线在眼图上圈出一块区域,告诉你的信号不能掉进去。如果你的眼图碰到了模板的边,或者更惨——直接穿进去了,那就算违规。
我记得刚入行时带我的老工程师说过一句话:“模板就是法律,没有例外。”嗯,后来我发现其实轻微违规在一些非消费级产品里也能通融,但那是另一个话题了。咱们做ATE测试,得严格按规范来。
3.2 USB的眼图模板
USB协议大家最熟,但它的眼图要求其实一直在变。USB 2.0和USB 3.x的模板差别非常大。
USB 2.0:经典的六边形模板
USB 2.0的模板是个六边形,分为发送端和接收端两个版本。发送端模板更严格一些。核心参数有:
- 数据速率:480 Mbps
- 电压范围:0V 到 +3.6V(差分电压)
- 模板开口:水平和垂直方向都有具体坐标
- Jitter要求:总抖动不超过某个值
这里要注意的是,USB 2.0的模板会在眼图的中心位置留一个“安全区”。也就是说,眼图睁得再大也没用,必须落在安全区里才合格。我在项目中遇到过一颗芯片,眼图特别漂亮,结果一跑模板就报警。仔细一查,原来是共模电压偏了,导致整个眼图往上漂了一点点。
USB 3.x:矩形+菱形模板
到了USB 3.0(5 Gbps)和USB 3.1(10 Gbps),模板形状变成了更复杂的矩形和菱形组合。原因很简单——高速信号对抖动和噪声更敏感,模板的“安全区”需要更多维度来约束。
USB 3.x的模板通常包含:
- 数据速率:5 Gbps / 10 Gbps
- 电压摆幅:一般160 mV到1.2 V(差分)
- 模板形状:中心菱形 + 两侧矩形
- 眼高/眼宽:明确规定最小值
3.3 PCIe的眼图模板
PCIe的模板相比USB要“宽容”一些,但要求更细致。PCIe从Gen1到Gen6,模板越来越严格。
| PCIe版本 | 数据速率 | 模板形状 | 眼高最小值 | 眼宽最小值 |
|---|---|---|---|---|
| Gen1 | 2.5 GT/s | 矩形 | 200 mV | 0.4 UI |
| Gen2 | 5.0 GT/s | 矩形 | 100 mV | 0.35 UI |
| Gen3 | 8.0 GT/s | 菱形+矩形 | 80 mV | 0.3 UI |
| Gen4 | 16.0 GT/s | 菱形+矩形 | 70 mV | 0.25 UI |
你仔细看这个表,会发现从Gen2到Gen3,眼高的要求直接腰斩了。为什么?因为速率翻倍,信号损耗变大了,模板必须跟着调整。我建议做ATE测试时,先把PCle的预加重和去加重参数调对,否则眼图模板过不了。
PCIe模板的特殊之处
PCIe的模板不仅关心眼图的中心区域,还关心眼图的“肩部”。说白了,就是信号上升沿和下降沿的过渡区域也不能乱跑。PCIe规范会给出一个“模板掩码”,这个掩码把你眼图的所有区域都定义了违规区。
我记得有个项目,PCIe Gen3的芯片眼高测出来78 mV,差一点点就达标。我本来想妥协,但客户坚持要过。后来发现是DC偏置电阻的问题,换了个电阻就好了。嗯,有时候小细节决定成败。
3.4 Ethernet的眼图模板
Ethernet的协议家族太庞大了,咱们挑几个最常用的来说。
100BASE-TX / 1000BASE-T
100BASE-TX(100 Mbps)的眼图模板比较简单,基本沿用了经典的六边形模板。而1000BASE-T(千兆以太网)用了PAM-5编码,眼图分了5个电平,模板也变得复杂了。
这里有个坑:1000BASE-T的模板要求你的信号必须在每个电平上都满足模板,而不是只看中间电平。我遇到过一颗芯片,中间电平的眼图特别漂亮,但靠近顶部的电平眼图塌了。结果一跑模板就报错。
10GBASE-KR / 10GBASE-SR
10G以太网的模板是真正的“多边形”模板,坐标点可以多达几十个。它的模板形状有点像一把梳子,分成很多个小眼图。
做ATE测试时,你需要在每个子眼上单独跑模板。说白了,一个眼图要过10次甚至更多模板检查。我建议用ATE测试机的“批量模板”功能,一次跑完所有子眼,不要手动逐个去测。
3.5 模板测试的通用做法
不管你是测USB、PCIe还是Ethernet,在ATE上做模板测试的流程都差不多:
- 加载模板定义:从协议规范中提取模板坐标
- 设置测试条件:数据速率、电压范围、采样点
- 捕获眼图:ATE测试机内部的采样器去采集波形
- 运行模板比对:把波形和模板做逻辑运算
- 判定结果:合格 / 不合格 / 临界
这五个步骤看着简单,但每步都有陷阱。我吃过最大的亏就是第三步——采样点设置太多或太少。采样点太少,眼图分辨率不够,模板比对不准确;采样点太多,测试时间翻倍。我个人的习惯是先用500个采样点做快速扫描,发现问题再加到2000个点做精细判断。
3.6 非标信号怎么办?
这一章节讲的是标准协议,但现实工作中总会遇到“非标信号”。比如某芯片公司自己定义了一个私有协议,没有模板参考。怎么办?
- 方法一:找规格书里的眼图要求,自己画模板
- 方法二:用ATE测试机的“自适应模板”功能
- 方法三:直接量眼高、眼宽、抖动值,不跑模板
我个人推荐方法三。因为非标协议的模板往往没有经过充分验证,你硬套模板反而可能误判。直接测几个关键参数,简单粗暴,也能说明问题。
这一章的内容就到这里。眼图模板看起来是死板的几何图形,但它背后隐藏着大量的信号完整性知识和协议设计理念。你掌握了模板的来龙去脉,ATE测试才能真正做到心中有数。