第二讲:SerDes物理层原理——PMA子层、PCS子层与CDR机制

各位同学,今天我们来聊聊SerDes物理层的核心。说实话,很多工程师做了好几年数字设计,对SerDes的理解还停留在“黑盒子”阶段——数据进去,高速串行出来。但真正做项目时,你会发现这个黑盒子里的门道可不少。

我个人习惯把SerDes物理层拆成三块来看:PMA子层(负责模拟信号)、PCS子层(负责数字处理)、以及CDR(连接两者的桥梁)。咱们一个一个说。

一、PMA子层详解——模拟信号的“硬功夫”

PMA,全称Physical Media Attachment,物理介质连接子层。说白了,它就是SerDes的“物理肌肉”,负责处理真正的模拟电信号。

PMA的核心功能包括:

  • 发送端(TX): 将并行数字数据转换为高速串行差分信号
  • 接收端(RX): 将接收到的微弱差分信号放大、均衡,恢复出数字电平
  • 时钟生成: 利用PLL(锁相环)产生高速串行时钟

我在项目中遇到过一个问题:某次调试12.5Gbps的SerDes链路,眼图总是张不开。排查了半天,发现是PMA发送端的预加重(Pre-emphasis)参数没配好。你想想看,信号在PCB上跑,高频分量衰减得厉害,不加预加重,接收端根本认不出是0还是1。

PMA的关键技术指标:

  • 数据速率:从1Gbps到112Gbps不等
  • 差分电压摆幅:通常200mV~800mV
  • 抖动性能:RMS抖动通常要求<1ps
  • 均衡能力:CTLE+DFE组合,补偿信道损耗

二、PCS子层详解——数字域的“逻辑大脑”

PCS,Physical Coding Sublayer,物理编码子层。它负责在数字域对数据进行“包装”,让数据更适合在串行链路上传输。

PCS的主要任务:

  • 8B/10B或64B/66B编码: 保证DC平衡,提供足够的跳变沿
  • 通道绑定(Lane Bonding): 将多个SerDes通道合并成一个逻辑通道
  • 对齐标记插入: 用于接收端通道对齐
  • 扰码(Scrambling): 避免长串0或1导致CDR失锁

嗯,这里要注意。PCS的设计其实很考验对协议的理解。我记得有一次做PCIe Gen4的控制器,PCS层的对齐标记插入时机搞错了,导致接收端始终无法完成通道绑定。查了两天才发现是状态机跳转条件写反了。

个人经验: 调试PCS时,建议先用PRBS(伪随机码)模式验证编码器/解码器是否正确,再上真实数据。这样可以快速定位问题是出在PCS还是PMA。

三、时钟数据恢复(CDR)机制——SerDes的“心脏”

CDR,Clock Data Recovery,时钟数据恢复。它是SerDes接收端最核心的模块,没有之一。

为什么需要CDR?因为发送端和接收端没有独立的时钟线,接收端必须从数据流中“提取”出时钟信息。说白了,就是看着数据的跳变沿,猜出时钟应该在什么位置采样。

CDR的典型架构:

  • 相位检测器: 比较数据跳变沿与本地时钟的相位差
  • 环路滤波器: 滤除高频噪声,生成稳定的控制电压
  • 压控振荡器(VCO): 根据控制电压调整输出时钟频率

我曾经踩过一个坑:某次项目中使用的是Bang-Bang型CDR,这种CDR对数据跳变密度非常敏感。如果数据中连续出现5个相同的bit,CDR就可能开始“漂移”。后来我们在PCS层强制插入了扰码,确保数据跳变密度不低于20%,问题才解决。

避坑指南: 设计CDR时,一定要考虑“锁定时间”和“抖动容限”的平衡。锁定时间太短,容易误锁;锁定时间太长,系统启动慢。我曾经因为锁定时间设得太短,导致CDR锁到了谐波频率上,数据全错。

四、知识体系结构图

下面这张图是我自己整理的SerDes物理层知识结构,方便大家理解PMA、PCS和CDR之间的关系:

SerDes物理层知识体系 SerDes物理层 PMA子层 PCS子层 CDR机制 PMA核心功能 • 发送端:并行→串行转换 • 接收端:信号放大与均衡 • 时钟生成:PLL锁相环 • 预加重/去加重技术 PCS核心功能 • 8B/10B或64B/66B编码 • 通道绑定与对齐 • 扰码器/解扰器 • 链路初始化与训练 CDR核心机制 • 相位检测器 • 环路滤波器 • 压控振荡器(VCO) • 锁定检测与跟踪 关键技术指标 数据速率 抖动性能 均衡能力 功耗效率 误码率(BER)

五、PMA与PCS的交互流程

在实际设计中,PMA和PCS是紧密配合的。我画了一个典型的交互流程,大家感受一下:

步骤 PCS操作 PMA操作 CDR状态
1 发送训练序列 输出差分信号 未锁定
2 等待接收端响应 接收端开始均衡 尝试锁定
3 检测到对齐标记 信号稳定 锁定成功
4 开始数据编码传输 正常收发 跟踪状态

关键点总结:

  • PMA是“体力活”,负责模拟信号的收发和均衡
  • PCS是“脑力活”,负责数据的编码、对齐和链路管理
  • CDR是“心脏”,从数据中恢复时钟,保证采样正确
  • 三者缺一不可,任何一个环节出问题,链路就起不来

好了,这一讲的内容就到这里。SerDes物理层其实还有很多细节,比如不同协议(PCIe、Ethernet、SATA)对PMA/PCS的要求差异,这些我们后面会陆续讲到。大家先把今天这三个核心概念吃透,后面就好办了。

可可精品资料库