SerDes 系统概述:到底什么是 SerDes?

做硬件设计这么多年,我经常被刚入行的同事问一个问题:“SerDes 到底是个什么东西?” 说实话,我刚开始接触 SerDes 时,老实说也被绕晕过。又是并行又是串行,还有一堆 PLL、CDR 的术语。但说白了,SerDes 的使命就一句话:解决高速数据传输中,信号完整性与引脚数之间的矛盾。

SerDes 的核心作用

你想想看,传统的并行传输,比如早期的 PCI 或者 DDR 总线,数据位宽越宽,需要的 PCB 走线就越多。到了几十 Gbps 的速率,并行总线的信号偏移(Skew)问题会让你想砸示波器。我就在一个项目中遇到过,16 位并行总线跑到 1Gbps 以上,时序怎么也调不通,最后不得不改方案。

SerDes 的作用,就是用 一对差分线 代替原本的十几根甚至几十根并行线。它在发送端把并行数据转成高速串行流,到了接收端再还原回来。这样一来,PCB 布线难度大幅降低,而且差分信号的抗干扰能力远强于单端信号。

关键指标对比:并行 vs 串行

对比项 并行传输 串行传输 (SerDes)
引脚 / 走线数 多(8 / 16 / 32 根) 少(1~2 对差分线)
信号完整性 差(串扰、Skew 严重) 好(差分、内嵌时钟)
功耗 高(同时翻转多路) 较低(链路优化好)
可扩展性 差(速率提升难) 强(可到 112Gbps+)
成本(PCB 层数) 高 低

典型架构:从并行到串行再到并行

我个人习惯,把 SerDes 链路分为三个部分:发送端 (TX)、信道 (Channel)、接收端 (RX)。别小看这个划分,我当年踩过的坑,有一大半都出在“我以为信道没问题”这种想法上。

  • 发送端 (TX):负责把并行数据转成串行,并加上必要的编码。常用的是 8B/10B 编码或 64B/66B 编码,目的是保证 DC 平衡和足够的跳变沿。
  • 信道 (Channel):从 TX 引脚到 RX 引脚之间的物理路径。包括 PCB 走线、过孔、连接器、电缆等。这一段损耗有多大,直接影响 SerDes 能不能锁定。
  • 接收端 (RX):从串行流中恢复出时钟和数据(CDR),再转回并行数据。我这里要提醒一句:接收端的 CDR 电路,极度依赖于参考时钟的精度。这个后面会详细讲。

整个架构,我画了一张图帮你理解。嗯,这次画的版本我特意加了参考时钟的路径,因为它是整个链路的心脏。

SerDes 系统核心架构图 SerDes 系统核心架构图 发送端 (TX) 并行数据输入 PCS 编码 PMA 并串转换 参考时钟 信道 (Channel) PCB 走线 / 过孔 / 连接器 接收端 (RX) PMA 时钟数据恢复 PMA 并串转换 PCS 解码 参考时钟 并行数据输出

好,看到这张图,你可能会问:为什么发送端和接收端各有一个“参考时钟”?它们的作用一样吗?

提示: 发送端的参考时钟,决定了串行数据的比特率。接收端的参考时钟,则用于帮助 CDR 电路锁定频率。两者可以共用同一个时钟源,也可以独立,取决于系统设计。我个人建议,如果不是万不得已,尽量共用一个高精度参考时钟源,能省去很多抖动控制的麻烦。

参考时钟:链路上的“心脏”

说到参考时钟,我得讲讲它的核心地位。没有参考时钟,SerDes 等于“聋子加瞎子”。时钟决定了什么时候采样数据、什么时候发送数据。我把它的作用总结为三点:

  1. 频率基准:TX 的 PLL(锁相环)根据参考时钟产生高速串行时钟。参考时钟的 ppm 精度直接决定了输出频率准不准。
  2. 抖动源:参考时钟的相位噪声(Phase Noise)会直接“传染”给串行数据。我在调试一个 10Gbps 链路时,发现 BER 总在 1e-12 附近徘徊。换了更低相噪的晶振后,一下子就到了 1e-15。相信我,参考时钟上的 1ps 抖动,到了高速数据上会被放大到 3ps 以上。
  3. CDR 跟踪边界:接收端 RX 的 CDR 环路有一个频率锁定范围,如果参考时钟偏差过大,CDR 可能永远锁不上。我见过最夸张的一次,客户用的参考时钟公差达到 ±500ppm,结果链路完全不通。

注意!避坑指南

我曾经在一个项目中,因为图便宜选了普通的温补晶振 (TCXO) 而不是高稳晶振 (OCXO),导致系统在高温下误码率暴增。事后分析发现,TCXO 在 +85°C 时的频率漂移超出了 SerDes 芯片允许的 ±100ppm 范围。所以,选参考时钟时,一定要看 全温范围内的频率稳定度,而不是只盯着 25°C 的标称值。

总结一下

这一章,咱们把 SerDes 的定义、典型架构以及参考时钟的核心地位理清楚了。说白了,SerDes 就是用串行换并行,用差分保质量。而参考时钟,就是这条链路的“节拍器”。拍子乱了,整个乐队都得翻车。我个人认为,SerDes 设计的成败,一半取决于 PCB 布局,另一半就取决于参考时钟选型。后面咱们会花大量篇幅,专门聊怎么挑这个时钟。