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,而真正的高速电路被封装在收发器硬核内部。
二、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 锁定、频偏 | 锁定稳定、频偏在容限内 |
掌握 SerDes 的信号链、CDR 的时钟恢复机制、均衡与预加重的互补关系,以及眼图的判读方法,是后续做 PCIe、以太网、JESD204B 等高速接口设计的基础。在 Quartus 中,Transceiver Toolkit 把这些抽象概念变成了可扫描、可观察、可记录的实验对象,建议在实验平台上亲手跑一遍参数扫描,建立对链路余量的直观感受。