目录
1. PCIe链路均衡简介
2. PCIe链路均衡步骤
3. PCIe Gen3(8GT/s)链路均衡时序
4. PCIe Preset值
4. PCIe的Pre-shoot技术
4.1. Pre-shoot 的工作原理(FIR 模型)
4.2. PCIe Gen3 TX FFE 3 抽头
1. PCIe链路均衡简介
PCIe链路均衡(Link Equalization,LEQ)是PCIe Gen3及以上高速版本(8GT/s及以上)在链路训练(Link Training)阶段,为补偿信道损耗(插入损耗、码间干扰)而进行的动态参数调优过程。该过程由物理层状态机(LTSSM)的“Recovery.Equalization”状态主导,通过收发端交互的TS(Training Sequence)报文完成,最终使链路达到最优的信号质量(误码率BER≤1e-12)。
PCIe链路均衡四大阶段 Phase0 ~ Phase3
| 阶段 | 主导端口 | 核心任务 | 判定指标 |
|---|---|---|---|
| Phase 0 | DSP 下发,USP 执行 | 下发初始 Tx Preset,同步目标速率 | 成功切换高速速率 |
| Phase 1 | 双向交互 | 初始参数确认,均衡粗调 | BER<1e-4,稳定接收 TS1 |
| Phase 2 | USP(上行) | 请求 DSP 调整 Tx 参数,优化 USP 接收 | BER<1e-12 |
| Phase 3 | DSP(下行) | 请求 USP 调整 Tx 参数,优化 DSP 接收 | BER<1e-12,均衡完成 |
2. PCIe链路均衡步骤
对于PCIe而言,先基于2.5GT/s进行传输,然后由一方发送更改速度请求,从而另一方发送均衡请求,进入Recovery状态,进行均衡,最后确定PCIE的速度。其均衡的步骤总共有四步,对于Downstream Port来说有1-3阶段,对于Upstream Port来说有0-3阶段。因为第一个阶段是从DSP发送TS2 Ordered Set给USP做均衡。
PCIe链路均衡过程主要分为四个阶段(Phase 0至Phase 3),具体流程如下:
1. Phase 0:初始参数下发与同步(仅上行端口/Upstream Port专属)
作用:上行端口(USP)获取下行端口(DSP)的初始均衡参数,并同步初始速率。
流程:下行端口(DSP)在Recovery.Rcvrcfg状态下,通过TS2报文将初始Tx均衡参数(Preset)发送给上行端口。上行端口接收后,按初始参数发送TS1报文,并尝试将速率提升至目标速率(如8GT/s)。
2. Phase 1:初始参数确认与粗调
作用:双方确认初始参数,完成基础信号同步,进行粗调。
流程:双方持续交换TS1报文,上报各自的参数(如FS/LF)。当双方均能正确识别连续TS1报文(误码率BER<1e-4)时,确认初始参数有效,进入下一阶段。
3. Phase 2:上行端口主导的Tx调优(细调)
作用:上行端口评估接收信号质量,请求下行端口调整Tx均衡参数(Preset或细调系数),以优化上行端口的接收信号。
流程:上行端口根据接收信号质量,通过TS1报文向下行端口发送新的Tx参数请求。下行端口调整Tx参数后,上行端口重新评估,若信号质量达标(BER<1e-12),则进入下一阶段。
4. Phase 3:下行端口主导的Tx调优(细调)
作用:下行端口评估接收信号质量,请求上行端口调整Tx均衡参数,以优化下行端口的接收信号。
流程:角色反转,下行端口向上行端口发送Tx参数请求,上行端口调整Tx参数。下行端口重新评估,若信号质量达标(BER<1e-12),则均衡完成。
当均衡完成,信号从LTSSM状态机的Recovery.RcvrLock,Recovery.RcvrCfg,Recovery.Idel转向L0状态。
3. PCIe Gen3(8GT/s)链路均衡时序
PCI-SIG 官方标准时序:DSP 下行端口 ↔ USP 上行端口四阶段 EQ 交互流程,基于 TS1/TS2 有序集协商均衡参数。
初始:2.5GT/s(Gen1)协商,DSP 下发 TS2 传递 8GT/s 初始 Preset → 切换至 8GT/s 进入均衡
- Phase0:DSP 发送 EQ TS2 有序集,下发 Tx 初始 Preset 预设值给 USP;链路切换 8GT/s
- Phase1:双向持续交互 TS1 有序集(EC 字段标记均衡阶段,C 为 Preset 参数),每 32 个 TS1 插入 EIEOS,完成基础同步粗调
- Phase2:USP 评估接收质量,通过 TS1 请求调整 DSP 发送 Preset / 系数,优化 USP 侧接收眼图
- Phase3:DSP 评估接收质量,通过 TS1 请求调整 USP 发送 Preset / 系数,优化 DSP 侧接收眼图
- 均衡完成:TS2+IDL 有序集交互,LTSSM 依次走完 Recovery 子状态,最终进入 L0 高速业务传输
4. PCIe Preset值
适用:PCIe Gen3 / Gen4(8GT/s 及以上)
原理:采用三抽头 FIR 前馈均衡 FFE,PCI-SIG 协议预先定义 11 套固定系数组合,在链路均衡 LEQ 流程中,通过 TS1/TS2 有序集协商选用,用于补偿信道插入损耗、改善接收端眼图质量。
FFE 三抽头组成:Preshoot(预冲)、Main(主抽头)、De-emphasis(去加重)Tx Preset P0~P10 每一组都对应一套固定的抽头权重配置
1. Gen1&Gen2固定时代
- Gen 1: 仅提供固定的 -3.5 dB 去加重。
- Gen 2: 引入了 -6.0 dB 选项,以应对更长的走线损耗。此时不支持动态协商,通常在 BIOS 或硬件引脚中固定设置。
2. GEN3以上动态均衡与Preset时代
从 8 GT/s 开始,固定的去加重已无法满足需求,PCIe 引入了动态链路均衡(Dynamic Link Equalization)。
Presets (P0 - P10): 规范定义了 11 种预设组合
Preset 0:无去加重,适用于短距离传输。
Preset 3:中等去加重,适用于中等距离传输。
Preset 7:高去加重,适用于长距离传输。
Preset 4: 无去加重,无preshoot(0 dB)
Preset 8: 典型的中等均衡(-3.5 dB 去加重,3.5 dB preshoot)
协商过程: 链路初始化时,TX 和 RX 会进行“训练”(Training),RX 会要求 TX 切换不同的 Preset,直到找到误码率(BER)最低的配置。
4. PCIe的Pre-shoot技术
核心定位:Pre-shoot(预冲 / 预激) + De-emphasis(去加重) = PCIe 发送端均衡(TX EQ)
二者都属于3-tap FIR 发送滤波器:
Pre-shoot:Pre-cursor(前标抽头) → 跳变当前 bit做幅值增强(跳变那一刻补偿)
De-emphasis:Post-cursor(后标抽头) → 跳变之后连续 bit压低幅值(跳变之后补偿)
4.1. Pre-shoot 的工作原理(FIR 模型)
8.0 GT/s(PCIe Gen3)开始,TX 不再只用简单去加重 Preset,改为基于系数(Coefficient-based)的 3 抽头 FIR 前馈均衡 FFE,支持细粒度调整 Pre-shoot(c₋₁,pre-cursor)与 De-emphasis(c₊₁,post-cursor),用于链路训练阶段动态协商最优均衡参数。
- c-1(Pre-cursor):后一个bit跳变对前一个bit的影响的加权,对应 Pre-shoot。
- c0(Main-cursor):当前bit对自己的影响的加权,对应主信号。
- c+1(Post-cursor):前一个bit跳变对后一个bit的影响的加权,对应 De-emphasis。
Pre-shoot 的计算公式:
在规范中,Pre-shoot 通常定义为跳变位(Transition bit)的幅值与紧邻其之前的非跳变位(Non-transition bit)幅值的比值:
Pre-shoot (dB) = 20 log10(Vc/Vb)
4.2. PCIe Gen3 TX FFE 3 抽头
4 种输出电平(差分四电平),规范约束
- C-1≤0,C+1≤0(零或负数)
- 单位条件:-C-1+C0-C+1=1
|C-1|=-C-1,|C+1|=-C+1