3. SerDes技术概述:深入理解串行器/解串器的工作原理与架构

在FPGA高速接口设计领域,SerDes(Serializer/Deserializer,串行器/解串器)是支撑PCIe、Gigabit Ethernet、JESD204B、SRIO、CPRI等主流高速协议的核心物理层技术。与传统的并行总线(如LVDS、TTL并行接口)相比,SerDes通过将多路并行数据转换为高速串行比特流进行传输,从根本上解决了并行接口在速率、功耗、引脚数和信号完整性方面的瓶颈。本章将系统拆解SerDes的工作原理、PCS/PMA分层架构、核心功能模块,并通过与传统并行接口的量化对比,帮助读者建立完整的工程认知框架。

SerDes 核心架构与信号链路 发送侧 PCS • 并行数据总线 • 8B/10B 编码 • 加扰/解扰 • 通道绑定 • 弹性缓冲 • 测试模式生成 发送侧 PMA • 并串转换 • 时钟倍频 (PLL) • 预加重/去加重 • 差分驱动 • 阻抗匹配 TX 传输信道 PCB走线/电缆 损耗·串扰·反射 接收侧 PMA • 差分接收 • CTLE 均衡 • CDR 时钟恢复 • 串并转换 • DFE 判决反馈 RX 接收侧 PCS • 8B/10B 解码 • 字节对齐 • 通道去绑定 • 弹性缓冲 • 错误检测 • 并行数据总线 数据/时钟 并行数据 参考时钟 100MHz / 125MHz 低抖动 LVDS / LVPECL REFCLK 控制/状态接口 MDIO / I2C / 寄存器 均衡链路 TX预加重 RX CTLE + DFE PCS:物理编码子层 | PMA:物理介质接入子层 | CDR:时钟数据恢复 | CTLE:连续时间线性均衡 | DFE:判决反馈均衡

上图展示了SerDes的完整信号链路:发送侧PCS完成编码与协议适配,PMA负责将并行数据高速串行化并驱动到信道;接收侧PMA通过均衡与时钟恢复还原数据,PCS再完成解码与协议恢复。整个链路中,参考时钟、控制接口和均衡策略共同决定了链路的稳定性和误码率性能。下面我们将从核心原理、架构分层、功能模块和对比分析四个维度展开。

3.1 核心原理:为什么需要SerDes?

SerDes的本质是“以时间换空间”——用更高的时钟频率换取更少的物理引脚。传统并行接口(如32位数据总线)在源同步时钟下,每一位都需要独立的信号线,且需要严格的等长布线来保证数据与时钟的时序关系。当速率超过几百Mbps时,并行接口面临三大物理瓶颈:信号偏移(Skew)导致数据采样窗口缩小、串扰(Crosstalk)随频率急剧恶化、功耗与引脚数成正比增长。

SerDes将并行数据在发送端串行化为单个差分对(或少量通道),在接收端再恢复为并行数据。其核心优势在于:

  • 引脚数大幅减少:例如32位并行总线需要33根线(含时钟),而SerDes仅需1对差分线(2根)即可承载相同吞吐量。
  • 消除Skew问题:串行数据流中,时钟信息嵌入在数据中,接收端通过CDR(时钟数据恢复)提取时钟,无需独立的时钟线。
  • 抗干扰能力增强:差分信号对共模噪声有天然抑制能力,且通过预加重/均衡技术可补偿信道损耗。
  • 速率扩展性好:从1Gbps到112Gbps,SerDes架构保持基本一致,仅需升级均衡算法和工艺节点。
工程经验:在FPGA选型时,判断SerDes能力不能只看“标称速率”,还要关注CDR抖动容限、均衡器抽头数、参考时钟抖动要求以及PCS支持的协议模式(如PCIe Gen3/Gen4、10G KR等)。例如,Xilinx UltraScale+ GTH支持16.3Gbps,但实际在背板信道插入损耗超过20dB时,需要开启DFE并调整CTLE增益,否则误码率会急剧上升。

3.2 架构组成:PCS与PMA的分层设计

SerDes的架构通常分为两个子层:PCS(Physical Coding Sublayer,物理编码子层)和PMA(Physical Medium Attachment,物理介质接入子层)。这种分层设计借鉴了OSI模型思想,使得协议适配与模拟电路解耦,便于FPGA厂商提供灵活配置。

子层 主要功能 实现方式 典型模块
PCS 数字域处理:编码、对齐、通道绑定、缓冲 FPGA可编程逻辑(LUT/BRAM) 8B/10B编解码、加扰/解扰、弹性缓冲、字节对齐、通道绑定
PMA 模拟域处理:串并转换、时钟、均衡、驱动 专用硬核电路(ASIC) PLL、CDR、TX驱动器、RX均衡器(CTLE/DFE)、并串转换器

PCS层负责将上层协议数据(如MAC帧、PCIe TLP)转换为适合物理传输的编码格式。以8B/10B编码为例,它将8位数据映射为10位码字,保证直流平衡(DC Balance)和足够的跳变密度,便于接收端CDR恢复时钟。PCS还包含弹性缓冲(Elastic Buffer),用于补偿收发两端时钟频率的微小偏差(ppm级漂移)。

PMA层是真正的模拟电路核心。发送侧PMA包含高速PLL(锁相环)将参考时钟倍频到比特率,并驱动差分输出;接收侧PMA包含高灵敏度接收器、CTLE(连续时间线性均衡器)和DFE(判决反馈均衡器)来补偿信道损耗,以及CDR电路从数据流中恢复时钟。PMA的性能直接决定了SerDes的极限速率和误码率。

设计要点:在FPGA中,PCS通常可以部分重配置(如选择8B/10B或64B/66B编码),而PMA是固定硬核。因此,协议选择必须匹配PMA的速率等级。例如,JESD204B要求SerDes支持8B/10B编码,而10G Ethernet需要64B/66B编码,两者对PCS资源的需求差异很大。

3.3 主要功能模块:编码、均衡与时钟恢复

SerDes的三大核心功能是串并转换、线路编码和信道均衡。其中,串并转换是基础,编码和均衡是保证高速传输可靠性的关键。

3.3.1 线路编码:8B/10B与64B/66B

线路编码的目的是保证接收端能可靠恢复数据和时钟。8B/10B编码将8位数据映射为10位码字,具有以下特性:

  • 直流平衡:每个码字中“0”和“1”的数量差不超过2,避免信号基线漂移。
  • 最大连续相同位(Run Length)不超过5:保证CDR有足够的跳变沿进行相位比较。
  • 特殊控制字符(K码):用于字节对齐、通道绑定和协议状态机。

64B/66B编码则更高效,开销仅3.125%(2位同步头+64位数据),但需要更复杂的加扰机制来保证DC平衡。PCIe Gen3及以上、10G Ethernet均采用64B/66B编码。

3.3.2 信道均衡:预加重、CTLE与DFE

高速信号在PCB走线或电缆中传输时,由于趋肤效应和介质损耗,高频分量衰减远大于低频分量,导致码间干扰(ISI)。均衡技术通过补偿信道频率响应来消除ISI:

  1. 发送端预加重(TX Pre-emphasis):在发送端对高频分量进行额外放大,或对低频分量进行衰减。通常有2-3个抽头,可配置系数。
  2. 接收端CTLE:模拟线性均衡器,提供高频增益提升。典型增益范围6-12dB,可通过寄存器调节。
  3. 接收端DFE:非线性均衡器,通过反馈已判决的比特来消除后标(Post-cursor)ISI。DFE抽头数越多,补偿能力越强,但功耗和复杂度也增加。
常见误区:很多工程师误以为“预加重越大越好”。实际上,过大的预加重会放大高频噪声,且与接收端CTLE/DFE的配合不当会导致信号过冲。正确做法是根据信道S参数仿真或实际眼图测量来逐项调整TX EQ、CTLE和DFE参数。例如,在10G KR背板场景,通常先固定CTLE为中等增益,再调整DFE抽头,最后微调TX预加重。

3.3.3 时钟数据恢复(CDR)

CDR是接收端最关键的模拟模块。它从串行数据流中提取时钟信号,并用于数据采样。CDR有两种主要架构:锁相环型(PLL-based)和过采样型(Oversampling)。现代高速SerDes普遍采用PLL型CDR,其环路带宽决定了抖动跟踪能力和噪声抑制能力。环路带宽越窄,对输入抖动的抑制越好,但跟踪能力越差;反之亦然。FPGA中通常提供CDR环路带宽的寄存器配置,以适应不同应用场景(如同步网络需要窄带,突发模式需要宽带)。

3.4 与传统并行接口的对比:量化分析与选型

为了更直观地理解SerDes的优势,我们以FPGA中常见的并行LVDS接口与SerDes进行对比。假设需要实现10Gbps吞吐量:

对比维度 并行LVDS接口 SerDes接口
数据线数量 16对差分线(16位 @ 625Mbps DDR) 1对差分线(10.3125Gbps)
时钟线 1对差分时钟(源同步) 无需独立时钟(CDR恢复)
PCB布线要求 严格等长(±5mil),层间偏移控制 差分阻抗控制(100Ω±10%),长度匹配宽松
功耗(典型) 约1.5W(16对LVDS驱动) 约0.8W(含均衡和CDR)
抗串扰能力 较差,需加大线间距 差分+均衡,抗扰能力强
协议支持 仅原始数据 支持PCIe、Ethernet、JESD204B等
FPGA资源占用 需要大量IO Bank和逻辑资源 使用专用硬核,逻辑资源占用少

从表中可以看出,SerDes在引脚数、功耗、抗干扰和协议支持方面全面优于并行接口。但并行接口并非没有优势:低延迟(无需编码和CDR)、实现简单(无需PCS配置)、适合短距离板内互联(如ADC/DAC数据采集)。因此,选型原则是:速率超过1Gbps或需要长距离传输时优先选择SerDes;速率低于1Gbps且对延迟敏感时,并行LVDS可能更合适。

3.5 案例拆解:基于JESD204B的ADC数据采集链路调试

我们以一个实际项目为例:某雷达信号处理系统使用ADI的AD9208(2.6GSPS ADC)通过JESD204B接口连接Xilinx Kintex UltraScale FPGA。系统要求实现4通道、14位、2.6GSPS的数据采集,总数据率约14.5Gbps。

初始现象:链路建立失败,FPGA侧报出“SYNC_N”信号拉低,JESD204B IP核状态机卡在CGS(Code Group Synchronization)阶段。

关键参数与排查过程:

  1. 检查参考时钟:AD9208要求提供100MHz低抖动参考时钟(<150fs RMS抖动)。使用频谱仪测量发现FPGA输出的REFCLK抖动为320fs,超出规格。更换为专用时钟芯片LMK04828后,抖动降至98fs。
  2. 检查SerDes速率配置:JESD204B链路速率为14.5Gbps,但FPGA的GTH硬核在-2速度等级下最高支持16.3Gbps。理论上满足要求,但需确认TX驱动摆幅和预加重设置。通过IBERT(集成误码率测试)工具扫描眼图,发现TX预加重系数为0时眼高仅180mV,调整为-3dB预加重后眼高提升至420mV。
  3. 检查接收端均衡:PCB走线长度约12英寸,插入损耗在7.25GHz(奈奎斯特频率)处约-8dB。IBERT扫描显示RX CTLE增益设为4dB时误码率最低(BER<1e-15),DFE抽头数设为2。
  4. 检查PCS配置:JESD204B要求使用8B/10B编码,且K字符(/K28.5/)用于CGS同步。确认FPGA侧PCS配置为“8B/10B + 通道绑定模式”,并启用了RX字节对齐。

结果对比:调整后,SYNC_N信号拉高,链路进入数据阶段,误码率从无法测量降至1e-18以下,眼图余量达到25% UI。

复盘经验:JESD204B链路调试必须遵循“时钟优先、均衡次之、编码最后”的顺序。很多工程师一上来就调均衡参数,却忽略了参考时钟抖动这一根本问题。此外,IBERT是SerDes调试的必备工具,它能在不依赖上层协议的情况下直接验证物理层性能。

总结复盘:SerDes技术是现代高速接口的基石。理解其PCS/PMA分层架构、编码与均衡原理,以及与传统并行接口的适用边界,是FPGA高速设计的第一步。在实际项目中,建议遵循以下流程:① 根据协议选择SerDes速率等级 → ② 仿真信道S参数评估均衡需求 → ③ 使用IBERT验证物理层 → ④ 配置PCS协议模式 → ⑤ 系统级联调。每一步都需要量化指标(抖动、眼图、BER)支撑,避免“凭经验猜测”。