3. 高速收发器基础

当并行总线的速率推到 1 Gbps 以上,时钟偏斜、走线长度匹配和引脚数量会迅速成为瓶颈。高速收发器(Transceiver)用一条串行链路替代几十条并行线,把数据在发送端串行化、在接收端还原,这就是 SerDes(Serializer/Deserializer,串行器/解串器)。理解 SerDes 的关键,不是记住缩写,而是看清一条比特从 FPGA 内部出发、经过封装、PCB、连接器、线缆,再回到另一颗芯片内部时,究竟被哪些环节“损伤”,以及接收端用什么手段把它救回来。

一、SerDes 的基本结构

一个典型的收发器通道由发送路径(TX)和接收路径(RX)组成。TX 侧的核心是串行器:FPGA 内部以较低频率并行给出 20 bit 或 40 bit 数据,经 FIFO 跨时钟域后送入串行器,按位以高速时钟逐位输出。RX 侧则相反,先由均衡器补偿信道损耗,再由 CDR 恢复时钟并采样,最后经解串器还原为并行数据交给 FPGA 逻辑。

以一条 10.3125 Gbps 的链路为例,若内部并行位宽为 40 bit,则并行时钟为 10.3125 Gbps ÷ 40 ≈ 257.8 MHz。这个数字说明:SerDes 把“高频难做”的问题转化为“低频并行 + 高速串行”的分工,FPGA 逻辑只需工作在几百 MHz,而真正的高速电路被封装在收发器硬核内部。

SerDes 收发通道信号链 发送端 TX FPGA 并行数据 40 bit @ 257.8 MHz FIFO / 8B10B 编码 跨时钟域、直流平衡 串行器 Serializer 并串转换 预加重 / 去加重 补偿高频损耗 信道 Channel 封装 → PCB 走线 → 连接器 → 线缆 插入损耗、回波损耗、串扰、抖动 高频衰减 → 码间干扰 ISI 接收端 RX 连续时间线性均衡 CTLE 提升高频、抑制低频 判决反馈均衡 DFE 消除后游标 ISI CDR 时钟恢复 相位对齐、采样判决 解串器 + 解码 还原并行数据 发送端“预失真”补偿信道,接收端“再整形”恢复数据,CDR 从数据跳变中提取时钟

二、CDR:从数据里“长”出时钟

串行链路通常不单独传时钟,接收端必须自己恢复。CDR(Clock Data Recovery)的原理是:数据流中只要有 0→1 或 1→0 的跳变,就携带了相位信息。CDR 内部用一个压控振荡器产生采样时钟,鉴相器比较数据跳变沿与采样时钟沿的相位差,通过环路滤波器调整频率和相位,使采样点稳定落在每个比特的“眼睛”正中央。

这里有两个工程上必须关注的量。第一是抖动容限:输入数据沿本身有随机抖动(RJ)和确定性抖动(DJ),CDR 环路带宽太窄会跟不上低频抖动,太宽又会把高频抖动引入时钟。第二是频偏捕获范围,收发两端参考时钟若来自不同晶振,可能存在 ±100 ppm 甚至更大的频差,CDR 必须能“拉”住这个频差。在 Quartus 中,这些能力由收发器硬核的 CDR 模块保证,用户能调的主要是参考时钟选择和环路相关配置。

三、均衡与预加重:一对互补的“频率整形”

PCB 走线和线缆对高频分量的衰减远大于低频,结果是连续相同的比特保持幅度,而快速翻转的比特幅度被压低,形成码间干扰(ISI)。解决思路是在两端做互补的频率整形。

发送端的预加重(Pre-emphasis)在比特跳变时给出更大的幅度,在连续相同比特时降低幅度,相当于提前“预失真”,让信号经过信道衰减后仍保持较平坦的幅度。去加重(De-emphasis)是同一思想的另一种表述,通常以跳变幅度为基准、把非跳变位压低若干 dB。例如设置 3.5 dB 去加重,意味着非跳变位比跳变位低约 3.5 dB。

接收端的 CTLE 是一个高通特性的模拟均衡器,抬升高频、压低低频,补偿信道斜率;DFE 则利用已判决的前几个比特预测并减去它们对当前比特的拖尾影响,专门对付后游标 ISI。两者常配合使用:CTLE 做粗补偿,DFE 做精细消除。在 Quartus 的 Transceiver Toolkit 中,可以扫描 CTLE 和 DFE 的不同档位,观察误码率变化,找到最佳组合。

四、眼图:链路质量的“体检报告”

把接收到的串行波形按比特周期叠加,就得到眼图。眼图张开的高度反映噪声和幅度余量,宽度反映抖动和时序余量。眼高越大、眼宽越宽,判决越可靠。工程上常用三个指标:眼高(Eye Height)、眼宽(Eye Width)和误码率(BER)。一个可用的链路通常要求眼图在目标 BER(如 1e-12)下仍有足够张开度。

眼图闭合的典型原因包括:信道损耗过大、预加重/均衡设置不当、参考时钟抖动过大、阻抗不连续引起反射、串扰等。调试时可以先看眼图形态:如果眼图整体幅度低,优先查均衡和驱动强度;如果眼图左右不对称,查 CDR 相位和参考时钟;如果眼图上有明显“重影”,查阻抗匹配和连接器。

五、Quartus Transceiver Toolkit 初步使用

Transceiver Toolkit 是 Quartus 中用于在线调试收发器链路的工具。使用前需要先在工程中例化收发器 IP,并在 Pin Planner 中分配参考时钟和串行引脚,然后通过 JTAG 连接下载 SOF。打开 Toolkit 后,选择目标器件和通道,即可进行眼图扫描、误码率测试和均衡参数扫描。

一个典型的调试流程如下:先确认链路能建立(CDR 锁定、字对齐成功),再运行 PRBS 误码测试,观察初始 BER;若 BER 偏高,打开眼图扫描,查看眼高眼宽;然后调整 TX 预加重和 RX CTLE/DFE 档位,每改一次重新测 BER 和眼图,记录最佳组合。下面给出一个参数扫描记录表的示例,便于在实验中逐项对比。

扫描项 取值范围(示例) 观察指标 判断依据
TX 去加重 0 / 3.5 / 6 dB 眼高、BER 眼高最大且 BER 最低
RX CTLE 0~9 档 眼宽、BER 眼宽明显改善且无误锁
RX DFE 关 / 1~5 抽头 后游标、BER BER 下降且不引入新误码
参考时钟 不同频点/源 CDR 锁定、频偏 锁定稳定、频偏在容限内
眼图扫描和 BER 测试都需要时间,建议先用较短的 PRBS 图案(如 PRBS7)快速定位,再用 PRBS31 做最终验证。参数扫描时每次只改一个变量,否则无法判断是哪个参数起了作用。
Transceiver Toolkit 的在线调试依赖 JTAG 链路稳定。若扫描过程中出现通道失锁或工具无响应,先检查参考时钟是否正常、JTAG 线缆是否过长,再重新下载配置。不要在高误码率状态下长时间运行,以免误判为硬件损坏。

掌握 SerDes 的信号链、CDR 的时钟恢复机制、均衡与预加重的互补关系,以及眼图的判读方法,是后续做 PCIe、以太网、JESD204B 等高速接口设计的基础。在 Quartus 中,Transceiver Toolkit 把这些抽象概念变成了可扫描、可观察、可记录的实验对象,建议在实验平台上亲手跑一遍参数扫描,建立对链路余量的直观感受。