第3章 物理层电气特性测试概述
3.1 为什么电气特性测试这么重要
做 PCIe 一致性测试这么多年,我最大的感触就是——电气特性测试才是真正见真章的地方。协议层的逻辑分析能帮你抓 Bug,但物理层的电气测试决定了你的产品能不能稳定出货。
你想想看,一串 32 GT/s 的信号从发送端跑到接收端,中间要走过 PCB 走线、连接器、过孔、线缆……每一个环节都是对信号完整性的考验。稍微有一点阻抗不连续,或者抖动超标,整条链路就可能误码。
我刚开始接触 PCIe 时,总觉得协议分析更有意思。直到有一次项目,板卡在实验室功能全通,一到客户那边高温环境下就频繁掉链子。折腾了两周,最后发现是发射端去加重参数没调好,眼图余量只剩 2%。嗯,从那以后我再也不敢轻视电气特性测试了。
说白了,电气特性测试就是验证你的物理层设计能不能在各种工艺、电压、温度条件下稳定工作。PCIe 规范里对发射端、接收端和通道都有明确的电气参数要求,你的产品必须全部满足,才能拿到合规认证。
3.2 测试标准体系概览
PCIe 电气特性测试的标准主要来自三个地方:
- PCIe Base Spec — 定义了物理层的电气参数要求,比如电压幅值、抖动容限、眼图模板。各代协议都在这里定调。
- PCIe CEM Spec — 针对板卡和连接器的外形规范,规定了测试点位置(TP0/TP1/TP2)和参考通道模型。
- PCIe CTS — 一致性测试标准,告诉你具体怎么测、用什么设备、判定准则是什么。
我个人的习惯是把这三本规范叠在一起看。Base Spec 告诉你"要满足什么",CEM Spec 告诉你"在哪儿测",CTS 告诉你"怎么测"。缺一本都容易掉坑里。
另外要注意,每一代 PCIe 的电气规范都在收紧。Gen3 开始引入了去加重和均衡,Gen4 对抖动的容忍度更严,Gen5 的眼图模板几乎把设计余量压到了极限。你不能用 Gen3 的经验直接套 Gen5 的设计。
下面这张图是我整理的电气特性测试知识体系,涵盖了标准、参数、设备和流程四个维度。你可以把它当作本章的导航地图。
3.3 关键测试参数与各代差异
电气特性测试的参数很多,但归纳起来就三大类:发射端、接收端和通道。每一类里又有几个核心指标。
发射端参数
- 差分输出电压 (Vdiff) — 信号幅值,直接影响接收端的信噪比。太小了接收端看不清,太大了增加功耗和 EMI。
- 上升时间 / 下降时间 — 边沿陡峭程度。太快了反射严重,太慢了眼图闭合。
- 眼图模板 — 这是发端测试的"一票否决"项。信号必须落在模板框线内。
- 总抖动 (TJ) 与随机抖动 (RJ) — 抖动是高速信号的死敌,Gen5 的抖动预算比 Gen1 少了 80%。
- 去加重 (De-emphasis) — Gen3 开始引入,用来补偿高频损耗。我见过不少团队在这里栽跟头——去加重系数设错了,眼图直接塌掉。
接收端参数
- 抖动容限 — 接收端能容忍多大的输入抖动而不误码。
- 接收灵敏度 — 接收端能正确识别的最小信号幅值。
- 均衡能力 — Gen3/Gen4/Gen5 的接收端必须支持 CTLE + DFE,否则没法用。
通道参数
- 插入损耗 — 信号幅值随频率的衰减。PCIe Gen5 要求在 Nyquist 频率(16 GHz)下损耗不超过 -18 dB。
- 回波损耗 — 阻抗不连续导致的反射。我测过一块板子,回损在 8 GHz 处掉了 -8 dB,后来发现是过孔的 stubs 没处理好。
- 阻抗 — 差分 85 Ω ±15%,单端 55 Ω ±15%。
下面这个表格列出了各代 PCIe 在几个关键参数上的差异,一目了然:
| 参数 | Gen1 (2.5 GT/s) | Gen2 (5 GT/s) | Gen3 (8 GT/s) | Gen4 (16 GT/s) | Gen5 (32 GT/s) |
|---|---|---|---|---|---|
| 眼图模板宽度 | 0.175 UI | 0.175 UI | 0.125 UI | 0.125 UI | 0.125 UI |
| 眼图模板高度 | 100 mV | 100 mV | 75 mV | 75 mV | 60 mV |
| 总抖动 (TJ) 上限 | 0.6 UI | 0.6 UI | 0.5 UI | 0.5 UI | 0.45 UI |
| 最小差分输出电压 | 800 mVppd | 800 mVppd | 800 mVppd | 800 mVppd | 800 mVppd |
| 去加重要求 | 无 | 可选 | 强制 | 强制 | 强制 |
3.4 测试设备与平台选择
做 PCIe 电气测试,设备是硬投入。我列一下常用的设备类型,以及我个人的选型建议。
- 实时示波器 (Real-time Oscilloscope) — 发射端测试的主力。带宽至少要覆盖被测信号的 3 倍谐波。测 Gen5(32 GT/s)建议用 80 GHz 以上的带宽,采样率不低于 200 GSa/s。我个人习惯用 Keysight UXR 系列或者 Tektronix DPO70000 系列。
- 矢量网络分析仪 (VNA) — 用来测通道的 S 参数。频率范围至少要到 40 GHz(Gen5 的 2 次谐波)。校准很关键,我曾经因为校准件没做温度补偿,测出来的插入损耗偏差了 0.5 dB。
- 误码率测试仪 (BERT) — 接收端抖动容限测试必备。要能生成符合 PCIe 规范的 stressed eye 信号。
- TDR (时域反射计) — 测阻抗连续性和走线长度。现在很多示波器也带 TDR 模块。
3.5 测试流程的几个关键环节
不管测哪一代,电气特性测试的流程都遵循差不多的步骤。我把它们拆成四个阶段:
- 测试准备 — 确认 DUT 工作模式(是否进入 Polling/Compliance 状态),连接好测试设备,完成校准。这一步最容易被忽视的是测试码型选择。PCIe 规范规定了特定的 Compliance Pattern 和 PRBS 码型,用错了结果全废。
- 参数采集 — 用示波器抓取波形,或者用 VNA 扫描频率响应。采集时要保证足够的样本量。我一般抓 100 万 UI 以上的数据来做抖动分析。
- 数据后处理 — 用测试软件(比如 DPOJET、TDSET 或者是德科技的 3D 模型)做眼图分析、抖动分解、S 参数后处理。这里有个坑:不同的软件对抖动的分解算法略有不同,结果可能差 5%-10%。我建议你一直用同一个版本的软件做回归对比。
- 合规性判定 — 把测量结果跟规范里的限值做比较。注意,有些参数有温度和老化的余量要求,不能刚好顶着限值过。
嗯,电气特性测试的内容远不止这些。后面的章节我会把发射端、接收端和通道的测试方法一个一个拆开讲。你现在先把整体框架搭起来,知道哪些参数是关键、哪些设备要备好、流程怎么走,后面就不容易跑偏了。