1. PCIe 链路训练(LTSSM)
PCIe 链路训练由 LTSSM(Link Training and Status State Machine,链路训练与状态机) 驱动,核心目标是让链路双方完成“握手-同步-协商-均衡”,最终进入稳定工作状态。
| 阶段/状态 | 核心目标 | 关键动作与有序集 | 关键超时 | 正常下一状态 | 常见故障与排查方向 | 与你测试场景的关联 |
| Detect | 检测对端设备是否存在,建立电气连接 | 1. 发送端在每条 Lane 发送标准共模电压2. 检测对端终端负载3. 成功检测后进入 Polling | 100ms | Polling | 1. 对端未上电/初始化2. 参考时钟异常3. 物理链路断线/接触不良 | 测试时 SOC1 会正常完成 Detect,进入 Polling.Active |
| Polling.Active | 实现位锁定、符号锁定,完成链路基本同步 | 1. 收发 TS1 有序集,同步时钟与符号2. 检测 EIEOS(电气空闲退出序列)3. 同步失败超时后进入 | 24ms | Configuration 或 Polling.Compliance | 1. 参考时钟频率/相位偏差过大2. 对端握手异常,未发送 TS13. 链路损耗超标,TS1 无法被识别 | 你通过移除 Rx 耦合电容,让链路在此阶段因收不到 EIEOS 超时,强制进入合规模式 |
| Polling.Compliance | (非正常路径)仅用于电气一致性测试 | 1. 不协商链路,仅输出标准测试码型2. 支持外部 1ms/100MHz 时钟触发,切换速率/均衡 Preset3. 循环遍历 Gen1~Gen4 所有配置 | 无超时,持续循环 | 断电重启 → Detect | 非工作状态,仅用于 Tx 信号一致性测试,无法正常建链 | 你当前测试的核心状态,通过信号发生器触发切换 Preset,示波器抓取信号 |
| Configuration | 协商链路宽度、Lane 映射、极性、通道偏斜 | 1. 收发 TS2 有序集,协商链路参数2. 完成 Deskew 通道偏斜校正3. 确定最终链路宽度(x1/x4/x8/x16) | 48ms | Recovery | 1. Lane 极性反接/映射错误2. 差分对偏斜过大,Deskew 失败3. 链路宽度协商不一致 | 正常链路训练路径,你的测试场景不会进入此阶段 |
| Recovery | 协商链路速率,完成高速信号均衡训练(Gen3/Gen4 必做) | 1. 速率协商:从 Gen1(2.5GT/s)逐步升级到最高速率2. 均衡训练:收发端交互 TS1,请求最优 Preset 配置3. 解决链路损耗、ISI、串扰问题 | 120ms | L0 | 1. 高速链路损耗超标,均衡训练失败2. 收发端均衡参数不兼容3. 板级 SI 质量差,眼图不满足规范 | 正常链路训练路径,你的测试场景不涉及此阶段 |
| L0 | 链路正常工作,数据传输 | 1. 业务数据正常收发2. 可进入低功耗状态(L0s/L1/L2)3. 链路异常时退回 Recovery | - | 低功耗/Recovery/Disabled | 1. 误码率过高,链路重训练2. 电源波动导致链路降级3. 协议错误触发链路复位 | 正常工作状态,你的测试场景不涉及 |
1. 有序集作用区分:
- TS1:主要用于时钟同步、速率协商、均衡训练;
- TS2:主要用于链路宽度、Lane 映射、极性等配置协商;
2. PCIe链路训练失败原因排查:
| 故障现象 | 常见原因 | 排查方向 |
| 卡在 Detect 状态 | 物理连接异常、对端未上电 | 检查电源轨、插槽/线缆连接 |
| 卡在 Polling 状态 | 时钟同步失败、AC 耦合电容异常 | 检查参考时钟、Lane 阻抗匹配 |
| 卡在 Configuration 状态 | 链路宽度协商失败、通道偏斜过大 | 检查 Lane 映射、差分对布线 |
| 卡在 Recovery 状态 | 均衡训练失败、链路损耗超标 | 检查 PCB 走线损耗、更换 Preset 配置 |
2. Preset 基础概念
适用场景:仅在 8.0 GT/s(Gen3)、16.0 GT/s(Gen4)及以上速率使用;2.5/5.0 GT/s 仅使用简单的去加重参数,无 Preset 编码。
核心目的:通过统一的 4-bit 编码( 0000b ~ 1011b ),定义 12 种标准均衡配置,覆盖从低损耗到高损耗链路的信号补偿需求。
对应关系:4-bit 编码与 Preset 编号一一对应,例如 0000b 对应 Preset 0(P0), 1011b 对应 Preset 11(P11)。
| Preset 编号 | 编码 | Preshoot (dB) | De-emphasis (dB) | 典型适用场景 |
| P0 | 0.0 | 0.0 | 极低损耗链路(短走线、背板直连) | |
| P1 | 0.0 | -3.5 | 低损耗链路 | |
| P2 | 0.0 | -6.0 | 中等损耗链路 | |
| P3 | 0.0 | -9.0 | 高损耗链路 | |
| P4 | 3.5 | 0.0 | 前冲补偿,低损耗链路 | |
| P5 | 3.5 | -3.5 | 前冲+去加重,中等损耗链路 | |
| P6 | 3.5 | -6.0 | 前冲+去加重,高损耗链路 | |
| P7 | 3.5 | -9.0 | 前冲+去加重,极高损耗链路 | |
| P8 | 6.0 | 0.0 | 强前冲补偿,低损耗链路 | |
| P9 | 6.0 | -3.5 | 强前冲+去加重,中等损耗链路 | |
| P10 | 6.0 | -6.0 | 强前冲+去加重,高损耗链路 | |
| P11 | 6.0 | -9.0 | 强前冲+去加重,极高损耗链路 |
1. Preset 0 与 Preset 4 的区别:
P0 是“无均衡”模式,用于测试 Tx 基础信号质量;
P4 是仅前冲(3.5dB)模式,用于验证高频信号的预补偿效果,是 16.0 GT/s 阶段的重点测试项。
2. Preset 10/11 的特殊性:
对应最大前冲(6.0dB)+ 最大去加重(-6/-9dB),是高损耗链路的极限补偿配置,必须在一致性测试中覆盖。
3. 与链路训练的关联:
正常链路训练中,接收端会通过 TS1/TS2 有序集请求特定 Preset,发送端按请求配置均衡参数;
而在 Compliance 模式下,DUT 会按固定序列自动遍历所有 Preset,无需接收端请求。
3. Polling.Compliance模式
1. 核心定位:
它是 PCIe LTSSM 中唯一专门为 PHY 电气合规测试设计的强制模式,正常链路训练绝不会走这条路径。
它的核心作用,就是让 DUT 脱离链路握手流程,按固定序列输出标准化的测试图案,方便测试仪器测量眼图、抖动、去加重、噪声等指标。
2. 触发条件:
- 设备从 Detect 状态进入 Polling 阶段,完成 Lane 检测(至少检测到一条 Lane 存在);
- 在 Polling.Active 中,设备发送 TS1 有序集,尝试与对端同步;
- 24ms 超时内,任意 Lane 从未收到对端的 EIEOS(电气空闲退出有序集),链路训练无法推进到 Polling.Configuration;
- 此时链路会强制转入 Polling.Compliance 状态,进入“安全屋”模式。
3. 前置条件:
- 去掉RX端AC耦合电容:目的是切断正常的链路握手信号路径,让DUT的RX端无法收到对端的TS1/EIEOS,从而满足“收不到EIEOS”的超时条件,触发Compliance模式。
- 关闭Polling后的低功耗模式:很多SOC默认会在Polling阶段进入Lane Power Saving模式,会关断部分收发器电路,导致无法正常响应外部时钟注入,所以必须提前关闭相关配置。
- 触发信号参数:必须严格使用 100MHz、1ms 持续时间、350mVpp 差分幅度的信号,偏差过大可能导致设备无法识别,无法切换配置。
- 配置遍历完整性:测试时必须完整遍历所有配置,尤其是 16.0 GT/s 的所有预设编码,否则会遗漏特定链路条件下的信号完整性验证。
- 循环利用:当一轮序列走完回到起点后,可以直接重复测试,无需重新触发进入 Compliance 模式,方便批量验证。
4. Polling.Compliance 模式下示波器完整配置指南
4.1 核心仪器与基础设置
| 项目 | 配置要求 | 说明 |
| 示波器带宽 | ≥ 被测速率的 2.5 倍例:Gen4 16GT/s → ≥25GHzGen3 8GT/s → ≥20GHz | 确保高频分量无失真,满足 PCIe 上升/下降时间测量 |
| 采样率 | ≥ 4×码率例:16GT/s → ≥80GSa/s | 保证时间分辨率,避免采样混叠 |
| 垂直分辨率 | 8bit 以上(推荐10bit) | 提升噪声基底,提升眼图和抖动测量精度 |
| 输入阻抗 | 50Ω 差分模式 | 必须与传输线阻抗匹配,避免信号反射 |
| 参考时钟 | 接入与 SOC1 同源的 100MHz 参考时钟 | 消除示波器与DUT之间的时钟偏差,确保抖动测量准确 |
3.2 测试组网
3.3. 测量参数
| 测量项目 | 配置说明 |
| 眼图高度/宽度 | 以信号幅度为参考,设置眼图交叉点,自动测量 |
| 抖动(TJ/DJ/RJ/BER) | 设置 BER 目标(如 1e-12),使用直方图或浴盆曲线测量 |
| 上升/下降时间 | 以 20%-80% 幅度为参考,测量信号边沿 |
| 去加重/预加重 | 使用示波器均衡分析功能,计算不同 Preset 下的补偿值 |
| 信号幅度/噪声 | 测量信号的差分幅度和 RMS 噪声基底 |