相位裕度与运放补偿:Miller 主极点、右半平面零点与建立时间
更新时间:2026-09-25。在 运放拓扑:五管 OTA 与套筒/折叠共源共栅 里,我们关心的是直流增益、输出摆幅和输出电阻;只要管子偏在饱和区,小信号增益公式一算就有。但一颗增益 80dB 的运放接上负反馈,仿真里可能直接变成正弦波振荡器——增益越高、极点越多,这个风险越大。本篇专门回答稳定性问题:多极点系统为什么振荡,相位裕度(phase margin,PM)怎样量化危险距离,Miller 补偿怎样靠一颗电容把运放「按稳」,以及补偿后时域上付出的过冲与建立时间代价。前置知识可复习 MOS 小信号模型,模拟设计的折中哲学见 模拟电路为什么这么难,补偿电容对带宽内噪声的影响可对照 模拟噪声:热噪声与闪烁噪声。
本文要回答的问题
- 负反馈明明是把输出往回拉,为什么接上反馈后反而会振荡?振荡的两个条件是什么?
- 一个多极点运放的相移是怎样随频率积累的?为什么直流增益越高越危险?
- 相位裕度 PM 的定义是什么?为什么工程上几乎总把 60° 当默认目标?
- Miller 主极点补偿的「极点分裂」是怎么回事?一颗跨接电容为什么能同时推开两个极点?
- 增益带宽积 GBW 为什么等于 gm/2πCc?右半平面零点为什么必须用 nulling resistor 处理?
- 相位裕度和阶跃响应的过冲、建立时间之间有什么定量关系?典型数字是多少?
一、负反馈为什么会变成振荡器
先定义环路增益(loop gain)。把反馈环在任意一点断开,注入测试信号,绕环一周回来的信号与注入信号之比记作 T(jω) = A(jω)β,其中 A 是前向通路增益,β 是反馈系数。单位增益接法(输出直接接反相输入)下 β=1,分析最严苛,本篇以这种情况为主。
负反馈的「负」字只在直流和低频成立:输入端做减法,输出被拉回目标值。但绕环一周的信号除了幅度,还有相位。T(jω) 是复数,每个极点在高频贡献最多 90° 的滞后相移。假设在某个频率 ω₀ 上发生了两件事:
- 环路相移达到 −180°:回来的信号恰好反相。负反馈本来在输入端做减法,相移 180° 后这个减法变成了加法——负反馈在这个频率上已经变成正反馈;
- 该频率处环路增益的幅度 |T(jω₀)| ≥ 1:信号绕环一周不但不衰减,反而等幅或放大。
两条同时满足,任何噪声、上电扰动里频率为 ω₀ 的分量都会被环路反复加强,输出最终稳定成等幅正弦波(电路限幅决定幅度),这就是 Barkhausen 振荡条件。反过来,要保证稳定只要破坏其中任意一条:要么在相移到 180° 之前让 |T| 跌破 1,要么在 |T| 还大于 1 的频段把相移控制在 180° 以内。运放补偿做的就是第一件事——整形增益曲线,让它「足够早地」滚下 0dB。
这里要纠正一个常见误解:开环仿真稳定不代表闭环稳定。开环运放没有反馈环,极点只决定输入到输出的传递特性,谈不上振荡;稳定性是环路的性质,必须看 T(jω)。所以仿真里判稳从来不是瞬态碰运气,而是做环路增益的交流(AC)分析,读两个频率的相位与幅度。
仿真操作上有一个工程必知细节:环路一定要「断对」。直接切断导线会改变断点两侧的直流偏置和负载关系,正确做法是插入环路测试元件(Cadence 里的 iprobe / stb 分析,或手搭一个大电感串入断点——直流短路、交流开路,再从电感两侧并大电容注入交流信号),保证偏置原样、只断交流。读出的 T(jω) 必须包含从输入级到输出级、再经反馈网络回来的完整一圈,漏算反馈系数或负载电容会让 PM 读数虚高,上板后才发现振铃。还要注意运放接成同相、反相、增益大于 1 等不同组态时 β 不同:闭环增益越高 β 越小,穿越频率越低,反而越稳;单位增益缓冲器永远是最恶劣工况,补偿按它设计。
二、多极点的相移积累:未补偿运放的波特图
一颗典型两级 CMOS 运放:第一级是五管差分对,第二级是共源放大,每一级的高阻输出节点对应一个极点。设未补偿时两个极点分别在 p₁≈0.5MHz、p₂≈5MHz,直流增益 80dB(10000 倍)。幅度波特图(Bode plot)的读法是:每个极点让斜率多 −20dB/十倍频,相位在极点频率处贡献 −45°、在十倍频以外贡献满 −90°。
手算一下穿越频率。80dB 即 10⁴,若只有 p₁,增益按 10 倍频 −20dB 滚降,穿越点在 0.5MHz×10⁴ = 5GHz 量级——但 p₂ 在 5MHz 就把斜率翻成 −40dB/dec,穿越点大幅提前,实际落在几十 MHz 处。关键是:穿越点处斜率为 −40dB/dec,意味着两个极点都已贡献了可观相移,总相移 −160° 到 −180°,闭环阶跃响应会强烈振铃甚至持续振荡。多极点系统危险的根源就在这里:增益高到穿越 0dB 时,已经走过了太多极点。
再加一个细节:负载电容会在输出节点再添一个极点或把 p₂ 往低频推,所以运放带大电容负载时稳定性更差,补偿必须按最恶劣负载条件设计,这也是数据手册要标注容性负载驱动能力的原因。一个常见的板级现象:运放单独测试波形干净,接上一米同轴电缆驱动传感器后开始振铃——电缆电容几百皮法,直接把输出极点拖进 GBW 以内。补救办法是输出串小电阻(几十 Ω)把电容与运放隔离,或在反馈电阻上并一颗小电容做相位超前,思路与片上补偿完全同源。
顺带把极点的相位规律说透。单极点 1/(1+jω/p) 的相移是 −arctan(ω/p):ω=p 时 −45°,ω=0.1p 时约 −6°,ω=10p 时约 −84°。两个极点的相移直接相加。所以在穿越频率处,距离穿越点十倍频以内的每个极点都要认真计入,十倍频以外的可近似为满 90° 或忽略。这个 −arctan 公式是手算 PM 的唯一工具:列出全部极点和零点,在 ω_ug 处逐项求相移相加,再套 PM 定义,仿真前先在纸面上过一遍,能避免盲目调电容。
三、相位裕度与增益裕度:定义和典型目标
把上一节的两个判据浓缩成一个设计指标,就是相位裕度。找到环路增益幅度 |T(jω)| = 1(0dB)的频率 ω_ug(单位增益频率),读该处的环路相移 φ(ω_ug):
PM = 180° + φ(ω_ug)
直觉读法:PM 是在单位增益频率处,相移距离 −180° 这条「死亡线」还剩多远。上一节的例子 φ≈−170°,PM≈10°,等于在悬崖边 10 公分处跑步。另一个对偶指标是增益裕度(gain margin,GM):在相移恰好 −180° 的频率处读 |T| 低于 0dB 多少分贝,典型要求 GM≥10dB。工程上以 PM 为主、GM 为辅。
不同应用对 PM 的取舍不同,它本质是稳定性与速度之间的旋钮:
| 目标 PM | 时域表现 | 典型使用场景 |
|---|---|---|
| 45° | 过冲约 20%,振铃明显 | 追求极限 GBW 的高速连续时间系统 |
| 60° | 过冲约 9%,1~2 个振铃 | 通用运放的事实标准 |
| 70°~75° | 过冲 ❤️%,几乎不振铃 | 缓冲器、开关电容、ADC 驱动 |
| <30° | 过冲 >30%,长振铃 | 设计事故,需重新补偿 |
为什么偏偏是 60°?第六节会给出二阶系统的定量关系:PM=60° 对应阻尼系数 ζ≈0.6,阶跃过冲约 9%,建立时间也接近最优——再提高 PM 过冲改善有限,带宽却要白白损失。这是模拟设计里少数有明确「默认答案」的选择:除非有低过冲要求,否则先按 60° 设计,再按工艺角和负载余量收紧。注意多极点系统在 60° 下仍要检查第二极点在 ω_ug 处的相移贡献,经验设计式 PM ≈ 90° − arctan(ω_ug/p₂),要 PM≥60° 就要求 p₂ ≥ 1.7·ω_ug,这正是补偿时安排极点位置的直接依据。
四、主极点补偿:Miller 电容与极点分裂
补偿的核心思路一句话:把一个极点使劲往低频推,让增益以 −20dB/dec 的温和斜率滚过 0dB,保证穿越点之前其他极点还来不及贡献相移。最省事的实现是在两级运放第二级的输入与输出之间跨接一颗电容 Cc——这就是 Miller 补偿(密勒补偿)。
为什么跨接而不是接地?第二级增益为 −A₂,跨接在其输入输出之间的电容 Cc 反射到输入端被放大 (1+A₂) 倍(Miller 效应),一颗皮法级的小电容就能造出毫微法级的等效电容,把主极点压到极低频率。更妙的是极点分裂(pole splitting):Cc 像一根杠杆同时作用于两个极点——主极点 p_d 大幅降低,次极点 p_nd 反而被推高。两级运放的近似公式为:
p_d ≈ 1 / (gm₂·R₁·R₂·Cc) p_nd ≈ gm₂·Cc / (C₁C₂ + Cc(C₁+C₂)) ≈ gm₂/C₂
其中 R₁、R₂ 是两级输出电阻,C₁、C₂ 是两级节点对地电容。补偿后的波特图如下:
对比第二节那张图:穿越点从 −40dB/dec 段移到了 −20dB/dec 段,这就是补偿成功的全部视觉标志。设计流程反过来用第三节的约束:先按速度要求定 ω_ug,再要求 p_nd ≥ 1.7ω_ug,最后由 p_d 保证以 −20dB/dec 斜率到达 0dB。代价也很直观:主极点压到 1kHz 量级意味着运放在几 kHz 以上增益就开始掉,闭环带宽内可用的开环增益变少,直流精度与失真性能在中频开始让步——稳定性从来不是免费的。
主极点补偿还有两种变体值得知道。其一是单级 OTA(如套筒共源共栅)没有第二级可跨接 Miller 电容,只能靠负载电容在输出节点造主极点,称为负载补偿;好处是没有右半平面零点、功耗低,坏处是带宽被负载电容绑死,且输出电阻高、驱动电阻负载能力差。其二是超前补偿:不在频域压增益,而是在反馈网络里引入一个左半平面零点(反馈电阻并联电容),用零点的正相移抵消极点的负相移,板级运放和电流模式开关电源常用。方法虽多,判据始终只有一个——让穿越 0dB 的斜率回到 −20dB/dec、PM 达到目标值。选哪种补偿取决于拓扑、负载可预测性和是否允许片外元件,而不是哪种「更高级」。
五、GBW=gm/2πCc、右半平面零点与 nulling resistor
主极点补偿后,在 p_d 与次极点之间的宽频带里环路增益以 −20dB/dec 滚降,于是直流增益 A₀ 乘 p_d 是一个常数,即增益带宽积(gain-bandwidth product)。代入 p_d 公式后中间电阻全部约掉,得到极简洁的结果:
GBW = A₀·p_d = gm₁ / (2πCc)
这个公式是两级运放补偿的命根子:单位增益带宽只由输入级跨导和补偿电容决定,与直流增益无关。给一组可手算的数字:gm₁=1mS、Cc=2pF,则 GBW = 10⁻³/(2π×2×10⁻¹²) ≈ 80MHz。想要更宽的带宽,要么加大输入级尾电流提高 gm₁(付功耗),要么减小 Cc(付稳定性风险),没有第三条路。Cc 的典型取值 1~5pF,片上实现大约占几千平方微米。
但 Miller 补偿自带一个麻烦:前馈通路。高频时 Cc 的阻抗变低,信号可以绕过第二级的受控源、直接经 Cc 从输入节点流到输出。这条通路产生一个右半平面零点(right-half-plane zero,RHP zero):
fz = gm₂ / (2πCc)
右半平面零点的幅度行为像普通零点(斜率 +20dB/dec,试图托住增益),相位行为却像极点(额外贡献 −90° 滞后)——两个效果都在帮倒忙:增益托住使穿越点后移,相移却继续恶化。若 gm₂=3mS、Cc=2pF,fz≈240MHz,看似远在 80MHz 的 GBW 之外;但低功耗设计中 gm₂ 可能只有 1mS,fz 落到 80MHz 附近甚至压进 GBW 以内,PM 被瞬间吃光。
标准修法是与 Cc 串联一个调零电阻(nulling resistor)Rz,把零点频率改为:
fz = 1 / [2πCc(1/gm₂ − Rz)]
Rz 小于 1/gm₂ 时右半平面零点被推远;Rz 大于 1/gm₂ 时零点干脆翻到左半平面,变成贡献正相移的「有益零点」,工程上常故意把它放在次极点附近抵消其相移。Rz 通常用工作在线性区的 MOS 管实现,阻值 200~500Ω 量级(1/gm₂ 在 gm₂=3mS 时约 330Ω),还可顺便做成工艺角可调。数据手册里标「带 nulling resistor 的 Miller 补偿」指的就是这套结构。
Cc 还决定另一个常被忽略的时域指标——压摆率(slew rate,SR)。输入大跳变时输入级差分对一边截止、尾电流 I_ss 全部对 Cc 充放电,SR = I_ss/Cc。沿用上例 I_ss=200μA、Cc=2pF,SR=100V/μs……实际小功率运放常见只有 1~10V/μs。大信号压摆由 SR 限速、小信号建立由 GBW 和 PM 决定,两者共同决定总建立时间。把 gm₁ 写成 2I_d/Vov、代进 GBW 与 SR 还能得到 SR = 2Vov·2πGBW·(系数) 的关系,即同样 GBW 下 Vov 越大压摆率越高——这又回到 MOS 小信号模型 里过驱动电压的选择,模拟指标的关联性在此体现得淋漓尽致。
六、相位裕度映射到时域:过冲与建立时间
频域的 PM 最终要兑现为时域波形。把闭环运放在穿越频率附近近似成二阶系统,阻尼系数 ζ 与 PM 有经验关系 PM ≈ 100ζ(PM≤70° 时),而阶跃响应过冲由 ζ 唯一决定:
| PM | ζ | 阶跃过冲 | 振铃与建立 |
|---|---|---|---|
| 30° | 0.30 | ≈37% | 振铃 5 个周期以上,建立很慢 |
| 45° | 0.45 | ≈20% | 3~4 个振铃 |
| 60° | 0.60 | ≈9% | 1~2 个振铃,建立时间近最优 |
| 70° | 0.70 | ≈4.6% | 基本无振铃 |
| 75° 以上 | ≥0.75 | ❤️% | 无振铃,但边沿明显变慢 |
这张表把第三、四节的选择量化了:60°/9% 过冲是速度与平稳的最佳折中,数字为工程近似,实际多极点系统会有偏差但量级可靠;ADC 输入缓冲不能容忍任何振铃(振铃期间采样等于采错电压),所以宁可牺牲带宽取 75°;开关电容电路还关心 0.1% 误差建立时间,工程估算为 ts ≈ 7~10/(ζ·ω_ug),PM 过低时 ζ 小、振铃尾巴长,看似 GBW 高反而建立更慢——「快」和「早建立」在低 PM 区是两回事。
最后给一套完整的典型数字,便于仿真实拍对照:0.18μm 两级运放,尾电流 200μA、总电流约 1mA,gm₁=1mS,Cc=2pF 串联 Rz=300Ω,主极点约 1kHz,GBW≈80MHz,次极点约 150MHz,单位增益 PM≈62°,阶跃过冲约 8%,0.1% 建立时间约 30ns。设计完成后还要在工艺角(ss/ff)、温度(−40~125°C)和容性负载范围内重扫环路增益,保证最坏角 PM 仍 ≥45°~60°——纸面 60° 不算数,最坏角过闸才算补偿闭环。典型的漂移方向也要心里有数:ss 角 gm 普遍下降,GBW 降低看似更稳,但输出电阻升高、极点位移往往更致命;ff 角 GBW 抬高、穿越点逼近次极点,PM 反而吃紧。所以补偿设计通常先在典型角调到 65° 左右预留余量,再逐角扫描确认,而不是典型角恰好卡 60° 就收工。
这一篇在知识体系里的位置
本篇是运放系列的稳定性收口:上游拓扑给出增益与极点,运放拓扑:五管 OTA 与套筒/折叠共源共栅 决定了未补偿的极点分布;小信号推导依赖 MOS 小信号模型 的 gm、ro 与 Miller 效应。补偿电容会改变带宽内的噪声增益积分,与 模拟噪声:热噪声与闪烁噪声 的噪声带宽分析直接相关;取舍的方法论(功耗、面积、速度、稳定性四者交换)则是 模拟电路为什么这么难 的具体展开。后续可延伸到三级运放的嵌套 Miller 补偿、LDO 的环路补偿,以及开关电容电路的建立精度分析。
总结
多极点负反馈在环路增益≥1、相移达 180° 处必然振荡,相位裕度就是单位增益处离这条线的距离,默认目标 60°;Miller 电容靠极点分裂把主极点压低、次极点推高,使增益以 −20dB/dec 穿越 0dB,带宽由 GBW=gm₁/2πCc 决定,右半平面零点用串联 nulling resistor 推远或翻到左半平面;60° PM 对应约 9% 阶跃过冲和近最优建立时间,且必须在最坏工艺角与负载下仍然成立。