3. 线性CDR与非线性(Bang-Bang)CDR的对比

做CDR设计这么多年,我经常被问到的一个问题就是:“到底该选线性还是Bang-Bang?”

说实话,没有的好坏。但选错了,后面调试起来真的很痛苦。

这两种架构的本质区别,在于鉴相器(PD)的输出特性。一个是模拟的、连续的;另一个是数字的、二值的。你想,连输出信号都不一样,整个环路的“脾气”肯定差很多。

3.1 基本原理:一个“模拟表”,一个“数字开关”

线性CDR:鉴相器输出一个与相位误差成正比的模拟电压(或电流)。

比如常见的Hogge鉴相器,或者乘法型鉴相器。误差大,输出电压高;误差小,输出电压低。环路滤波器就是一个低通滤波器,把误差信号平滑成控制电压。

我个人习惯把线性CDR看成“连续调整”:相位偏差一点,就调一点。

Bang-Bang CDR:鉴相器只输出+1或-1(或者“早”和“晚”)。

它只告诉你相位是超前还是滞后,不告诉你超前了多少。所以环路滤波器需要积分作用,把这个二值信号累加成控制量。

说白了,Bang-Bang CDR就像个“开关”:要么往前跳一步,要么往后跳一步。步长是固定的。

为什么会这样?因为Bang-Bang鉴相器(例如Alexander鉴相器)只是在时钟沿对数据采样,判断边沿位置。它没有线性区,只有过零比较。

3.2 关键差异:一张表说清楚

我在项目中遇到过两个看起来很相似的接收机,一个用了线性,一个用了Bang-Bang,结果眼图开度差了10%。下表是我自己总结的对比,你参考一下:

对比项 线性CDR Bang-Bang (非线性) CDR
鉴相器输出 模拟电压,与误差成正比 二值:+1 或 -1
增益特性 有限增益,有线性区 无限增益(过零处斜率无穷大)
锁定行为 渐进收敛,无过冲或很小 存在极限环(Limit Cycle),抖动较大
抖动传递 低通特性,可预测 非线性,高频抖动可能混叠
输入抖动容限 较高,因为有比例控制 较低,但可通过增加环路带宽改善
功耗 模拟电路偏大,尤其高速 数字电路为主,可随工艺缩放
集成度 需模拟模块,工艺迁移成本高 全数字实现,容易移植

关键领悟:线性CDR适合“精度优先”的场景,Bang-Bang CDR适合“集成与功耗优先”的场景。这是工程上的取舍。

3.3 应用场景分析

线性CDR常见于:

  • 超高速串行链路(25Gb/s以上),比如400G/800G光模块
  • 对抖动传递有严格要求的系统(如SONET/SDH)
  • 需要低输出抖动、高信噪比的场合

嗯,这里要注意:线性CDR的模拟部分对工艺和温度很敏感。我早年做过一个10G的线性CDR,流片后发现鉴相器增益随温度漂了30%,锁相环变得不稳定。后来不得不加了温度补偿。

Bang-Bang CDR常见于:

  • 消费电子接口,如USB 3.x / PCIe / HDMI
  • 多通道集成SoC,需要可复用的数字库
  • 对功耗和面积敏感的移动设备

你想想,Bang-Bang CDR几乎可以全部用标准单元实现,布局布线都省心。我在一个28nm的PCIe Gen4项目中,用Bang-Bang CDR只花了两个月就完成验证,而另一个同事的线性CDR扛了半年……

小技巧:如果你不确定选哪种,先看对抖动传递函数的要求。如果是“掩码测试”很严格,选线性;如果只是误码率达标,Bang-Bang往往更省事。

3.4 实战经验:我踩过的坑

我曾经……在一个16Gbps背板项目中,方案定了Bang-Bang CDR。结果信号经过长走线,片内抖动很大。Bang-Bang环形极限环抖动叠加到输出,眼图闭合严重。后来发现,Bang-Bang的环路滤波器带宽得比线性CDR选得更窄,才能抑制极限环。

这个教训:Bang-Bang CDR的环路带宽设计不能直接套用线性模型。需要仿真它的非线性动态。

另一个坑:线性CDR的鉴相器如果有死区(Dead Zone),锁相时会出现静差。我建议在仿真中一定要扫描相位偏移,确认线性区覆盖整个数据眼宽。

最后,放一张两种架构的核心对比图,帮你建立直观印象:

线性CDR与Bang-Bang CDR架构对比 线性CDR 模拟鉴相器 输出 = K·Δφ 环路滤波器 低通 / 比例积分 VCO / DCO Bang-Bang (非线性) CDR 二进制鉴相器 输出 = +1 或 -1 数字环路滤波 累加器 / 比例控制 DCO / VCO 核心区别:鉴相器输出 vs 环路响应 线性:误差连续 → 平滑调整;Bang-Bang:仅方向 → 锯齿步进 模拟信号 数字信号

上面这张图,左边是线性CDR的基本结构,右边是Bang-Bang。你可以把两者想象成汽车驾驶:线性CDR像精确控制方向盘转角,Bang-Bang像只打左灯或右灯,然后微调修正。

警告:千万不要在设计之初就“觉得哪个更高级”。线性CDR的模拟电路设计门槛高,Bang-Bang的数字设计虽然容易,但高频锁相时极限环抖动可能吃掉你的整个抖动预算。选型前先做一笔抖动预算表(Jitter Budget)。

好了,这一章就讲到这里。我要说的全在表和图里了。你品,你细品。