SerDes核心架构:发送端与接收端深度解析

各位工程师朋友,今天我们来聊聊SerDes的核心架构。说实话,很多初学者一看到SerDes就头大,觉得这东西太复杂。其实你把它拆开看,无非就是发送端和接收端两大部分。我在项目中调试过不下十种SerDes IP,今天就把这些经验分享给你。

发送端架构:PISO与Serializer

发送端的核心任务,说白了就是把并行数据转成串行数据,然后高速发出去。这个过程中有两个关键模块:PISO和Serializer。

PISO(并行输入串行输出)

PISO是发送端的第一道关卡。它接收来自FPGA逻辑的并行数据,然后按位串行输出。我习惯把PISO看作一个「数据漏斗」——宽口进,窄口出。

关键参数:

  • 并行宽度:通常为8、10、16、20位
  • 串行速率:取决于参考时钟和倍频因子
  • 数据对齐:需要与位时钟严格同步

嗯,这里要注意一个坑。PISO的并行数据必须与参考时钟对齐,否则会出现数据错位。我曾经在一个项目中,因为PISO的并行数据没有做跨时钟域处理,导致数据时不时就乱掉。排查了整整两天才发现问题。

Serializer(串行器)

Serializer是PISO的升级版。它不仅要完成并串转换,还要处理编码、加扰等任务。我个人习惯把Serializer分成三个子模块:

  1. 编码器:8B/10B或64B/66B编码
  2. 加扰器:降低EMI和DC平衡
  3. 输出驱动器:提供差分信号驱动能力

你想想看,Serializer的工作频率有多高?以10Gbps为例,串行时钟就是10GHz。这个频率下,任何一点信号完整性问题都会被放大。所以布局布线时,Serializer的输出路径一定要短,差分对要等长。

实战技巧:

我在调试12Gbps SerDes时发现,Serializer的预加重设置非常关键。预加重不足会导致眼图闭合,预加重过度又会引入过冲。建议从默认值开始,逐步调整,观察眼图变化。

接收端架构:SIPO与Deserializer

接收端的工作正好反过来——把高速串行数据转回并行数据。这个过程比发送端更复杂,因为接收端需要从数据中恢复时钟。

SIPO(串行输入并行输出)

SIPO是接收端的核心。它接收串行数据流,按位采样后并行输出。这里有个关键问题:采样时钟从哪里来?

答案是从数据中恢复。接收端没有独立的时钟源,必须依靠CDR从数据边沿提取时钟。这就是为什么SIPO必须和CDR紧密配合。

Deserializer(解串器)

Deserializer除了完成串并转换,还要处理:

  • 数据对齐:找到数据的字边界
  • 解码:8B/10B或64B/66B解码
  • 解扰:恢复原始数据
  • 错误检测:检查数据完整性

注意事项:

Deserializer的对齐过程需要特定的训练序列。如果发送端和接收端的训练序列不匹配,数据永远无法对齐。我曾经遇到过接收端误码率居高不下,最后发现是训练序列的极性设置反了。

时钟数据恢复(CDR)原理

CDR是SerDes中最精妙的部分。它要从数据流中提取时钟,同时用这个时钟去采样数据。这听起来像是个「先有鸡还是先有蛋」的问题,对吧?

实际上,CDR通过反馈环路来解决这个问题。典型的CDR架构包含三个部分:

模块 功能 关键指标
鉴相器(PD) 比较数据边沿与本地时钟的相位差 鉴相增益、死区
环路滤波器(LF) 滤除高频噪声,控制环路带宽 带宽、阻尼系数
压控振荡器(VCO) 根据控制电压调整输出频率 调谐范围、相位噪声

CDR的工作过程是这样的:

  1. 鉴相器检测数据边沿与时钟的相位差
  2. 环路滤波器平滑这个差值
  3. VCO根据滤波后的信号调整频率
  4. 新的时钟再去采样数据

这个环路不断迭代,最终锁定在数据频率上。我个人习惯把CDR的锁定过程分为三个阶段:频率捕获、相位捕获、锁定跟踪。

CDR设计要点:

  • 环路带宽要适中:太宽会引入噪声,太窄锁定慢
  • VCO的调谐范围要覆盖数据速率偏差
  • 鉴相器要有足够的增益,减少静态相位误差

为什么CDR这么重要?因为高速信号在传输过程中,时钟和数据的相位关系会不断变化。温度变化、电源噪声、码型效应都会导致相位漂移。CDR就是用来跟踪这些变化的。

我记得有一次调试28Gbps SerDes,眼图看起来很好,但误码率就是降不下来。后来发现是CDR的环路带宽设置太窄,跟不上数据中的抖动。把带宽调宽后,误码率立刻降了几个数量级。

知识体系总览

下面这张图展示了SerDes核心架构的整体逻辑:

SerDes核心架构 发送端(TX) PISO Serializer 并行数据 → 串行数据 编码 + 加扰 + 预加重 高速串行 接收端(RX) CDR SIPO 串行数据 → 并行数据 时钟恢复 + 解码 + 解扰 CDR内部结构 鉴相器(PD) 环路滤波器(LF) VCO 反馈控制

这张图把发送端、接收端和CDR的关系展示得很清楚。发送端把并行数据串行化,经过传输介质后,接收端用CDR恢复时钟,再通过SIPO还原成并行数据。整个链路环环相扣,任何一个环节出问题都会影响整体性能。

调试建议:

调试SerDes时,我习惯先确认CDR是否锁定。如果CDR没锁定,后面的数据全是错的。锁定指示信号是第一个要看的。然后看眼图,最后看误码率。这个顺序能帮你快速定位问题。

好了,关于SerDes的核心架构就聊到这里。发送端的PISO和Serializer负责数据转换,接收端的CDR和SIPO负责时钟恢复和数据还原。理解这些基础,你就能应对大部分SerDes应用场景了。

可可精品资料库