3、密勒补偿原理:密勒电容如何分离极点?极点分裂的数学推导。

好,咱们进入正题。前面两章我们聊了什么是两级运放,以及为什么它不稳定。说白了,问题就出在两个低频极点靠得太近,相位裕度不够。那怎么解决?

最经典的办法,就是加一个电容,跨接在第二级的输入和输出之间。这个电容,就是密勒补偿电容。我当年第一次看到这个方案时,心里想的是:“就一个电容,能有这么大本事?” 结果还真有。

3.1 密勒效应:一个电容的“放大”幻觉

要理解密勒补偿,得先搞明白密勒效应。你想想看,一个阻抗跨接在放大器的输入端和输出端之间,从输入端看进去,这个阻抗会被“放大”。

具体来说,假设一个反相放大器,增益为 -A。在输入端和输出端之间跨接一个电容 Cc。那么,从输入端看进去,这个电容等效为多大?

因为输出端电压是 -A 倍的输入电压,所以电容两端的电压差是 Vin - (-A·Vin) = (1+A)·Vin。流过电容的电流 I = Cc · d(Vin - Vout)/dt = Cc · (1+A) · dVin/dt。

所以,从输入端看,等效电容 Ceq = Cc · (1+A)。

核心结论:密勒效应把一个跨接电容,在输入端等效成了一个 (1+A) 倍的大电容。这个“放大”效应,是极点分裂的关键。

反过来,从输出端看进去呢?等效电容大约是 Cc · (1 + 1/A),当 A 很大时,近似就是 Cc 本身。这个不对称性,很有意思。

3.2 极点分裂:一个电容如何“推开”两个极点

好,现在我们把这个密勒电容 Cc 放到两级运放里。第一级输出节点(高阻抗节点)是 X,第二级输出节点是 Vout。Cc 跨接在 X 和 Vout 之间。

没加 Cc 之前,两个极点分别在节点 X 和 Vout 上,频率很接近。加了 Cc 之后,会发生什么?

我习惯从物理直觉上先理解一下:

  • 对于第一级输出节点 X: 由于密勒效应,Cc 在 X 节点等效为一个很大的电容 (1+A2)·Cc。这个电容并联在 X 节点的寄生电容上,使得 X 节点的总电容大大增加。所以,第一级极点 向低频方向移动(变慢了)。
  • 对于第二级输出节点 Vout: 当频率升高时,Cc 的阻抗降低,它提供了一个从 Vout 到 X 的低阻抗路径。这个路径改变了输出节点的等效阻抗,使得输出节点的总阻抗 减小。所以,第二级极点 向高频方向移动(变快了)。

一个向低频推,一个向高频推。两个原本靠在一起的极点,就这样被“撕开”了。这就是极点分裂。

我的经验: 刚开始学的时候,我总纠结于数学推导。后来我发现,先理解这个物理图像——一个电容把输入节点“压”慢,把输出节点“推”快——比死记公式有用得多。你设计时,心里要有这个画面。

3.3 数学推导:定量分析极点分裂

光有直觉不够,咱们得算一算。这样才能知道 Cc 到底该取多大。

考虑一个典型的两级运放小信号模型。第一级跨导为 gm1,输出电阻为 R1,寄生电容为 C1。第二级跨导为 gm2,输出电阻为 R2,负载电容为 CL。密勒补偿电容为 Cc。

写出节点电流方程,经过一番运算(这里省略中间步骤,直接给结果),可以得到传输函数:

H(s) = (gm1 · gm2 · R1 · R2) · (1 - s · Cc/gm2) 
       / [1 + s · (R1·C1 + R2·C2 + gm2·R1·R2·Cc) + s² · R1·R2·(C1·C2 + Cc·C1 + Cc·C2)]

其中 C2 = CL + Cc 的寄生部分(简化处理)。

这个分母是个二阶多项式。我们关心它的两个根,也就是两个极点。在密勒补偿的情况下,通常满足 gm2·R1·R2·Cc 远大于其他项。那么,两个极点可以近似为:

极点 近似表达式 物理含义
主极点 ωp1 ≈ 1 / (gm2 · R1 · R2 · Cc) 由密勒电容 Cc 决定,频率很低
次主极点 ωp2 ≈ gm2 · Cc / (C1·C2 + Cc·C1 + Cc·C2) 由第二级跨导和电容决定,频率较高

你看,主极点 ωp1 的表达式中,分母有 gm2·R1·R2·Cc,这个乘积很大,所以 ωp1 非常低。而次主极点 ωp2 中,分子有 gm2·Cc,频率被推高了。

更直观地,如果忽略 C1 和 C2 中的交叉项(在 Cc 较大时成立),次主极点可以进一步简化为:

ωp2 ≈ gm2 / C2

这个结果很有意思。它说明,次主极点主要由第二级的跨导 gm2 和负载电容 C2 决定,而 与 Cc 几乎无关。Cc 的作用,主要是把主极点拉低,从而拉开两个极点的距离。

注意: 上面的简化成立的前提是 Cc 足够大,使得极点分裂效果明显。如果 Cc 太小,极点分裂不充分,稳定性问题依然存在。如果 Cc 太大,虽然极点分得很开,但主极点频率太低,会严重牺牲带宽。这是一个 trade-off。

3.4 零点问题:密勒补偿的“副作用”

细心的你可能注意到了,传输函数分子上有一项 (1 - s · Cc/gm2)。这意味着,系统有一个 右半平面零点(RHP Zero),位于:

ωz = gm2 / Cc

这个零点在右半平面,它会带来相位滞后,而不是相位超前。说白了,它会 恶化相位裕度,让稳定性变差。

我当年第一次仿真时,加了 Cc 发现相位裕度没想象中好,查了半天才发现是这个零点在捣鬼。那怎么解决?

常见的办法是加一个 调零电阻 Rz,与 Cc 串联。这样,零点位置变为:

ωz = 1 / [Cc · (1/gm2 - Rz)]

通过调整 Rz,我们可以:

  • 把零点推到左半平面(Rz > 1/gm2),让它提供相位超前。
  • 或者把零点推到无穷远(Rz = 1/gm2),抵消掉零点的影响。

我个人习惯是把零点推到略高于次主极点的位置,这样既能消除零点的负面影响,又能稍微提升一点相位裕度。

3.5 设计流程:如何选择 Cc 和 Rz

理论说完了,咱们聊聊实际设计中的步骤。我一般按这个流程来:

  1. 确定目标带宽和相位裕度。 比如,要求单位增益带宽 UGBW = 10 MHz,相位裕度 PM ≥ 60°。
  2. 估算需要的 gm2 和 Cc。 根据 UGBW ≈ gm1 / (2π · Cc)(近似关系),可以反推 Cc 的大致范围。
  3. 仿真验证极点位置。 用 AC 仿真看开环增益曲线,确认主极点和次主极点的位置。
  4. 调整 Rz 优化相位裕度。 扫描 Rz 的值,观察相位裕度的变化,找到最优值。
  5. 检查工艺角和温度变化。 在不同 corner 下验证稳定性,确保设计有足够的余量。

避坑指南: 我曾经在一个项目中,为了追求带宽,把 Cc 选得很小。结果在高温 corner 下,gm2 下降,次主极点频率降低,极点分裂效果变差,相位裕度掉到了 30° 以下。后来我学乖了,设计时至少留 10°-15° 的余量。

3.6 知识体系图:密勒补偿的核心逻辑

下面这张图,帮你把这一章的核心逻辑串起来。从问题到原理,再到推导和设计,一目了然。

密勒补偿原理知识体系 问题:两个低频极点 核心原理:密勒效应 极点分裂:主极点↓ 次主极点↑ 数学推导 ωp1 ≈ 1/(gm2R1R2Cc) 零点问题 RHP零点:ωz = gm2/Cc 解决方案:调零电阻 Rz

嗯,这一章的内容就到这儿。密勒补偿的原理、极点分裂的数学推导、以及零点问题的处理,是两级运放稳定性设计的核心。你把这些搞清楚了,后面设计时心里就有底了。