这一篇在干嘛?
反馈让运放万能,也让它随时可能不稳定。这一章讲:厂商怎么在芯片内部补偿(Miller 电容)、你什么时候需要在外部补偿、以及五种经典补偿方法(主极点、增益、超前、补偿衰减器、超前-滞后)各自怎么玩、代价是什么。
为什么要补偿:稳定性是相对的
电压反馈放大器(VFA,Voltage-Feedback Amplifier)用了 60 年,也折磨设计者 60 年:让它精确的那份反馈,同时让它倾向于不稳定。
“不振荡 = 稳定”是个粗糙的定义。实际上电路在振荡之前很久,就已经出现相位响应差、过冲(overshoot)、振铃(ringing)——这些同样是”不稳定”的表现。所以原书用阻尼比(damping ratio,ζ)和相位裕度(phase margin)来度量相对稳定性。规律很有意思:
- 最稳定的电路:响应最慢、带宽最低、精度最高、没有过冲;
- 最不稳定的电路:响应最快、带宽最高、精度最低、有点过冲。
又想快又想稳?只能在中间找平衡点。
内部补偿:Miller 电容的代价
60 年代的 IC 运放很难稳定,得靠资深模拟工程师伺候。60 年代末厂商推出内部补偿运放:在芯片里埋一个电容,让整个运放在大部分频段表现得像一个单极点系统,普通人也能放心用。
最常见的实现是跨接在电压增益级晶体管集电结上的电容:

Miller 效应:跨在放大级输入输出之间的电容,等效到输入端会被放大约等于该级增益的倍数。所以芯片里只需一个几 pF 的小电容,就能实现主导极点。代价是:闭环带宽被内部补偿方案死死限住。
看一组真实芯片的增益/相位曲线(TL03X):增益曲线在穿越 0 dB(增益=1)时相位约 108°,相位裕度 Φ = 180° − 108° = 72°,按理说应该非常稳。可脉冲响应却有约 10% 过冲——为什么?查小字:频域曲线的负载电容是 25 pF,时域曲线却是 100 pF!多出来的负载电容偷走了相位裕度。查”相位裕度 vs 阻尼比/过冲”的换算关系曲线可知:阻尼比为 1 时过冲应为 0,而 TL03X 实测约 10%——这就是裕度损失的时域证据。
为什么负载电容会让运放不稳? 在 1–9 MHz 区间,增益曲线斜率剧变、相位变化速率接近 120°/十倍频——说明这里挤着好几个极点。负载电容与运放输出阻抗(output impedance)又形成一个新极点:负载电容越大,新极点频率越低,0 dB 穿越点的相移越多,裕度越少。TL03X 数据手册里”振铃/振荡 vs 负载电容”的曲线就是铁证。
TLV277X 的数据更现代,直接给出相位裕度,而且相位裕度与电源电压有关:5 V 供电时 0 dB 穿越点相位裕度 60°,2.7 V 时只有 30°——对应预期过冲分别约 18% 和 28%。
内部补偿运放好用,但带宽被焊死。为什么带宽决定误差? 回到误差方程:
以 TLV277X 接成同相跟随器为例:50 kHz 处开环增益只剩 40 dB(100 倍),Aβ ≈ 100,误差 1/(1+Aβ) ≈ 1%。这就是它的极限。如果它不是内部补偿的,你就可以按自己的频段需求做外部补偿,让 50 kHz 处的增益更高、误差更小。
主极点补偿:容性负载的案例分析
主极点补偿(dominant-pole compensation)的思路:故意放一个频率很低的极点当”老大”,让增益在别的极点来得及添乱之前就滚到 0 dB 以下。先看最需要它的场景——容性负载。

剪断环路计算 Aβ:

从电容往里看,做戴维南等效——戴维南电压和阻抗都含同一个极点因子:
写出返回电压:
整理出这个电路的环路增益:
假设 (Z_F+Z_G) >> Z_O,简化为两个因子相乘:
把运放建模为二阶系统(两个极点):
代入得到稳定性方程——现在环里有三个极点:
结论:运放本身可能就只剩 25° 相位裕度(约 48% 过冲);Z_O 和 C_L 形成的极点若向低频迁移、靠近 τ₂ 极点,系统相位滞后增加,过冲更大、稳定性更差。现实中很多负载天生是容性的——电缆就是典型,驱电缆的运放经常振铃。
补救:把一个主极点 ω_D 放在足够低的位置,让增益提前滚降,到达 0 dB 穿越时 τ₁ 只贡献 45° 相移,保住 45° 相位裕度。看补偿前后的对比:

代价:ω_D 以上频段的增益被大幅砍掉。IC 内部常用这招(便宜、好实现),板级外部补偿很少用——离散电容另作他用更划算。
假设 Z_O << Z_F,且 C_L 被包在反馈环内,闭环传递函数就是熟悉的同相方程:
当 a→∞ 时退化为理想增益:
所以:运放驱动能力够、Z_O 够小,电路就跟电容不存在一样;电容大到一定程度极点开始捣乱;电容大到离谱反而”变成”主极点补偿——压死带宽、降噪,还保住低频大增益。
增益补偿:最简单的一招
VFA 的环路增益里天然含着闭环增益参数:
闭环增益提高 → 环路增益降低 → 更稳定。原书例子:闭环增益为 1 时环路增益曲线逼近不稳定;把同相增益改成 9,环路增益在 Bode 图上的截距下移 14 dB,电路就稳了。

很多内部补偿运放有”最小稳定增益”指标(比如 ≥5),本质就是增益补偿:只要你的电路增益超过数据手册标注值,就是经济又安全的用法。代价是增益上去了、带宽和精度下来了。能靠提高增益解决的稳定性问题,就这么解决。
超前补偿:给环路”抢跑”一个零点

反馈电阻 R_F 上并联一个电容 C。有意思的是:这个电容常常不是你加的,而是 PCB 走线和地平面寄生出来的——高频设计师拼命想消灭它,但它反过来又能稳住电路、降低噪声。
它的环路增益:
C 同时引入一个零点(R_F·C)和一个极点((R_F∥R_G)·C)。因为 R_F > R_F∥R_G,零点总在极点之前。把零点放在 τ₂ 极点位置,恰好把它连同相移一起抵消,Bode 图得以维持 -20 dB/dec 继续走,直到 (R_F∥R_G)C 极点才变陡。

环路稳了,闭环呢?反相接法的理想闭环增益变成:
注意:带宽被牺牲了——从 1/R_F·C 转折点起闭环增益开始按 -20 dB/dec 下滑。极点 (R_F∥R_G)C 出现在运放增益穿越 0 dB 之后,不影响理想闭环传函。
非反相接法的理想闭环增益:
极点总比零点先出现(低频侧),零点只负责把曲线重新拉平,救不回损失——闭环带宽依然亏损。两种接法的闭环形状相近,但每个电路都要单独核算。
补偿衰减器:化敌为友的寄生电容
反相输入端对地的杂散电容 C_G 是老麻烦:它让高阻抗电路(尤其 CMOS 运放 + 大电阻)不稳定。

带输入电容的环路增益——多出一个 (R_F∥R_G)C 极点:
例题(原书数据):某 CMOS 运放,R_F = R_G = 1 MΩ,C_G = 10 pF。
- 新极点位置:1/(2π·(R_F∥R_G)·C_G) = 1/(2π·500k·10p) ≈ 318 kHz。
- 很多运放的 τ₂ 转折点都比 318 kHz 高,于是:τ₁ 贡献 90° 相移,318 kHz 的新极点在穿越点附近贡献约 45°,τ₂ 又开始贡献 45°——相位裕度彻底耗尽,电路因杂散输入电容而不稳定。
解法:在反馈电阻上再并一个 C_F,构成补偿衰减器:

加入 C_F 后的环路增益:
当两个时间常数相等(R_G·C_G = R_F·C_F)时,上下 RC 因子相消,环路增益退化为纯电阻分压:

更妙的是闭环增益也不受影响。反相接法:
时间常数相等时化简为与频率无关的理想式:
这是极少数补偿完全不影响闭环频响的场合。实战技巧:从运放输出引一条宽铜皮跨过 R_F 下方的地平面(另一端不接),铜皮对 R_F 就”长”出 C_F;用刀片刮铜皮调容量,直到过冲全部消失,再量尺寸照样画进 PCB。
超前-滞后补偿:不牺牲闭环性能的最优解

超前-滞后补偿(lead-lag)在输入端接 RC 网络,专门配无内部补偿的运放使用,高频率性能出色。环路增益:
机制:R、C 引入一个极点(ω = 1/RC,先压 3 dB 增益)和一个零点。零点安排在运放第一个极点之前,把 RC 极点的相移完全对消——环路就像从没插过这个极点一样。但环路增益毕竟被压低了 3 dB 以上,0 dB 穿越频率随之降低,稳定性提高。

关键是闭环理想增益完全不受影响。因为 RC 网络跨接在虚地上:只要 Aβ 足够大,反馈就把 RC 的闭环效应”压”没了。推导结论:
直觉上很漂亮:环路增益大,虚地处的 RC 网络等于不存在。而且补偿产生的极点和零点都在运放第一个极点出场前就”来去匆匆”,二者互不纠缠——这是保证稳定的好习惯,虽然不是必需条件。
补偿方案对比
| 方案 | 做法 | 稳定性 | 闭环代价 |
|---|---|---|---|
| 内部补偿 | 厂商埋 Miller 电容 | 按说明书使用基本稳 | 带宽被焊死 |
| 主极点 | 放一个超低频极点提前滚降 | 稳 | 高频增益大幅损失,外部很少用 |
| 增益补偿 | 提高闭环增益 | 稳 | 带宽和精度下降,最简单 |
| 超前 | R_F 并 C,零点抵消 τ₂ 极点 | 稳 | 闭环带宽亏损 |
| 补偿衰减器 | C_F 对消 C_G(等时间常数) | 稳 | 闭环频响不受影响 |
| 超前-滞后 | 输入端 RC,极点零点成对 | 稳 | 环路增益 -3 dB,闭环性能最佳 |
两条重要提醒:
- 任何补偿方案都不能把带宽提高到运放自身带宽之上——超前-滞后只是在补偿方案里给出最好的带宽。
- 稳定性判据往往不是”振不振荡”,而是过冲和振铃——性能上先露馅。
例题
例 1(TL03X 相位裕度核算,原书数据):TL03X 增益曲线穿越 0 dB 时相位 108°。求相位裕度并解释 10% 过冲的来源。
- 相位裕度 Φ = 180° − 108° = 72°,阻尼比接近 1,理论上过冲应为 0。
- 但时域曲线的负载电容是 100 pF(频域曲线只画了 25 pF)。100 pF 与运放输出阻抗形成的极点向低频迁移,在 0 dB 穿越点额外添了相移,吃掉裕度 → 出现约 10% 过冲。
- 教训三条:数据可疑时大概率真有问题;原厂也会犯错;负载电容会让运放振铃、过冲甚至振荡。
例 2(CMOS 高阻电路的杂散电容,原书数据):R_F = R_G = 1 MΩ,反相输入端杂散 C_G = 10 pF,判断稳定性并给出补偿。
- 杂散极点频率 = 1/(2π·(R_F∥R_G)·C_G) = 1/(2π·500 kΩ·10 pF) ≈ 318 kHz。
- 相位预算:τ₁ 贡献 90°,318 kHz 极点贡献约 45°,τ₂ 从约 600 kHz 起再贡献 45°——总相移逼近 180°,电路不稳定。
- 补偿:加反馈电容 C_F,令 R_F·C_F = R_G·C_G,即 C_F = R_G·C_G/R_F = 10 pF。两个 RC 转折点对消,环路增益与闭环增益同时恢复”电容不存在”的状态。
常见坑
- 把频域曲线和时域曲线的测试条件当默认一致——TL03X 的过冲之谜就是 25 pF 和 100 pF 的差异造成的。
- 只看”振不振荡”判断稳定:过冲 20%、振铃好几轮的电路虽然没有振荡,但一样不合格。
- 反相输入端对地的杂散电容(CMOS 高阻电路尤甚)是稳定性的隐形杀手,1 MΩ 电阻配 10 pF 就够出事。
- 幻想用外部补偿”提高”运放带宽:不可能,补偿只能在被损失掉的带宽里尽量少亏。
通关标准:
- 能解释 Miller 效应为什么能用小电容实现内部补偿,以及内部补偿牺牲了什么(带宽、高频精度)。
- 能画出容性负载运放的环路增益推导链(式 7-2 到 7-8),说清 Z_O·C_L 极点怎么吃相位裕度。
- 至少掌握三种外部补偿方法及其代价:增益补偿(降带宽)、超前补偿(闭环带宽亏损)、补偿衰减器(频响无损)、超前-滞后(闭环性能最佳)。
- 会算杂散电容极点位置,会用”等时间常数” R_F·C_F = R_G·C_G 对消它。
自测:为什么负载电容会让"内部补偿"运放振铃?
负载电容与运放输出阻抗构成一个新极点。电容越大,极点频率越低,在 0 dB 穿越点贡献的相移越多,相位裕度被吃掉,表现为过冲、振铃;裕度耗尽则振荡。电缆就是最常见的隐性容性负载。
自测:提高闭环增益为什么能稳定电路?
因为 VFA 的环路增益 Aβ = a·Z_G/(Z_G+Z_F) 里含闭环增益参数。闭环增益越高,Z_G/(Z_G+Z_F) 越小,环路增益越低,0 dB 穿越频率提前,穿越点相位滞后越少。代价是带宽和精度同时下降。
自测:补偿衰减器为什么"免费"?条件是什么?
条件是 R_F·C_F = R_G·C_G(反馈与输入网络时间常数相等)。此时环路增益中的两个 RC 因子相消,闭环增益也退化为纯电阻比(式 7-22),补偿对环路和闭环都”隐形”,这是极少数不影响闭环频响的补偿方式。
自测:超前-滞后补偿的零点应该放在哪?为什么?
放在运放第一个极点(τ₁)之前。这样零点能在第二个运放极点出场前,把 RC 极点引入的相移完全对消,系统表现得像从未插入这个极点;同时环路增益被压低约 3 dB,0 dB 穿越提前,稳定性提高,而闭环理想增益不受影响。
自测:相位裕度多少合适?越大越好吗?
不是越大越好。45° 是常见底线,60° 是工程常用值;超过 60° 基本是在浪费运放带宽(响应变慢、带宽变窄,换来的只是几乎没有过冲)。稳定性够用且过冲可接受,就是好的设计点。