1、高速收发器概述:什么是SerDes、为什么需要高速收发器、FPGA中高速收发器的典型应用场景

各位同学,咱们今天聊聊高速收发器。说实话,这玩意儿是FPGA领域里最让人又爱又恨的东西。爱它,是因为它能让你把数据跑得飞快;恨它,是因为一旦出问题,查起来真是让人头大。我刚开始接触这个的时候,也踩过不少坑,今天就把我这些年积累的经验跟大家分享一下。

1.1 什么是SerDes?

SerDes,全称Serializer/Deserializer,说白了就是串化器和解串器。它的核心功能就两个:发送时把并行数据转成串行数据,接收时把串行数据转回并行数据。

为什么会需要这个?你想想看,传统的并行传输方式,数据线越多,干扰越大,而且时钟同步问题也越严重。我记得有一次做项目,用并行LVDS传数据,频率一上200MHz,信号质量就惨不忍睹。后来换成SerDes,同样的数据量,线少了一半,稳定性反而上去了。

核心概念:SerDes的本质是用高速串行通道替代并行总线,通过编码和时钟恢复技术,在更少的物理连线上实现更高的数据传输速率。

SerDes的基本架构其实不复杂,我画个图给大家看看:

SerDes基本架构图 并行数据输入 N位并行总线 Serializer 串化器 传输通道 差分对/光纤 Deserializer 解串器 并行数据输出 N位并行总线 时钟恢复(CDR) 从数据中提取时钟 图1:SerDes基本架构 — 并行→串行→传输→串行→并行

从图上你能看到,发送端先把并行数据喂给串化器,变成高速串行流,经过传输通道(可能是PCB走线、电缆或者光纤),到了接收端,解串器再把串行数据恢复成并行数据。这里有个关键点——接收端需要从数据流里把时钟恢复出来,这就是CDR(时钟数据恢复)干的事。

1.2 为什么需要高速收发器?

这个问题其实很实在。我直接说结论:传统并行接口的带宽瓶颈到了。

你想想看,传统的并行总线,比如LVDS,想要提高带宽,要么增加位宽,要么提高频率。但这两个方向都有天花板:

  • 增加位宽:PCB布线难度指数级上升,而且信号间串扰严重。我曾经做过一个32位并行总线,板子上密密麻麻全是线,调试的时候眼睛都看花了。
  • 提高频率:时钟偏斜(Clock Skew)问题越来越严重,数据有效窗口越来越小。频率一上300MHz,时序收敛就变得非常困难。

我的经验:在实际项目中,当单路数据速率超过1Gbps时,基本就别考虑并行方案了。直接上SerDes,省心省力。

高速收发器带来的好处是显而易见的:

对比项 传统并行接口 高速收发器(SerDes)
信号线数量 多(数据线+时钟线+控制线) 少(通常2-4根差分对)
最高速率 通常<1Gbps 可达10Gbps+甚至更高
抗干扰能力 一般(共模噪声敏感) 强(差分信号+编码)
PCB设计难度 高(等长、阻抗匹配要求严) 相对较低(差分对布线)
功耗 较高(多路驱动) 相对较低(每比特功耗小)

说白了,高速收发器就是用更少的物理资源,实现更高的数据传输效率。这在现代通信系统里,几乎是唯一的选择。

1.3 FPGA中高速收发器的典型应用场景

FPGA里的高速收发器,我这些年接触下来,主要用在这么几个地方:

1.3.1 高速数据采集与传输

这个场景我太熟了。之前做过一个雷达信号处理的项目,ADC采样率高达5Gbps,数据量巨大。如果用并行接口往FPGA里传,光数据线就得几十根。后来用了JESD204B协议,通过高速收发器,两根差分线就搞定了。

典型应用:ADC/DAC接口(JESD204B协议)、高速示波器、软件无线电(SDR)

1.3.2 网络通信

这个不用多说,以太网是高速收发器最经典的应用。从千兆以太网(1Gbps)到万兆以太网(10Gbps),再到现在的25G/100G以太网,FPGA里的高速收发器是核心硬件基础。

我记得有一次做网络加速卡,需要在FPGA里实现40G以太网。当时用的是Xilinx的GTH收发器,配合CMAC IP核,调试链路层的时候花了不少功夫。嗯,这里要注意,高速收发器的物理层配置一定要仔细,预加重、均衡参数调不好,链路就是起不来。

1.3.3 视频传输

视频领域也是高速收发器的大户。DisplayPort、HDMI、SDI这些接口,底层都是SerDes在干活。特别是4K/8K视频,动辄十几Gbps的带宽,没有高速收发器根本玩不转。

1.3.4 存储接口

SATA、PCIe、SAS这些存储接口,本质上也是高速串行总线。FPGA里做NVMe控制器、SSD主控,都离不开高速收发器。

1.3.5 背板互联

这个场景可能大家接触不多,但在通信设备里很常见。多个板卡通过背板互联,用高速收发器实现板间通信。常用的协议有Interlaken、Aurora等。

避坑指南:我曾经在背板互联项目里吃过亏。板卡间距超过30cm,用的又是FR4板材,高速信号衰减严重。后来加了预加重和CTLE均衡才解决问题。所以,长距离传输一定要考虑信号完整性,别指望收发器能自动搞定一切。

1.4 小结

这一章咱们聊了SerDes的基本概念、为什么需要高速收发器,以及FPGA里的典型应用场景。说白了,高速收发器就是现代数字系统的高速公路,没有它,很多高性能应用根本跑不起来。

我个人觉得,学习高速收发器,最重要的是理解它的物理层原理和协议栈架构。后面几章我们会深入进去,从PMA层、PCS层,到各种协议的具体实现,一步步把这块硬骨头啃下来。

记住一句话:高速收发器不难,难的是细节。每一个参数、每一个配置,都可能影响最终的性能。咱们慢慢来,不着急。

课后思考:你手头的项目里,有没有哪些接口可以用高速收发器来替代?试试看,说不定能省下不少PCB面积和调试时间。

可可精品资料库