环形VCO频率调谐机制:电流偏置、电容阵列、数字调谐

各位,今天聊聊环形VCO的频率怎么调。你可能会想,调频率不就是改个电压吗?没那么简单。真实项目中,频率调谐的精度、线性度、噪声表现,直接决定了你的DLL能不能锁得住、锁得稳。我见过不少同学在流片前才发现调谐范围不够,或者控制电压稍微抖一下,输出频率就跟着乱跳——那叫一个头疼。

环形VCO的频率调谐,说白了就是改变每一级延时单元的延时量。延时量受什么控制?电流、电容、还有数字码。这三种手段各有脾气,咱们一个一个掰开讲。

3.1 电流偏置调谐——最经典,但也最“粗糙”

电流偏置是环形VCO最传统的调谐方式。通过调节偏置电流,改变反相器或差分对的充放电速率,从而改变延时。

我早期做一个三阶环形VCO,用的就是电流偏置。当时觉得简单,一个NMOS尾电流源,一个偏置电压进来,完事。结果实测发现,控制电压从0.5V到1.2V,频率变化几乎是线性的,心里还挺高兴。但一测相位噪声,坏了——低频时偏置电流小,尾电流管进入线性区,噪声急剧恶化。从那以后我学乖了:电流偏置虽然方便,但一定要让尾电流管始终工作在饱和区,否则噪声会让你怀疑人生。

小经验:电流偏置调谐的增益Kvco(频率对控制电压的斜率)要控制在合理范围。太高了,电源噪声很容易耦合进去;太低了,锁定范围又不够。我一般控制在1~2GHz/V左右,具体看应用。

电流偏置的优缺点:

优点 缺点
电路简单,面积小 相位噪声对偏置条件敏感
调谐范围宽(可做到数十倍) 线性度受MOS管特性限制
适合宽频应用 控制电压范围受限(一般0.5~VDD-0.3)

3.2 电容阵列调谐——精准,但容易“跳”

电容阵列调谐,是给延时单元并联一组可切换的电容。通过控制开关的通断,改变负载电容,从而改变延时。这种方法常见于需要较细频率步进的场合,比如DLL的精细延迟线或小数分频VCO。

我记得有一次做多相时钟发生器,要求频率步进小于1MHz。用电流偏置根本做不到那么精细,因为尾电流的栅压稍微变一点点,偏置电流就跳一大截。后来改成电容阵列,用二进制权重电容,总算把步进压到了几百kHz。

但是!电容阵列有个坑——开关的导通电阻和寄生电容。开关关断时,仍会通过寄生电容耦合信号,导致等效电容比设计值偏大;开关导通时,电阻又引入额外延时,破坏调谐的单调性。我踩过的坑是:用最小尺寸的NMOS做开关,结果关断时漏电严重,低频段频率根本降不下去。后来改成互补传输门(TG)开关,再配上 dummy 管做匹配,才把问题解决。

注意:电容阵列的开关尺寸需要折中。太大则寄生电容大、关断隔离差;太小则导通电阻大、延时误差大。我通常让开关的Ron控制在目标延时误差的1/10以内。

电容阵列的典型结构:

  • 二进制权重:C、2C、4C、8C……面积效率高,但温度/工艺下单调性风险大。
  • 温度计码:N位控制,每个单元等值,延迟单调性好,但面积大。
  • 分段混合:高位用温度计,低位用二进制,平衡精度与面积。

3.3 数字调谐——灵活,但别忘“抖动”

数字调谐,就是直接用数字码控制VCO的频率。可以是改变电流源阵列的偏置电流(数字控制电流源),也可以是切换电容阵列(数字控制电容),或者两者结合。数字调谐的优点是:控制信号是数字电平,抗干扰能力强,且容易与数字校准电路对接。

我最近一个40nm工艺的项目,就用了全数字调谐。控制字14位,高位控制电流源粗调,低位控制电容细调,总调谐范围2:1,步进小于0.5%。比起纯模拟调谐,数字模块的布局布线简单多了,而且可以跑数字仿真验证,心里踏实。

但数字调谐也有代价:每次切换控制字,VCO的输出频率会有一个瞬态跳变,这就是“数字抖动” (digital spur)。如果切换发生在DLL的锁定过程中,可能导致相位误差积累,甚至失锁。解决方法是:在数字码变化时插入“延时切换”或“零死区编码”,让电流或电容在多个周期内离散变化,平滑过渡。我吃过一次亏:切换电容阵列代码时没加过渡逻辑,结果输出频率上多了好几个毛刺,测眼图时一片红。后来老老实实加了一个有限状态机,分4步切换,毛刺就压下去了。

核心对比:三种调谐方式各有利弊。实际项目中很少只用一种,最常见的组合是:电流偏置做粗调 + 电容阵列做细调 + 数字码做校准。这样既保证了调谐范围,又实现了高精度,还能用数字电路抵抗工艺偏差。

3.4 三种机制的综合选择

下面这个表格是我自己总结的,帮你快速选型:

设计需求 推荐主调谐方式 备选辅助方式 典型应用
宽调谐范围(>5x) 电流偏置 数字粗调 宽带PLL、多频段收发机
高精度步进(<1%) 电容阵列(温度计码) 电流偏置细调 DLL延迟线、小数分频
低相位噪声 电流偏置(大尾电流) 电容阵列辅助 射频VCO、时钟恢复
全数字集成/工艺迁移 数字电流源+数字电容 — SoC中PLL、数控振荡器

3.5 三种机制如何协同工作?

下面这张图展示了我常用的一种混合调谐架构。你可以看到,控制环路(比如DLL中的鉴相器输出)先经过一个模拟低通滤波器得到模拟控制电压Vctrl,这个电压调节电流偏置做粗调。同时,一个数字校准模块根据Vctrl的电压区间,实时调整电容阵列的开关状态,实现细调。整个系统在后台还有一个数字频率锁定检测器,一旦发现频率偏差超过阈值,就更新数字码。

环形VCO混合调谐架构 鉴相器/环路输出 低通滤波器 Vctrl (模拟电压) 电流偏置粗调 电容阵列细调 环形VCO核心 (三级/五级反相器链) Fout 数字频率校准 数字码更新 工作流程: 1. 环路输出经低通滤波得到Vctrl 2. Vctrl同时控制电流偏置和数字校准 3. 数字校准根据频率偏差调整电容阵列

从这个图你也能看出来,三种调谐机制不是彼此孤立的。我自己在设计时,通常会把模拟电流偏置放在高频通路上(响应快、噪声低),把电容阵列放在数字校准通路里(精度高、可编程)。两者配合,让VCO的频率可控范围覆盖PVT角落,同时保证锁定时间的压控特性仍然单调。

一点建议:如果你刚接触环形VCO,不妨先从一个纯电流偏置的VCO开始,等把噪声、调谐线性度搞明白之后,再往里面加电容阵列和数字控制。否则调试时一旦出了问题,你很难分清是哪个机制在“捣乱”。

3.6 小结一下

电流偏置、电容阵列、数字调谐,各有各的脾气。电流偏置简单粗暴,但噪声和线性度需要花心思;电容阵列精细可控,但开关寄生让你防不胜防;数字调谐灵活方便,但切换抖动是绕不过去的坎。实际上,顶级的VCO设计往往把三者揉在一起——用电流偏置应付大范围粗调,用电容阵列搞定精细步进,用数字码做工艺/温度补偿。我相信你在实际项目中,也会慢慢摸出自己的一套套路。好了,咱们下回继续聊VCO相位噪声的模型和优化,到时候我会分享几个当年翻车后得出的教训,保证让你少走弯路。