2. CDR系统架构:三大主流方案对比

CDR的核心任务就一个——从乱糟糟的串行数据里把时钟“揪”出来,同时保证数据采样点对准眼图正中间。市面上主流的CDR架构就那么三种:PLL型、相位插值型、过采样型。我当年刚接触SerDes时,总觉得它们差不太多,直到项目里频频踩坑才明白——选错了架构,后面调试能多花两个月。

下面这张图是我自己整理的三类CDR的总览框图,咱们先看个全貌,再逐个拆开讲。

三种CDR架构总览 串行数据输入 PLL型CDR 鉴相器 → 环路滤波器 → VCO 反馈结构,模拟/数字混合 时钟恢复 + 数据再定时 相位插值型CDR 鉴相器 → 数字滤波器 → 插值器 多相时钟输入+相位选择 全数字环路 过采样型CDR 多相时钟 → 并行采样器 边缘检测 + 多数判决 无需反馈环路 恢复时钟 + 恢复数据 架构选择依据 速率、功耗、抖动容忍度 工艺节点、数字 vs 模拟 量产一致性、调试复杂度

2.1 PLL型CDR —— 经典的模拟/数模混合方案

PLL型CDR说白了就是一个锁相环,只不过鉴相器换成了能同时检测相位和数据的类型。结构上它包含鉴相器(PD)、环路滤波器(LF)和压控振荡器(VCO),环路的反馈机制让VCO输出时钟自动跟踪输入数据的跳变沿。

工作要点:鉴相器同时输出相位误差和数据的早期/晚期信息,经过滤波后控制VCO频率,最终锁定在数据平衡点。锁定时,VCO相位与数据边沿对齐,时钟上升沿正好采在数据眼图中央。

个人经验:我曾在10Gbps项目中用过纯模拟PLL型CDR,锁定速度很快,但VCO的相位噪声和电源敏感度让我吃了不少苦头。后来换成数字辅助的“半模拟”环路,调试起来就轻松多了。

PLL型CDR的优点很明显——环路等效为一个低通滤波器,对高频噪声有抑制,抖动容忍度好。缺点是VCO面积大,容易受工艺和温度影响,而且锁定时间较长。适合中低速率(<25Gbps)的串行链路,尤其是对抖动要求高的场景。

2.2 相位插值型CDR —— 全数字的灵活方案

相位插值型CDR是近年来高速SerDes(如PCIe、USB4)的最爱。它不直接控制VCO,而是用一个多相时钟发生器(比如DLL或PLL产生N相时钟),再通过数字控制的相位插值器(PI)在相邻相位之间“插”出所需相位。

工作流程一般是:

  1. 数据进入bang-bang鉴相器,产生超前/滞后标志。
  2. 数字环路滤波器累加误差,生成PI控制码。
  3. PI根据控制码在两个邻近时钟相位之间做线性或非线性插值,输出恢复时钟。
  4. 恢复时钟直接采样数据,同时反馈给鉴相器形成闭环。

小心死锁! PI型CDR的鉴相器通常只有1bit量化(bang-bang),环路本质上是非线性的。我曾经在64Gbps项目中碰到PI控制码在边界来回跳的问题,最后不得不加一个数字锁定检测器做防颤。

优点:全数字实现,可移植性好;锁定时间可控;面积小。缺点:PI的线性度直接决定抖动性能,高精度PI设计难度大;需要多相时钟源,功耗和噪声折衷。

2.3 过采样型CDR —— 无反馈的开环结构

过采样型CDR的思路很直白——用N倍于数据率的时钟把数据采多份,然后从采样结果里“猜”出数据的最佳判决点。它没有反馈环路,属于开环结构。

实现时通常需要一个多相时钟发生器(例如DLL产生N相时钟),每个相位驱动一个采样器,在同一个数据符号周期内得到N个样本。然后数字逻辑通过边缘检测(找跳变)和多数判决(取中间样本)输出恢复数据和时钟。

参数PLL型相位插值型过采样型
环路反馈是是否
锁定时间慢(μs级)中等(百ns级)极快(ns级)
抖动容忍度好中差(受采样精度限制)
面积/功耗大(VCO占大头)中小(但N倍采样器面积大)
典型速率<25Gbps25~112Gbps<10Gbps(或用于SERDES测试)

适用场景:过采样型CDR常用于低速接口(如SPI、USB 2.0)或测试设备中,不需要锁相环,启动即用。但在高速串行链路中,由于过采样倍数无法做高(功耗限制),实际很少用于主收端。

我早期做过一个6Gbps的接收器测试芯片,用了3倍过采样。那时候不懂事,觉得开环结构简单,结果发现采样器的亚稳态和时钟偏斜让数据恢复一塌糊涂。说白了,过采样型CDR的设计难点不在架构,而在模拟前端的一致性。