SerDes硬件架构解析:发送端与接收端的关键模块

大家好,我是老李。做SerDes调试这么多年,我最大的感触就是——硬件架构这东西,光看框图没用,得真刀真枪调过才知道坑在哪。今天咱们就聊聊SerDes的发送端(TX)和接收端(RX),把PLL、CDR、CTLE、DFE这些核心模块掰开揉碎了讲。

说实话,很多工程师一上来就盯着眼图看,觉得眼图打开了就万事大吉。但我要告诉你,眼图只是表象,真正决定链路质量的,是底层这些模拟模块的配合。你想想看,信号从TX芯片出来,经过PCB走线、连接器、线缆,再到RX芯片,中间经历了多少损耗和噪声?没有这些模块撑着,数据早就面目全非了。

发送端(TX)架构:信号从这里出发

发送端说白了就是负责把并行数据转成串行,然后以高速差分信号打出去。我习惯把TX分成三个核心部分:

  • Serializer(并串转换器):把N位并行数据转成1位串行流。速率越高,这个模块越难做。
  • TX Driver(输出驱动器):产生差分信号,驱动外部传输线。电压摆幅、预加重都在这控制。
  • PLL(锁相环):提供精确的时钟,保证数据以正确的速率发送。

关键点:TX的预加重(Pre-emphasis)和去加重(De-emphasis)是补偿高频损耗的重要手段。我在项目中遇到过,预加重设得太大会引入过冲,太小又补偿不够。这个平衡点,得靠实际调试来找。

这里我画了一张TX内部的结构图,帮你理清数据流和时钟流的关系:

SerDes 发送端(TX)硬件架构 并行数据 N位 Serializer 并串转换 预加重 Pre-emphasis TX Driver 输出驱动器 TX+ TX- PLL 锁相环 提供高速时钟 时钟 参考时钟 控制接口 SPI/I2C 图例: 数据输入 数据处理 时钟模块 控制接口 数据流 时钟流

接收端(RX)架构:信号在这里重生

接收端比发送端复杂得多。信号经过传输线后,幅度衰减、相位偏移、码间干扰(ISI)全来了。RX的任务就是把这些「残废」的信号恢复成干净的数据。

RX的核心模块包括:

  • CTLE(连续时间线性均衡器):补偿信道的高频损耗,放大高频分量。
  • CDR(时钟数据恢复):从数据中提取时钟,并调整采样相位。
  • DFE(判决反馈均衡器):消除后标干扰(Post-cursor ISI)。
  • Deserializer(串并转换器):把恢复后的串行数据转回并行。

我的经验:调试RX时,我习惯先调CTLE,再调DFE。CTLE把眼图打开到一定程度后,DFE才能正常工作。顺序搞反了,你会陷入死循环。

PLL与CDR的工作原理

这两个模块都是时钟相关的,但分工完全不同。

PLL(锁相环):负责产生稳定的高频时钟。它把参考时钟倍频到所需的数据速率。PLL的核心指标是抖动(Jitter)和锁定时间。我在项目中遇到过,PLL的环路带宽设得太宽,虽然锁定快,但抖动大;设得太窄,抖动小了,锁定又慢。这个取舍,得看应用场景。

CDR(时钟数据恢复):从接收到的数据流中提取时钟。它不需要外部参考时钟,完全靠数据本身的跳变沿来恢复。CDR的难点在于——数据可能长时间没有跳变(比如连续传0或1),这时候CDR就会「漂移」。所以SerDes通常都会做编码(如8B/10B、64B/66B),保证数据有足够的跳变密度。

重要区别:PLL是「参考时钟→高频时钟」,CDR是「数据→时钟」。一个是开环产生,一个是闭环恢复。

均衡技术:CTLE与DFE

信号在传输线上走,高频分量衰减比低频严重得多。结果就是——原本方方正正的脉冲,变成了圆滚滚的「山丘」,而且前后还拖着小尾巴(ISI)。均衡技术就是用来消除这些影响的。

CTLE(连续时间线性均衡器)

CTLE本质上是一个高通滤波器。它放大高频分量,衰减低频分量。说白了,就是把信道吃掉的高频补回来。

CTLE的调节参数通常有:

参数 作用 调大效果 调小效果
DC增益 低频放大倍数 低频噪声放大 信号幅度不足
高频增益 高频补偿量 高频噪声放大 ISI补偿不足
零点频率 开始补偿的频率点 补偿起始点后移 补偿起始点前移

注意:CTLE不是万能的。它只能做线性均衡,对于非线性失真无能为力。而且CTLE会放大高频噪声,所以增益不能设得太大。我曾经在一个项目中,CTLE增益调得太高,结果眼图是打开了,但噪声也大了,误码率反而更高。

DFE(判决反馈均衡器)

DFE和CTLE不同,它是非线性的。DFE利用之前判决的比特来消除当前比特的后标干扰。原理很简单:如果前一个比特是1,它会在当前比特上留下一个尾巴,DFE就把这个尾巴减掉。

DFE的典型结构:

  • 抽头(Tap):每个抽头对应一个符号间隔的延迟。抽头越多,消除的ISI越多。
  • 系数(Coefficient):每个抽头的权重,决定消除多少干扰。
  • 自适应算法:自动调整系数,常用LMS(最小均方)算法。

DFE的抽头数通常从1到20不等。速率越高,信道越差,需要的抽头越多。我见过最夸张的,一个112Gbps的SerDes用了20个DFE抽头。

调试技巧:DFE系数不是越大越好。系数太大,会把噪声也放大。我一般先固定CTLE,然后逐个打开DFE抽头,观察误码率的变化。哪个抽头打开后误码率明显下降,就保留;没变化的,就关掉。

CTLE与DFE的配合

CTLE和DFE不是各自为战的。它们需要协同工作:

  1. CTLE先做线性补偿,把眼图打开到一定程度(通常要求眼高达到一定阈值)。
  2. DFE再处理CTLE没消除干净的后标干扰。
  3. 如果CTLE补偿过度,DFE会很难收敛。
  4. 如果CTLE补偿不足,DFE需要更多抽头,功耗和复杂度都上去了。

我个人的习惯是:先让CTLE把眼图打开到50%以上,再开DFE。这样DFE的负担小,收敛也快。

总结一下

SerDes的TX和RX,说白了就是一对「编码器-解码器」。TX负责把数据打包发出去,RX负责把数据解包收回来。中间的信道是最大的变数。PLL和CDR保证时钟同步,CTLE和DFE保证信号质量。

嗯,这些模块说起来简单,调起来全是坑。但只要你理解了每个模块的物理意义和调节方向,调试就有章可循了。

可可精品资料库