3. SerDes技术概述:深入理解串行器/解串器的工作原理与架构
在FPGA高速接口设计领域,SerDes(Serializer/Deserializer,串行器/解串器)是支撑PCIe、Gigabit Ethernet、JESD204B、SRIO、CPRI等主流高速协议的核心物理层技术。与传统的并行总线(如LVDS、TTL并行接口)相比,SerDes通过将多路并行数据转换为高速串行比特流进行传输,从根本上解决了并行接口在速率、功耗、引脚数和信号完整性方面的瓶颈。本章将系统拆解SerDes的工作原理、PCS/PMA分层架构、核心功能模块,并通过与传统并行接口的量化对比,帮助读者建立完整的工程认知框架。
上图展示了SerDes的完整信号链路:发送侧PCS完成编码与协议适配,PMA负责将并行数据高速串行化并驱动到信道;接收侧PMA通过均衡与时钟恢复还原数据,PCS再完成解码与协议恢复。整个链路中,参考时钟、控制接口和均衡策略共同决定了链路的稳定性和误码率性能。下面我们将从核心原理、架构分层、功能模块和对比分析四个维度展开。
3.1 核心原理:为什么需要SerDes?
SerDes的本质是“以时间换空间”——用更高的时钟频率换取更少的物理引脚。传统并行接口(如32位数据总线)在源同步时钟下,每一位都需要独立的信号线,且需要严格的等长布线来保证数据与时钟的时序关系。当速率超过几百Mbps时,并行接口面临三大物理瓶颈:信号偏移(Skew)导致数据采样窗口缩小、串扰(Crosstalk)随频率急剧恶化、功耗与引脚数成正比增长。
SerDes将并行数据在发送端串行化为单个差分对(或少量通道),在接收端再恢复为并行数据。其核心优势在于:
- 引脚数大幅减少:例如32位并行总线需要33根线(含时钟),而SerDes仅需1对差分线(2根)即可承载相同吞吐量。
- 消除Skew问题:串行数据流中,时钟信息嵌入在数据中,接收端通过CDR(时钟数据恢复)提取时钟,无需独立的时钟线。
- 抗干扰能力增强:差分信号对共模噪声有天然抑制能力,且通过预加重/均衡技术可补偿信道损耗。
- 速率扩展性好:从1Gbps到112Gbps,SerDes架构保持基本一致,仅需升级均衡算法和工艺节点。
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的极限速率和误码率。
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:
- 发送端预加重(TX Pre-emphasis):在发送端对高频分量进行额外放大,或对低频分量进行衰减。通常有2-3个抽头,可配置系数。
- 接收端CTLE:模拟线性均衡器,提供高频增益提升。典型增益范围6-12dB,可通过寄存器调节。
- 接收端DFE:非线性均衡器,通过反馈已判决的比特来消除后标(Post-cursor)ISI。DFE抽头数越多,补偿能力越强,但功耗和复杂度也增加。
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)阶段。
关键参数与排查过程:
- 检查参考时钟:AD9208要求提供100MHz低抖动参考时钟(<150fs RMS抖动)。使用频谱仪测量发现FPGA输出的REFCLK抖动为320fs,超出规格。更换为专用时钟芯片LMK04828后,抖动降至98fs。
- 检查SerDes速率配置:JESD204B链路速率为14.5Gbps,但FPGA的GTH硬核在-2速度等级下最高支持16.3Gbps。理论上满足要求,但需确认TX驱动摆幅和预加重设置。通过IBERT(集成误码率测试)工具扫描眼图,发现TX预加重系数为0时眼高仅180mV,调整为-3dB预加重后眼高提升至420mV。
- 检查接收端均衡:PCB走线长度约12英寸,插入损耗在7.25GHz(奈奎斯特频率)处约-8dB。IBERT扫描显示RX CTLE增益设为4dB时误码率最低(BER<1e-15),DFE抽头数设为2。
- 检查PCS配置:JESD204B要求使用8B/10B编码,且K字符(/K28.5/)用于CGS同步。确认FPGA侧PCS配置为“8B/10B + 通道绑定模式”,并启用了RX字节对齐。
结果对比:调整后,SYNC_N信号拉高,链路进入数据阶段,误码率从无法测量降至1e-18以下,眼图余量达到25% UI。
复盘经验:JESD204B链路调试必须遵循“时钟优先、均衡次之、编码最后”的顺序。很多工程师一上来就调均衡参数,却忽略了参考时钟抖动这一根本问题。此外,IBERT是SerDes调试的必备工具,它能在不依赖上层协议的情况下直接验证物理层性能。