2、高速收发器基础:PMA与PCS层结构、TX/RX通道组成、参考时钟架构与PLL配置

Agilex 高速收发器(Transceiver)是 PCIe Gen5/6、Ethernet 400G/800G 等高速协议的物理层基石。理解其内部 PMA(物理介质适配层)与 PCS(物理编码子层)的分工、TX/RX 通道的模拟与数字处理路径、参考时钟树以及 PLL 配置策略,是进行高速接口联合调试的前提。本章将拆解这些核心模块,并给出工程配置要点。

2.1 PMA 与 PCS 层结构

Agilex 收发器采用经典的 PMA + PCS 两层架构,分别处理模拟前端与数字编码逻辑。下表总结了二者的核心分工:

层级全称主要功能关键子模块
PMAPhysical Media Attachment模拟信号处理、时钟恢复、串行/解串TX 串行器、RX 解串器、CDR、PLL、DCC
PCSPhysical Coding Sublayer数字编码/解码、通道绑定、速率协商8B/10B 或 64B/66B 编解码、SKP 插入/删除、弹性缓冲
工程要点: 在 PCIe 应用中,PCS 层负责处理 Ordered Set(如 SKP、TS1/TS2)的插入与对齐,而 PMA 层则保证串行链路的眼图质量与时钟抖动满足规范。调试时,PMA 的 CDR 锁定状态与 PCS 的通道对齐状态是两个关键观测点。
Agilex 收发器 PMA/PCS 分层架构 Agilex 收发器 PMA/PCS 分层架构 PCS 层(数字域) 8B/10B 或 64B/66B 编解码 | 弹性缓冲 | 通道绑定 | SKP 插入/删除 速率协商 | 加扰/解扰 | 误码率(BER)监测 接口:PCS-PMA 总线(通常为 20/40/80 bit 并行数据) PMA 层(模拟域) TX 串行器(Serializer) | RX 解串器(Deserializer) CDR(时钟数据恢复) | 模拟 PLL | 预加重/均衡 接口:高速串行差分对(TXp/TXn, RXp/RXn) 物理介质(PCB 走线 / 连接器 / 光模块)

2.2 TX/RX 通道组成

每个收发器通道(Channel)包含独立的 TX 和 RX 路径。理解每条路径上的处理单元,有助于在调试时快速定位信号劣化或链路训练失败的原因。

TX 通道路径

  1. PCS 发送 FIFO:跨时钟域同步,将 FPGA 逻辑时钟域的数据同步到收发器时钟域。
  2. 字节串行器:将并行数据(如 32/40/64 bit)转换为串行比特流。
  3. 预加重 / 去加重:补偿高频损耗,提升眼图质量。PCIe Gen3+ 要求支持 3-tap 去加重。
  4. TX PLL:产生高速串行时钟,通常由 LC 振荡器或环形振荡器实现。
  5. 差分驱动器:输出符合协议规范的差分电压摆幅(如 PCIe 要求 800~1200 mVpp)。

RX 通道路径

  1. 差分接收器:接收来自 PCB 的微弱差分信号,通常带有 CTLE(连续时间线性均衡)。
  2. CDR(时钟数据恢复):从数据流中提取时钟,并调整采样相位。CDR 锁定是链路建立的第一步。
  3. 解串器:将串行比特流转换为并行数据。
  4. DFE(判决反馈均衡):消除码间串扰(ISI),PCIe Gen4/5 必须启用 DFE。
  5. PCS 接收 FIFO:弹性缓冲,补偿 TX/RX 时钟频率偏差,处理 SKP 符号。
调试提示: 当链路训练卡在 Polling.Configured 或 Recovery 状态时,优先检查 RX 侧的 CDR 锁定指示(rx_is_lockedtoref 和 rx_is_lockedtodata)。若 CDR 无法锁定,通常意味着信号质量或参考时钟有问题。
TX/RX 通道内部处理路径 TX/RX 通道内部处理路径 TX 路径 PCS TX FIFO 字节串行器 预加重 TX PLL 驱动 跨时钟域同步 并行→串行 3-tap 去加重 LC PLL 差分输出 RX 路径 接收 CTLE 均衡 CDR 恢复 解串器 DFE 均衡 差分输入 连续时间均衡 时钟数据恢复 串行→并行 判决反馈均衡

2.3 参考时钟架构与 PLL 配置

参考时钟是收发器工作的“心跳”。Agilex 收发器支持多种参考时钟拓扑,包括专用差分时钟输入、全局时钟网络分发以及内部 PLL 级联。错误的时钟配置是导致链路训练失败或误码率升高的常见原因。

参考时钟架构要点

  • 专用参考时钟引脚:每个收发器 bank 有独立的 REFCLK 差分输入对(如 REFCLK_GXB),建议优先使用,避免时钟抖动劣化。
  • 时钟分发网络:Agilex 内部有 ATX PLL(Advanced Transmit PLL)和 fPLL(Fractional PLL)两种类型。ATX PLL 用于整数倍频率合成,抖动性能更优;fPLL 支持分数分频,适用于非标准速率。
  • PLL 级联:当需要极低抖动或特殊频率时,可将 fPLL 的输出作为 ATX PLL 的参考,形成级联结构。

PLL 配置关键参数

参数说明PCIe Gen4 典型值
参考时钟频率输入到 PLL 的基准频率100 MHz(差分)
VCO 频率PLL 内部压控振荡器频率8.0 ~ 12.5 GHz
数据速率串行链路比特率16.0 Gbps
PLL 倍频因子VCO 频率 / 参考时钟频率80 ~ 125
环路带宽PLL 锁定带宽,影响抖动传递典型 1~5 MHz
常见配置陷阱:
  • 参考时钟抖动超过规范(PCIe Gen4 要求 REFCLK 抖动 < 0.5 ps RMS),会导致 CDR 无法锁定或误码率升高。
  • PLL 倍频因子设置过大(超过 VCO 范围),PLL 无法锁定,需检查 pll_locked 信号。
  • 多个收发器通道共享同一 PLL 时,需确保所有通道的数据速率一致,否则需使用独立 PLL。

PLL 配置步骤(基于 Agilex 开发套件)

  1. 在 Quartus Prime 中打开 Transceiver Toolkit,选择目标收发器 bank。
  2. 设置参考时钟源:选择专用 REFCLK 引脚或内部时钟网络。
  3. 配置 PLL 类型:PCIe 应用优先选择 ATX PLL,若需要分数分频则选 fPLL。
  4. 输入目标数据速率(如 16.0 Gbps),工具自动计算 VCO 频率和倍频因子。
  5. 检查 PLL 锁定状态:上电后读取 pll_locked 寄存器,确认锁定后再启动 TX/RX 通道。
  6. 使用 Eye Viewer 或 BER Test 验证实际链路质量。
联合调试技巧: 在 PCIe 链路训练过程中,若发现 Training Sequence 1 (TS1) 无法被接收端正确识别,首先检查参考时钟是否稳定、PLL 是否锁定。使用 Signal Tap 或 Transceiver Toolkit 实时监测 rx_is_lockedtodata 和 rx_signaldetect 信号,可以快速区分是时钟问题还是信号质量问题。