3. Preset 校准概述:什么是 Preset?Preset 在 PCIe 链路训练中的作用、Preset 与 Tx EQ 的关系

3.1 什么是 Preset?

在 PCIe 链路训练(Link Training)的早期阶段,发送端(Tx)和接收端(Rx)尚未建立稳定的高速连接。此时,链路两端的均衡(Equalization)参数无法通过协商确定。为了解决这一“先有鸡还是先有蛋”的问题,PCIe 规范定义了一组预定义的、固定的发送端均衡系数组合,称为 Preset。

Preset 本质上是一组 Tx EQ 的初始系数,包括去加重(De-emphasis)或预加重(Pre-emphasis)的幅度设置。这些系数被固化在芯片的硬件寄存器中,无需软件干预即可在复位后快速加载。Preset 的主要目的是在链路训练的 Polling 状态 和 Configuration 状态 中,提供一个稳定且可预测的信号质量基线,使得接收端能够成功检测到信号并完成位锁定(Bit Lock)和符号锁定(Symbol Lock)。

关键概念: Preset 不是“最优”的均衡设置,而是“足够好”的初始设置。它保证了链路在最差信道条件下也能建立基本连接,为后续的精细均衡(Coefficient Update)铺平道路。

3.2 Preset 在 PCIe 链路训练中的作用

Preset 在链路训练流程中扮演着“启动器”的角色。其核心作用可以归纳为以下三点:

  1. 建立初始通信: 在链路训练开始时,发送端必须使用一个双方都已知的 Preset 来发送训练序列(TS1/TS2)。接收端则基于这个已知的 Preset 来调整其接收均衡器(CTLE/DFE),从而正确解码训练序列。
  2. 提供统一的参考起点: 所有兼容的 PCIe 设备都必须支持相同的 Preset 集合。这确保了不同厂商的设备在链路训练初期能够“说同一种语言”,避免了因均衡参数不匹配导致的链路无法建立。
  3. 支持链路速率协商: 当链路从低速(如 2.5 GT/s)向高速(如 8 GT/s 或更高)切换时,发送端会切换到对应速率下的 Preset。这保证了在速率切换瞬间,信号质量不会因为均衡参数未更新而急剧恶化。
调试要点: 在链路训练失败时,检查发送端是否输出了正确的 Preset 波形是关键的排查步骤。如果 Preset 波形失真严重(例如幅度不足、上升沿过缓),则链路很可能卡在 Polling 状态无法前进。

下表列出了 PCIe 5.0/6.0 规范中定义的 11 个 Preset 及其对应的去加重/预加重特性:

Preset 编号 去加重 (dB) 预加重 (dB) 典型应用场景
P0 0.0 0.0 全摆幅,无均衡,用于短距离或参考
P1 -3.5 0.0 轻度去加重,用于中等损耗信道
P2 -6.0 0.0 重度去加重,用于长距离或高损耗信道
P3 0.0 +2.5 轻度预加重,用于接收端需要增强信号前沿的场景
P4 0.0 +4.5 重度预加重,用于补偿发送端封装损耗
P5 -2.5 +1.5 组合均衡,兼顾去加重与预加重
P6 -4.5 +2.5 中等组合均衡
P7 -6.0 +3.5 强组合均衡
P8 -3.5 0.0 与 P1 类似,但用于不同速率
P9 -4.5 0.0 介于 P1 和 P2 之间的去加重
P10 -6.0 0.0 与 P2 类似,但用于不同速率

3.3 Preset 与 Tx EQ 的关系

Preset 和 Tx EQ 是 “初始值”与“最终值” 的关系。Tx EQ 是一个动态调整的过程,而 Preset 是这个过程的起点。

  • Preset 是 Tx EQ 的子集: Tx EQ 的系数空间是连续的,而 Preset 是这个连续空间中的 11 个离散点。每个 Preset 对应一组特定的 Tx EQ 系数(包括主抽头 C0、预抽头 C-1、后抽头 C+1 等)。
  • Preset 作为协商的初始提议: 在链路训练的 Equalization Phase 1 (EQ Phase 1) 中,发送端会使用一个 Preset 作为初始提议。接收端根据这个 Preset 下的信号质量,决定是否接受该 Preset,或者请求发送端切换到另一个 Preset。
  • 从 Preset 到精细调整: 一旦接收端确认了某个 Preset 可以建立基本连接,链路训练会进入 EQ Phase 2 和 Phase 3。此时,接收端会通过链路训练状态机(LTSSM)向发送端发送具体的系数更新请求(例如“增加 C+1 系数 2 个单位”),从而在 Preset 的基础上进行微调,最终找到最优的 Tx EQ 系数。
常见误区: 很多工程师认为 Preset 就是最终的均衡设置。实际上,Preset 只是链路训练的“敲门砖”。在 Gen4/Gen5 的高速链路中,最终的 Tx EQ 系数往往与初始 Preset 有显著差异。如果链路在 EQ Phase 2/3 中失败,问题通常不在于 Preset 的选择,而在于接收端反馈的系数更新请求无法被发送端正确执行。

下图展示了 Preset 与 Tx EQ 在链路训练流程中的关系:

Preset 与 Tx EQ 在链路训练中的关系 Preset 与 Tx EQ 在链路训练中的关系 链路复位 加载 Preset (P0-P10) Polling / Config EQ Phase 1 (Preset 协商) EQ Phase 2/3 (系数微调) 链路就绪 (L0) Preset 与 Tx EQ 的关系 • Preset 是 Tx EQ 的初始值 • EQ Phase 1 选择 Preset • EQ Phase 2/3 微调系数

总结来说,Preset 是 Tx EQ 的“种子”。链路训练的过程,就是接收端基于这个“种子”,通过反馈机制不断“浇水施肥”(调整系数),最终让信号质量“开花结果”(达到最优眼图)的过程。理解 Preset 与 Tx EQ 的这种递进关系,是进行链路调试和故障排查的基础。