1. SerDes技术概述:什么是SerDes?为什么需要SerDes?

各位工程师朋友,咱们今天聊聊SerDes。说实话,这玩意儿在高速设计里太常见了,但真正把它吃透的人并不多。

SerDes,全称是Serializer/Deserializer,中文叫串行器/解串器。说白了,就是把并行数据转成串行数据发出去,收回来再转回并行。你想想看,为什么非要绕这么一圈?

1.1 什么是SerDes?

SerDes的核心功能就两个:发送端把并行数据串行化接收端把串行数据并行化。举个例子,你有一组32位的数据总线,如果直接并行传输,需要32根数据线加上时钟线,板子上密密麻麻全是走线。用SerDes的话,只需要一对差分线就能搞定。

我个人习惯把SerDes理解成一个数据压缩器——它把宽而慢的并行总线,压缩成窄而快的串行链路。代价是什么?代价是接收端需要做时钟恢复、均衡、抖动容忍等一系列复杂处理。

核心要点:SerDes不是简单的串并转换,它背后涉及时钟数据恢复(CDR)、预加重/去加重、连续时间线性均衡(CTLE)、判决反馈均衡(DFE)等一系列高速模拟电路技术。

1.2 为什么需要SerDes?

这个问题我经常被问到。为什么放着好好的并行总线不用,非要搞串行?原因有三:

  1. 引脚数限制:芯片封装引脚是有限的,尤其是BGA封装,引脚间距越来越小。并行总线动辄几十上百根线,SerDes一对差分线就能搞定。
  2. 信号完整性:并行总线在高速下存在严重的串扰和时序问题。你想想看,32根线同时翻转,地弹噪声能把人逼疯。SerDes的差分信号天生抗共模干扰。
  3. 传输距离:并行总线通常只能走几厘米到几十厘米,SerDes可以走几米甚至几十米(通过重定时器或光模块)。

我记得有一次做项目,客户要求把一块FPGA和一块ASIC之间的数据带宽做到100Gbps。如果用并行总线,至少需要128根数据线加时钟,板子根本布不开。最后用了4路25Gbps的SerDes,4对差分线搞定,板子清爽多了。

1.3 SerDes在数据中心与通信系统中的应用

SerDes的应用场景,说白了就是哪里需要高速数据传输,哪里就有SerDes。我列几个典型的:

应用场景 典型速率 说明
数据中心内部互联 25Gbps / 56Gbps / 112Gbps 服务器到交换机、交换机到交换机
光模块接口 10Gbps ~ 800Gbps QSFP、OSFP等光模块的电气接口
PCIe总线 2.5Gbps ~ 32Gbps (Gen5) CPU与GPU、NVMe SSD互联
以太网PHY 1Gbps ~ 400Gbps 背板、铜缆、光纤多种介质
无线基站前传/回传 10Gbps ~ 100Gbps CPRI/eCPRI接口

在数据中心里,SerDes几乎无处不在。你用的每一台服务器,里面的CPU、GPU、网卡、SSD,它们之间通信全靠SerDes。我做过一个数据中心交换机的项目,单颗芯片集成了128个56Gbps SerDes,总带宽超过7Tbps。这种规模下,SerDes的功耗和面积优化就成了关键。

避坑指南:我曾经在项目里吃过亏——SerDes的功耗估算太乐观。实际工作时,SerDes的功耗跟速率、均衡器配置、温度都有关系。建议留出20%~30%的功耗余量,尤其是多通道同时工作的时候。

1.4 SerDes的核心技术挑战

SerDes设计难在哪?我总结了几点:

  • 时钟恢复:接收端要从数据流里提取时钟,这需要CDR环路有足够的带宽和抖动容忍能力。
  • 信道损耗补偿:PCB走线、连接器、电缆都会衰减高频信号。56Gbps的信号在FR4板材上走30cm,损耗可能超过30dB。怎么补偿?靠预加重、CTLE、DFE。
  • 串扰与噪声:高速信号之间的串扰、电源噪声、衬底噪声,都会影响误码率。
  • 功耗与散热:112Gbps SerDes的单通道功耗可能超过500mW,128个通道就是64W,散热是个大问题。

嗯,这里要注意:信道损耗是SerDes链路设计中最核心的约束。后面我们会花大量篇幅讲怎么建模、怎么补偿。

1.5 SerDes链路的基本架构

一个典型的SerDes链路包含以下模块:

发送端:
  ┌─────────┐    ┌──────────┐    ┌──────────┐
  │ 并行数据 │───>│ 串行器   │───>│ 驱动器   │───> 差分输出
  └─────────┘    └──────────┘    └──────────┘
                       │
                  ┌────┴────┐
                  │ 锁相环  │
                  └─────────┘

接收端:
  差分输入 ──> ┌──────────┐    ┌──────────┐    ┌─────────┐
               │ 均衡器   │───>│ CDR      │───>│ 解串器   │───> 并行数据
               └──────────┘    └──────────┘    └─────────┘
                    │               │
               ┌────┴────┐    ┌────┴────┐
               │ CTLE/DFE│    │ 时钟恢复│
               └─────────┘    └─────────┘

这个架构图看着简单,但每个模块背后都是复杂的模拟电路设计。比如CDR里的相位插值器、鉴相器,均衡器里的连续时间滤波器、自适应算法,都是难点。

警告:不要以为SerDes链路设计就是选个IP核完事。实际项目中,PCB走线、连接器选型、电源完整性、参考时钟质量,任何一个环节出问题,SerDes都可能无法正常工作。我曾经见过一个项目,SerDes IP本身没问题,但PCB走线阻抗不连续导致回波损耗超标,最后误码率怎么也降不下来。

1.6 本章小结

SerDes技术是高速数字设计的基石。从数据中心到通信系统,从芯片到板级,SerDes无处不在。理解SerDes的基本原理、核心挑战和链路架构,是后续深入学习的基础。

我个人建议,初学者可以先从信道损耗建模入手,因为这是SerDes链路设计中最具确定性的部分。后面的章节,我们会一步步深入。


公众号:蓝海资料掘金营,微信deep3321