第2章 CDR系统架构:三种主流方案的对决
大家好,我是你们的讲师。做CDR设计这几年,我最大的体会就是——没有完美的架构,只有最适合你的场景。今天咱们就把PLL-based、过采样、相位跟踪这三种架构,掰开揉碎聊一聊。我踩过的坑,你们就别再踩了。
2.1 为什么需要多种架构?
一句话:数据率越高,时钟恢复越难。10Gbps以下,PLL-based还能应付;到56Gbps甚至112Gbps,过采样和相位跟踪就得上场了。我曾经在25Gbps的项目里死磕PLL-based,结果眼图闭合得跟没吃饭似的…后来换成交替架构,问题迎刃而解。
三种架构的差异,说白了就是如何从数据边沿里“揪”出时钟。
- PLL-based:用锁相环跟踪数据边沿,输出一个干净的本地时钟。
- 过采样:用多相时钟猛采数据,再靠数字逻辑判断最佳采样点。
- 相位跟踪:不断微调采样时钟相位,让数据“站”在眼图中央。
嗯,别急,咱们一个个看。
2.2 PLL-based架构:经典但挑剔
这是最传统的方案。VCO输出一个高频时钟,通过分频和鉴相器与输入数据边沿做比较,环路滤波器平滑控制电压,最终锁定相位。我记得第一次流片回来,发现锁定时间长了点,结果协议层直接罢工…后来才知道,环路带宽必须和输入数据的抖动频率匹配。
适用场景:数据抖动较小、连续传输、单通道速率低于28Gbps。
个人建议:如果你的数据流是突发模式(比如PCIe L1态),PLL-based可能不是好选择——锁定时间太长。
讲一个避坑指南。我曾经在16Gbps项目里把环路带宽设小了,结果VCO的相位噪声全转成了数据抖动。那段时间天天看眼图怀疑人生…环路带宽一般在数据速率的1/100到1/1000之间,别太贪。
| 参数 | PLL-based | 过采样 | 相位跟踪 |
|---|---|---|---|
| 抖动容忍度 | 中等,受VCO噪声限制 | 高,数字滤波可调 | 高,自适应性强 |
| 锁定时间 | 慢(μs级) | 快(无锁定过程) | 中等(ns~μs) |
| 功耗 | 低(模拟为主) | 高(多相时钟+数字) | 中等 |
| 面积 | 小 | 大 | 中 |
| 最高速率 | ~28Gbps | ~56Gbps+ | ~112Gbps+ |
2.3 过采样架构:暴力出奇迹
过采样架构,说白了就是“不跟你讲道理,我只多采几倍”。用N倍于数据率的时钟(比如4×过采样),产生N个相位等距的采样时钟,每个数据位被采N次,然后数字逻辑挑出最佳的那个。我个人很佩服这种思路——硬件多出一点力,软件少掉一点发。
但是注意,这里的“过采样”并不是真的用更高频的时钟,而是用多相时钟。比如一个20Gbps的数据,如果用4×过采样,需要8个相位、每个相位2.5GHz的时钟。嗯,多相时钟生成就是另一个坑。
经验之谈:我在56Gbps PAM4项目里用过采样架构,避免了PLL锁定时的相位突变。但代价是数字后端面积直接翻倍。如果面积预算紧张,慎选。
// 过采样CDR典型结构(简化)
// 输入数据 -> 多相采样器 (N个D触发器) -> 边缘检测 -> 相位选择 -> 恢复时钟
// N通常取4或8
for each data transition:
sample[N-1:0] = multi_phase_sample(data, clk_ph[N-1:0]);
if (sample[N-1] != sample[0]):
edge_detected = 1;
best_phase = find_midpoint(edge_position);
else:
best_phase = previous_best_phase;
过采样还有一个好处:不需要锁定过程。数据一来,直接采样判断。这对突发模式非常友好。但功耗和面积…嗯,你懂的。
2.4 相位跟踪架构:精细调控的艺术
相位跟踪架构,我更喜欢叫它“Bang-Bang CDR”。它的核心是一个相位插值器(Phase Interpolator, PI)。本地NCO产生一个粗时钟,PI根据检测到的数据边沿超前或滞后,微调输出时钟的相位。每次只调一小步,好比走路时不断修正方向。
我记得第一次做112Gbps设计时,PLL-based完全锁不住——数据抖动太大。后来换成相位跟踪,配合自适应环路带宽,才勉强跑通。为什么?因为相位跟踪可以做带宽自适应:数据变化快时增大环路增益快速跟踪,平稳时降低增益减少噪声。
注意:相位跟踪架构容易出现“极限环”现象——当输入抖动很小时,鉴相器的输出在正负之间来回跳,导致时钟抖动增加。我在项目里加了数字死区(Dead Zone)解决了,具体做法:当相位误差小于某个阈值时,不做调整。
2.5 如何选择?一张图讲清楚
下面这张SVG图总结了三种架构的核心区别和选择路径。我习惯在做架构评估时先看这张图——数据率、抖动特性、突发性,三个条件一筛,答案就出来了。
2.6 实战选择建议
根据上面的图和表格,我给大家一个简单的决策流程:
- 看速率:低于28Gbps,考虑PLL-based或过采样;高于28Gbps,直接上相位跟踪。
- 看数据模式:如果是突发包(如PCIe、Ethernet LPI),优先过采样或相位跟踪——PLL-based的锁定时间会让你抓狂。
- 看抖动:输入抖动大(比如背板通道损耗严重),过采样和相位跟踪的宽裕度更高。
- 看预算:面积/功耗敏感,PLL-based是王道;数字资源多,过采样是捷径。
一个小技巧:我在实际项目中经常做“架构混搭”——比如PLL-based提供粗时钟,相位跟踪做精调。虽然复杂度翻倍,但性能往往能同时满足高速度和低抖动。
2.7 本章小结
三种架构,各有各的脾气。PLL-based经典但挑剔,过采样暴力但耗资源,相位跟踪精细但容易振荡。你问我哪种最好?嗯,取决于你的产品定位。做消费级芯片,面积比天都大,PLL-based是首选;做数据中心高速互联,性能和抖动是第一要务,相位跟踪才是答案。