高速接口测试基础:PCIe、DDR、SerDes 电气特性与协议简介

做高速接口测试这些年,我最大的感触就是——电气特性和协议是硬币的两面。你光懂眼图、抖动,不懂协议握手,测了半天可能根本没过;反过来,只死抠协议帧结构,电气噪声一塌糊涂,板子连信号都锁不住。

我个人习惯是:先摸清每个接口的物理层底线,再谈协议测试。下面我把 PCIe、DDR、SerDes 这三类最常见的接口掰开聊聊。嗯,都是血泪换来的经验。

PCIe——差分信号 + 多层协议栈

PCIe 用的是差分对,一根 lane 两对线。我记得刚入行时调 PCIe Gen3,误以为只要测单端眼图就行。结果板子调了三天就是不通。后来才意识到:差分信号的共模电压、对内 skew 才是要命的地方。

关键电气参数速查

参数 Gen3 (8 GT/s) Gen4 (16 GT/s) Gen5 (32 GT/s)
差分峰峰值 (mV) 800~1200 800~1200 800~1200
眼高最小值 (mV) 175 150 130
眼宽最小值 (UI) 0.35 0.3 0.25
ILD (dB) ≤ -8 ≤ -6 ≤ -5

协议层面,PCIe 分物理层、数据链路层、事务层。我们在 ATE 上主要测的是LTSSM(链路训练状态机)。曾经有个项目,DUT 死活进不了 L0 态,我怀疑是电气问题,结果翻协议发现是 TS1/TS2 顺序号对不上。说白了,电气过了,协议没对,一样白搭。

  • 避坑指南:测 Gen5 时,一定要用足够高频的探头(>30 GHz)。我用过一根 25 GHz 的,眼图被探头本身压扁了,差点把板子判死刑。
  • 测试顺序:先测 DC 共模 → 再测差分眼图 → 最后跑 LTSSM 序列。

DDR——单端总线 + 严格的时序窗口

DDR 跟 PCIe 完全两个路子:它是单端信号,而且对建立/保持时间极度敏感。我记得做 DDR4 测试时,数据眼图看起来挺漂亮,结果连续读写总报错。排查半天——原来是 DQS 跟 DQ 之间的 skew 差了几皮秒,刚好撞上时钟边沿。

DDR 的协议其实比 PCIe 简单,但电气测试更“暴力”。你想想看:DDR5 的速率已经 6400 MT/s,一个 UI 才 156 ps。这点时间窗口里,信号反射、串扰、地弹都会让眼图瞬间闭合。

实用技巧:写 DDR 测试项时,我会把 Write Leveling 放在第一步。这个阶段会把 DQS 跟 CK 对齐,后续的读/写训练才准。如果 Write Leveling 失败,直接报硬件问题,不用往下练。

协议测试方面,DDR 重点关注初始化序列(MRx 寄存器配置)和读写命令的时序合规性。我个人习惯用 ATE 的 Pattern 发生器打一系列读/写序列,再在波形上量实际延迟。下面这张对照表是我经常参考的:

参数 DDR4-3200 DDR5-6400 测试工具
tCK (最小周期) 625 ps 312.5 ps 示波器 + 时钟恢复
tIS (建立时间) -45 ps -75 ps 时序分析软件
tIH (保持时间) 45 ps 75 ps 时序分析软件
Vref 偏移允差 ±1% ±0.8% DC 参数测试

注意:DDR 的 Vref 通常在 VDDQ/2 附近,但不同颗粒有 ±2% 的出厂偏差。千万不要直接套标准值。我在项目里遇到过几次:芯片标称 Vref=0.75 V,实际测到 Vref=0.78 V 才能稳定训练。这时候要以实际训练结果为准,协议规范只是参考范围。

SerDes——通用串行器 + 高灵活性

SerDes 其实不是一种具体协议,而是一种串行-并行转换技术。PCIe 的物理层底层就是 SerDes,但很多私有的 SerDes(比如定制 ASIC 间互联)没有公开协议,完全靠你从电气波形反推。

我记得有一次测一个 112 Gbps PAM4 SerDes,眼图根本不是传统的“眼睛”,而是四个电平堆在一起。你看过那种图你就明白:传统的眼图模板根本没法用。这时候需要测 TDECQ(发射色散眼图闭合代价),这是一个综合指标,包含了噪声、ISI、信号完整性。

SerDes 测试的通用步骤,我整理了一个清单:

  1. 先确认差分阻抗(100 Ω 或 85 Ω,看 spec)
  2. 测输出摆幅(NRZ 一般 400~800 mVpp,PAM4 减半)
  3. 测上升/下降时间(20%~80% 或者 10%~90% 看标准)
  4. 测随机抖动(RJ)和确定性抖动(DJ)(用时间间隔分析仪或示波器)
  5. 最后才是眼图 / TDECQ

协议层面,如果是标准 SerDes(比如 JESD204B、SATA、USB 等),有固定的初始化序列。我遇到最多的问题是速率协商失败——要么是因为通道损耗太大,要么是参考时钟频率不准。

三种接口的电气测试思维对比

说了这么多,你会发现:PCIe 和 DDR 都对时序极度敏感,但一个差分的抗噪性好,一个单端的训练复杂;SerDes 更灵活,代价是需要更复杂的均衡和时钟恢复。我个人喜欢把这几个放在一张思维导图里记:

下面这张 SVG 图把本章知识框架连起来了,方便你看清电气特性和协议测试的关系。

高速接口测试知识体系 PCIe DDR SerDes 电气特性核心参数 差分/单端 眼图/眼高/眼宽 抖动 (RJ/DJ) 阻抗 (差/共模) Vref/摆幅 协议测试重点 LTSSM / 链路训练 初始化序列 / 时序 速率协商 / 均衡 电气参数合格是前提,协议训练正确才叫通过

总结一下——做高速接口测试,别只盯着一种测试项。你在项目里可能会发现:PCIe 的眼图过了但训练失败,DDR 的时序调了半天发现是电源噪声,SerDes 的 PAM4 测错设备导致 TDECQ 虚高。这时候记住一条:先电气后协议,先静态后动态,先时钟后数据。

嗯,这一章就到这儿。该记的表格、SVG 结构都在上面,你可以存下来当速查卡用。