一、SerDes概述:从零开始认识这个“串行魔法”

大家好,我是你们的SerDes验证讲师。今天咱们聊聊SerDes——这个在高速接口领域绕不开的话题。

说实话,我第一次接触SerDes的时候,也被它“唬”住了。一堆专业术语:PCS、PMA、CDR、均衡器……感觉像天书。但干这行十几年后,我慢慢发现,SerDes其实没那么神秘。说白了,它就是一个“翻译官”——把并行的数据变成串行的,传出去,再变回来。

什么是SerDes?

SerDes是Serializer(串行器)和Deserializer(解串器)的合称。它的核心任务就两个:

  • 发送端:把多路并行数据(比如32位、64位)转换成1对差分信号串行发送
  • 接收端:把收到的串行信号还原成原始的并行数据

你想想看,如果没有SerDes,芯片之间传数据得用几十根甚至上百根线。有了它,两根线就够了。这就是它的价值——用更少的引脚,传更多的数据。

核心指标:SerDes的速率通常用Gbps(吉比特每秒)表示。比如10Gbps的SerDes,每秒能传100亿个比特。嗯,这个速度,够快吧?

SerDes的应用场景

SerDes几乎无处不在。我挑三个最典型的场景聊聊。

1. 数据中心

数据中心是SerDes的“主战场”。服务器之间、交换机之间、存储设备之间,全靠SerDes互联。我记得有一次调试一个100Gbps的链路,光信号完整性就折腾了两周。最后发现是PCB走线的一个过孔阻抗不连续导致的。嗯,这种坑,踩过一次就记住了。

  • 典型速率:25Gbps、56Gbps、112Gbps(PAM4调制)
  • 典型协议:以太网(10G/25G/100G/400G)、PCIe(Gen3/Gen4/Gen5)
  • 典型距离:几米到几十米(背板或铜缆)

2. 汽车

汽车上的SerDes,主要用于摄像头、雷达、显示屏这些高速数据传输。车载SerDes有个特殊要求——可靠性。车规级温度范围(-40°C到125°C),电磁干扰严重,还得过功能安全认证。

我曾经帮一个客户调试车载SerDes的EMI问题。他们用的SerDes速率是6Gbps,结果在某个频点辐射超标。后来我们在PCB上加了共模扼流圈,又调整了预加重参数,才勉强通过测试。说实话,车载SerDes的调试,比数据中心要“糙”得多——环境太恶劣了。

  • 典型速率:1Gbps~12Gbps
  • 典型协议:MIPI A-PHY、GMSL、FPD-Link
  • 典型距离:几米到十几米(同轴电缆或STP)

3. 5G基站

5G基站对SerDes的要求是低延迟和高带宽。前传(Fronthaul)接口通常用25Gbps SerDes,中传(Midhaul)和回传(Backhaul)则用到100Gbps甚至更高。

我记得有个项目,5G基站的SerDes链路在高温下老是丢包。排查下来,发现是CDR(时钟数据恢复)的锁定时间太长,导致链路频繁重训练。后来我们调整了CDR的环路带宽,问题就解决了。你看,SerDes的每个参数都可能成为瓶颈。

  • 典型速率:25Gbps、50Gbps、100Gbps
  • 典型协议:CPRI、eCPRI、O-RAN
  • 典型距离:几百米到几公里(光纤)

SerDes的基本架构:PCS层与PMA层

SerDes的架构,通常分为两层:PCS(物理编码子层)和PMA(物理介质接入子层)。这两层分工明确,各司其职。

PCS层:负责“编码”

PCS层的主要任务是对数据进行编码,确保传输的可靠性。常见的编码方式有:

  • 8B/10B编码:每8位数据编码成10位,保证DC平衡(直流平衡),提供足够的跳变沿用于时钟恢复。典型速率:1Gbps~10Gbps
  • 64B/66B编码:每64位数据编码成66位,效率更高。典型速率:10Gbps以上
  • 128B/130B编码:用于PCIe Gen3及以上,效率极高

我个人习惯把PCS层比作“翻译官”——它把原始数据翻译成适合在物理信道上传输的格式。比如8B/10B编码,它保证了不会出现连续的“0”或“1”,这样接收端的CDR才能正常工作。

避坑指南:我曾经遇到过一个案例,PCS层的编码方式选错了,导致链路误码率居高不下。后来发现是8B/10B编码的游程长度(Run Length)太长,CDR失锁了。所以,选编码方式时,一定要考虑你的信道特性。

PMA层:负责“传输”

PMA层是SerDes的“物理层”,负责信号的发送和接收。它包含以下关键模块:

  • 发送器(TX):包括串行器、预加重/去加重、驱动器
  • 接收器(RX):包括均衡器(CTLE、DFE)、CDR(时钟数据恢复)、解串器
  • 时钟管理:PLL(锁相环)产生高速时钟

说白了,PMA层就是干“脏活累活”的——它要对抗信道损耗、噪声、串扰、抖动……所有信号完整性的问题,都在这一层解决。

SerDes架构图(SVG)

下面这张图,是我自己画的SerDes基本架构。你一看就明白了。

SerDes基本架构(PCS层 + PMA层) 发送端 PCS 8B/10B编码 加扰 / 对齐 发送端 PMA 串行器 预加重 / 驱动器 信道 PCB / 线缆 接收端 PMA 均衡器 / CDR 解串器 接收端 PCS 8B/10B解码 去扰 / 对齐 并行数据 串行数据 差分信号 数据流向:并行 → 串行 → 传输 → 串行 → 并行

PCS与PMA的交互

PCS和PMA之间,通过一个标准接口连接。这个接口通常叫PCS-PMA接口,它定义了数据和控制信号的格式。

举个例子,在10Gbps的SerDes中,PCS层把64位数据编码成66位(64B/66B编码),然后通过PCS-PMA接口送给PMA层。PMA层再把这些数据串行化,加上预加重,发送出去。

反过来,接收端PMA层收到串行信号后,先做均衡和CDR,恢复出时钟和数据,然后解串成66位数据,再送给PCS层解码。

注意:PCS和PMA的接口时序非常关键。我曾经见过一个案例,PCS-PMA接口的时序裕量不足,导致数据采样错误。所以,验证时一定要检查这个接口的建立时间和保持时间。

小结

好了,这一章的内容就到这里。我们聊了SerDes是什么、它用在哪儿、以及它的基本架构。说白了,SerDes就是高速接口的“心脏”——没有它,数据中心、汽车、5G基站都跑不起来。

下一章,我们会深入PCS层的细节,聊聊8B/10B编码到底是怎么工作的。嗯,到时候我会分享一些我在项目中踩过的坑,保证让你少走弯路。

核心要点回顾:

  • SerDes = 串行器 + 解串器,用更少引脚传更多数据
  • 三大应用场景:数据中心、汽车、5G基站
  • 基本架构:PCS层(编码/解码)+ PMA层(串行/解串、均衡、CDR)
  • PCS-PMA接口是验证的关键点
可可精品资料库