环形振荡器基础
环形振荡器,说实话,是每个做时钟设计的人绕不开的基本功。我记得刚入行那年,导师扔给我一个课题:「用反相器链做一个能跑在 GHz 的 VCO」。那时候我连环形振荡器起振条件都搞不清楚,结果画了个偶数级反相器环,仿真出来纹丝不动——嗯,后来才明白,偶数级根本没法振荡。
这一章我们从最基础的原理讲起。你不用急着记公式,先理解那个「正反馈+延迟」的机制,剩下的自然就通了。
工作原理——奇数级反相器组成的「死循环」
一个最简单的环形振荡器,就是把奇数个反相器首尾相接,形成一个闭环。
- 每个反相器输出和输入相位相反,等于 180° 移相。
- N 级串联,总相移 = N × 180°。
- 为了让闭环相移是 360°(也就是正反馈),需要 N 是奇数。
- 当 N 为奇数,闭环相移 = 180° × 奇数 = 180° + k×360°,满足巴克豪森相位条件。
起振过程也很直观:刚上电时,每个节点电压都略有噪声。这个噪声经过一圈反相再延迟,幅度逐渐变大,最终形成稳定的方波或近似方波的振荡。你想想看,为什么必须是奇数?偶数级的时候,输出反馈到输入是同相,最后只会锁死在一个平衡态,不能振荡。我曾经在教学中遇到学生问:「那用 2 级反向器加一个电阻能不能振荡?」答案是:不能,除非你引入额外的相移元件(比如 RC),但那已经不属于纯环形振荡器了。
下图是三级环形振荡器的结构,每个反相器都贡献一段延迟 td。输出可以从任意一级引出,图中标记了三个阶段的波形传播方向。
个人经验: 我曾调试过一个 5 级环形 VCO,仿真波形总是不够陡。后来发现是每个反相器的负载电容不一致,导致每级延迟偏差很大。建议初学阶段先在版图里保证每段互连长度大致相等,否则频率和相位噪声都会受影响。
频率公式推导——从延迟算周期
推导频率公式其实很简单。你看整个环路,一个信号从 INV1 输入开始,经过 N 级反相器,再回到原点,总共经历了 N 次反相 和 N 段单元延迟 td。但由于反相器每级输出翻转一次需要两次通过同一个节点(比如从高到低,再从低到高),所以一个完整的振荡周期是 2 倍的总延迟。
用数学表达:
T = 2 × N × td
f = 1 / T = 1 / (2 × N × td)
其中 td 是单级反相器的平均传播延迟,单位是秒。N 是反相器级数,必须是奇数。
为什么要乘以 2?因为波形从高到低算半个周期,从低到高再算半个周期。你测量任意相邻反相器输出,会发现它们的波形刚好错开 td 的相位。
| 参数 | 含义 | 典型值(65nm CMOS) |
|---|---|---|
| N | 反相器级数(奇数) | 3,5,7,9… |
| td | 单级传播延迟 | 10 ~ 50 ps(受负载和电源影响) |
| T | 振荡周期 | 2N × td |
| f | 振荡频率 | 1/(2N × td) |
看到这个公式你就明白了:频率受两个因素控制——N 和 td。想调高频率就减小 N 或减小 td。但减小 N 有限制,最小就是 3 级;减小 td 则受工艺、电源、负载的限制。
延迟级数对频率的影响——「越少越抖,越多越慢」
级数 N 是环形振荡器最直接的设计自由度。我们来对比几个典型值:
- N=3:频率最高,但每级延迟占比大,相位噪声通常较差(因为每级放大器都在噪声敏感区)。
我记得一次做 10Gbps 时钟恢复,有人尝试用 3 级环振,结果抖动超标 3 倍。后来改成 5 级并优化每级电流,才勉强达标。 - N=5:折中选择,频率适中,相位噪声比 3 级好不少。很多片上 VCO 默认用 5 级。
- N=7 以上:频率较低,但每级延迟分摊到更多级上,每级噪声贡献被平均,相位噪声更优。适用于低频段、低抖动场景。
咱们用表格看得更清楚:
| 级数 N | 相对频率(参考 N=3) | 相位噪声(典型) | 适用场景 |
|---|---|---|---|
| 3 | 1.0x | 较差 | 高频、片内小信号时钟 |
| 5 | 0.6x | 中等 | 通用 VCO,DLL 中常见 |
| 7 | 0.43x | 较优 | 低噪声、低频锁相环 |
| 9 | 0.33x | 优 | 基准源、超低抖动振荡器 |
你可能会问:「那能不能用 1 级或 2 级?」要记住,奇数级是铁律。1 级反相器就是一个简单反相器,没有正反馈,不会持续振荡;2 级相当于一个缓冲器环,锁死状态。只有 3 级以上才能稳定工作。我个人最常用的是 5 级或 7 级——既保证了足够的频率范围,又不至于让延迟级数太多导致面积和功耗膨胀。
避坑指南: 我曾经在一个项目中采用了 3 级环振来省面积,结果 tapeout 回来频率比仿真低了 15%。原因是后段寄生电容比预期大,每级 td 偏大。后来我习惯在仿真时预留 20% 的裕量,并优先选择 5 级设计,留出调谐空间。你可以把这个经验记下来——尤其是在先进工艺下,寄生参数偏差可能比你想象的大得多。