简介这是面向电子工程师的运放稳定性分析经典资料由TI资深工程师Tim Green撰写系统讲解电压反馈运放环路稳定性。目前已完成前10部分本PDF将其合并并增补了原第三部分缺失的图3.13且添加书签方便阅读。资源共1个PDF文件约6.01MB。内容从波特图基础、分贝定义、滚降率等入手逐步展开稳定性分析工具箱涵盖数据手册信息、设计技巧、经验法则、Tina SPICE仿真与实际测试等适用于增益带宽小于20MHz的电压反馈运放设计也可帮助有经验工程师查漏补缺。已有2342人学习下载适合希望系统提升运放设计能力的学习者。1. 运放自激不是玄学Tim Green 的稳定性分析思路示波器上出现振荡波形运算放大器稳定性分析要回答的不是“这个运放会不会振”而是“这个运放配合这套反馈网络和负载闭环后还有多少余量”。很多工程师第一反应是换器件或者在反馈电阻上并一个电容试运气真正的问题往往在环路里。Tim Green 在 TI 的稳定性分析系列文章里把全流程收敛成三个量环路增益、闭合速率和相位裕度让自激问题从靠经验变成靠 Bode 图。这套方法适合硬件设计、FAE 选型支持、信号链调试的人不管做仪表放大器还是 ADC 驱动电路都绕不开。从这一套体系出发问题可以拆成三块先看环路增益在频域里长什么样再量化相位裕度和增益裕度最后用仿真和示波器把这两个量测出来。两级密勒补偿运放作为最常见的补偿结构也是负载变化时最容易被击穿稳定性的类型所以本文会单独拿一章来说它的容性负载死角和补偿参数。2. 环路增益 T(s) 与闭合速率看 Aol 和 1/β 就能预判稳定性2.1 从 Aol 与 1/β 的 Bode 图读出交点与闭合速率真实运放的开环增益 Aol 不是无穷大它在低频有高增益常见直流增益在 100 dB 左右从主极点开始每十倍频程下降 20 dB直到遇到非主极点后斜率变成 -40 dB/dec。反馈网络给运放反相端引入的反馈系数 β 同样有频率特性习惯用 1/β即噪声增益来和 Aol 比较。两条曲线在同一个 Bode 图里画出来交点就是环路增益 T(s)Aol(s)·β(s) 的 0 dB 交叉点。关键是看两条曲线在交点处的相对斜率这叫闭合速率closure rate。如果闭合速率是 20 dB/dec说明交点处只有一个主极点主导相位裕度通常在 90° 左右如果闭合速率是 40 dB/dec说明交点处已经有两个极点进入转折区相位裕度被压到接近 0°电路大概率自激。这是 Tim Green 整套频域分析中最先建立起来的一个直觉它把复杂的反馈系统稳定性判断简化为一个几何问题。import numpy as np def close_rate_slope(f1, gain1, f2, gain2): 根据相邻两个测试点估算闭合速率斜率单位 dB/dec dec np.log10(f2 / f1) slope (gain2 - gain1) / dec return slope这是从仿真导出的频响数据里快速区分 20 dB/dec 和 40 dB/dec 的小脚本。参数 f1、f2 是交点附近两个相邻频率点gain1、gain2 是对应的 T(s) 的 dB 值。如果算出来斜率在 -18 到 -22 之间按闭合速率法则可以判定为稳定区如果低于 -35要马上进入相位裕度定量分析。提示闭合速率法则给出的是趋势判断不是振荡时的精确相位。它用于设计前期筛选最合适最终还是要回到相位裕度读数。2.2 闭合速率与稳定性结论速查闭合速率主导极点数量相位裕度趋势工程结论20 dB/dec1约 90°稳定无需补偿40 dB/dec2接近 0°临界大概率自激0 dB/dec1/β 上翘与 Aol 平行视零点位置不确定必须定量确认表格里的“闭合速率”指 Aol 曲线与 1/β 曲线在交点的代数差值斜率。40 dB/dec 虽然对应理论上的相位裕度为零但真实运放的 Aol 曲线到高频还叠加了第二个或第三个极点实际表现往往比“临界”更糟直接变成振荡。所以 40 dB/dec 闭合速率一出现就不要心存侥幸直接进补偿流程。2.3 为什么 1/β 曲线斜率会影响稳定性1/β 曲线不是永远平坦。当反馈网络里出现电容例如反相输入端对地有寄生电容、或者在 Rf 上并联了补偿电容β 会随频率变化1/β 曲线就会出现零点和极点。1/β 曲线如果以 -20 dB/dec 斜率下降并与 Aol 相交闭合速率会变小对稳定性有利如果 1/β 曲线向上翘20 dB/dec再与 Aol 相交闭合速率变大就要小心振荡。理解这层关系比记住公式更重要。所谓加补偿电容本质就是把 1/β 曲线的形状改到让交点落在闭合速率 20 dB/dec 的区域。后面第 5 章讲的 Rf 并联超前电容就是这么做的。理想运算放大器模型里 Aol 无穷大分析中根本不存在闭合速率问题因此凡是看到“运放只要负反馈就稳定”的说法都是把真实运放的极点分布忽略了这正是实际调试里踩坑的源头。3. 相位裕度与增益裕度稳定性分析的两个量化指标3.1 相位裕度在 0 dB 交点处距离振荡边界的余量相位裕度的定义是环路增益 T(s) 幅值下降到 10 dB的频率 fs 上T(s) 的相位与 -180° 的差值。运算放大器负反馈本身有反相环节所以临界振荡点是 -180°。如果这个频率点上的相位是 -120°相位裕度就是 60°。这里的“相位裕度”不是运放手册里的开环相位而是整个闭环环路的相位合计。环路增益的 Bode 图里有两个交点要分清楚幅频与 0 dB 的交点叫增益交点相频与 -180° 的交点叫相位交点。设计目标通常是 45° 以上量产设计取 60° 左右比较稳妥。相位裕度不是越大越好过大会牺牲带宽和建立速度所以看到一个运放电路“稳得发闷”也要回头检查是不是补偿过头了。import numpy as np def phase_margin_from_ac(freq, mag_db, phase_deg): 从AC仿真数据中找增益交点并计算相位裕度 idx np.where(mag_db 0)[0] if len(idx) 0 or idx[-1] len(freq) - 1: return None i idx[-1] pm phase_deg[i] 180.0 return freq[i], pm参数说明freq 是频率数组mag_db 是环路增益幅值phase_deg 是相位数组。脚本先找幅值最后一次从正变负的位置读出这个频率点的相位加上 180° 就是相位裕度。实际使用时注意相位数据如果是 -180° 和 180° 之间跳变的原始数据先用 np.unwrap 展开否则 180 后会出现突变幅值过零的点可能有多个取最后一个才是高频主交点。3.2 增益裕度相位交点处幅值离 0 dB 还有多远增益裕度是相频曲线第一次到达 -180° 的频率上幅频远低于 0 dB 的绝对量。工程上常见的目标是 6 dB 以上电源类产品建议做到 10 dB。增益裕度不足时即使相位裕度看起来还可以负载变化或温度漂移也会把幅频抬高导致振荡。相位裕度阶跃过冲二阶近似典型表现适用场合30°约 50%强振铃发热不推荐45°约 25%明显过冲可接受一般控制环路下限60°约 9%轻微过冲建立快运放信号链首选75°约 3%几乎无过冲精密基准、ADC 驱动表里的过冲数值是二阶系统近似值针对单个主极点加单个非主极点的运放结构有参考意义。多极点系统例如输出级带大负载电容时实际过冲会比表里更剧烈不能只靠这个表下结论。3.3 噪声增益对相位裕度的牵引噪声增益就是 1/β。以同相放大器为例闭环增益 G1 时噪声增益也是 11/β 曲线就是 0 dB 直线和 Aol 的交点落在最高频最容易撞上运放内部的非主极点。G10 时噪声增益是 1020 dB1/β 曲线上移交点左移到 Aol 斜率更平缓的区域相位裕度反而变大。这就是跟随器比同相放大电路更容易自激的根本原因。这个规律也解释了为什么有的运放数据手册写明“非单位增益稳定最小增益 5”。这类运放内部补偿故意做轻把带宽做高但要求噪声增益足够大让交点避开高频极点。选型时看到这个参数就不要拿去做电压跟随器否则相位裕度可能只有十几度实测必然是振铃加自激。4. 用 LTspice 仿真运放环路增益注入法、网表与读数4.1 为什么不能只看 Aol 数据手册曲线数据手册里的 Aol 曲线只能看到运放本身的开环特性看不到反馈网络带来的 β 变化也看不到负载电容、输入寄生电容对环路的影响。稳定性分析必须把运放和反馈网络当成一个整体直接仿真环路增益 T(s)。T(s) 不能像无源网络那样直接跑 AC 分析因为运放输出到反相输入的反馈路径是闭合的必须先把环路断开。常见的断环点放在输出端与反馈电阻之间也有放在反相输入端的做法取决于电路结构。断环点的选择原则不要让断开操作改变反馈网络看到的阻抗否则测出来的 T 和实际环路不一致。工程上最常用的是大电感注入法用一个 1G H 的电感串进环路再用一个交流源在电感另一端注入 1V 测试信号。直流工作点不会被改变交流环路却被强制打开这是兼顾准确性和可操作性的做法。4.2 同相放大器环路增益仿真的完整网表下面这个网表是 G2 的同相放大器用 LTspice 自带的通用运放模型 opamp 搭了一个最小可跑的环路增益测试电路。保存成 loopgain.cir 后用 LTspice 直接打开按 Run 就能得到 Bode 图。* 同相放大器 G2 的环路增益仿真 R1 INP 0 1k ; 同相输入端偏置电阻 Rg INM 0 1k ; 反馈下臂电阻 Rf FB INM 1k ; 反馈上臂电阻 XU1 INP INM VCC VEE OUT opamp ; 通用运放模型 VCC VCC 0 15 ; 正电源 VEE VEE 0 -15 ; 负电源 L1 OUT FB 1G ; 断开环路的大电感 Vtest FB 0 DC 0 AC 1 ; 交流注入源 .ac dec 100 10 100Meg .options plotwinsize0逐行说明R1 给同相输入端建立直流偏置Rg 和 Rf 决定反馈系数 βRg/(RfRg)0.5噪声增益 1/β 就是 6 dB。XU1 调用 opamp 模型封装在 LTspice 标准库里实际项目里替换成目标型号的厂商 SPICE 模型网表结构不用变。L1 是 1G H 的电感交流下阻抗接近开路把运放输出端 OUT 和反馈网络端 FB 隔开。Vtest 是交流幅度 1V、直流 0V 的电压源从 FB 节点注入激励。仿真结束后在波形窗口添加表达式 V(out)/V(fb)幅频曲线就是环路增益的 dB 值相频曲线用于读相位裕度。由于注入点放在反馈网络这一侧这个表达式已经包含了反相端的 180° 相移所以临界振荡点出现在相位过 0° 的位置判断时把 0° 当成基准线增益曲线穿过 0 dB 那个频率点相位读数离 0° 越近越危险读数在 45° 以上基本可以认为设计安全。参数推荐值作用L11G H交流断开环路直流保持偏置VtestDC 0AC 1V注入激励不改变工作点AC 扫描范围10 Hz 到 100 MHz覆盖 0 dB 交叉点和相位交点运放模型先通用模型后厂商模型验证方法正确性后再做精确定量如果波形里相位从 -180° 跳到 180°不用理会那是主值显示翻转看图时以 0° 为基准线判断即可。LTspice 的相位轨迹通常会把这样的跳变显示出来不影响读数。4.3 从 Bode 图到瞬态用阶跃响应反过来校验仿真Bode 图给出相位裕度的具体数值但很多工程师对“这个相位裕度到底会不会振荡”没概念。方法很简单在同一个网表里把 Vtest 去掉把 L1 换成直接导线在 INP 上加一个小信号阶跃源跑瞬态分析看输出波形过冲。相位裕度 60° 的设计阶跃响应过冲应该在 10% 以内且没有持续振铃。如果瞬态波形已经出现衰减很慢的正弦说明 Bode 图读数里相位裕度已经不足 30°。瞬态校验还有一个作用验证仿真模型的交流小信号线性化是否和时域行为一致。模型如果被压摆率限制或者工作在非线性区AC 分析的结果就不可信。实际电路调试时也要用同一个双验证思路先用注入法测环路再用方波看瞬态两个结果互相印证。5. 两级密勒补偿运放的稳定性死角容性负载与补偿参数5.1 两级密勒补偿运放为什么在跟随器下最危险两级密勒补偿运放是市面上最常见的结构输入差分对加第一级增益中间是一个用密勒电容 Cc 把主极点压到很低频率的增益级后面跟一个推挽输出级。Cc 把主极点放在几赫兹到几十赫兹把输出端的非主极点推到频率很高处所以在没有外部负载时这种运放能做到单位增益稳定。但当输出端接上容性负载时输出级的输出电阻 Ro 和负载电容 CL 会另外形成一个极点频率是 1/(2π·Ro·CL)。Ro 在大电流输出运放上可能只有几欧姆但 CL 到了 100 nF 甚至微法级这个极点就会落到环路增益的 0 dB 交叉频率附近把闭合速率从 20 dB/dec 变成 40 dB/dec相位裕度急剧下降。def load_pole_freq(ro, cl): 计算输出负载电容形成的极点频率 return 1 / (2 * 3.1415926 * ro * cl)参数 ro 是运放开环输出电阻cl 是负载电容。算出来的频率如果和 Bode 图里 0 dB 交叉频率在同一数量级这个负载电容就必须进补偿设计。Ro 取数据手册里的典型值CL 取实际负载电容加上 PCB 寄生电容两者都要留余量。5.2 三种常见补偿的接法与参数起点补偿方式接法适用场景参数起点Rf 并联超前电容 CfCf 跨接在 Rf 两端容性负载不重需要保留带宽Cf 1/(2π·Rf·fc)fc 取 0 dB 交叉频率输出串联隔离电阻 RisoRiso 串在运放输出端反馈从 Riso 前取大电容负载、长线驱动Riso 从 10 Ω 开始按负载电容调整反相输入端并联电容 CgCg 并在 Rg 两端输入寄生电容大让 Rg·Cg 与 Rf·Cf 对称Cf 超前补偿的原理是给 β 引入一个零点在 Rf 上并联电容后高频时 Rf 被短路反馈系数变大1/β 曲线会出现上翘段和 Aol 的交点被推到更安全的位置。Cf 不是越大越好按上面的公式让零点落在 0 dB 交叉频率附近再用相位裕度读数微调。反馈电阻 Rf 越大需要的 Cf 越小几十 kΩ 的 Rf 配几 pF 到几十 pF 是常见值。Riso 隔离是另一个思路反馈电阻接在 Riso 之前负载电容被隔离在环路外CL 产生的极点不参与环路增益。缺点是负载端会产生压降负载调整率变差。如果负载电流会动态变化选 Riso 时要用最大负载电流下的压降倒推阻值上限不能只盯着稳定性。5.3 两级密勒补偿运放仿真时的模型边界做这类运放的稳定性仿真模型的精度限制主要在输出级。行为级模型例如 opamp 通用模型通常只有增益和少数极点不会体现输出级的限流、饱和以及输出阻抗随频率的变化。项目里做正式稳定性分析应该用厂商提供的宏模型并在仿真里把实际负载电容、PCB 寄生电容、封装引线电感都加上。宏模型给出的 Aol 曲线如果和数据手册对不上先怀疑模型版本不要先去调补偿。另外要注意共模抑制电路对稳定性分析的影响。共模抑制比描述的是输入共模电压对输出的串扰和反馈环路的相位裕度不直接相关但共模输入范围附近的输入级切换会让 Aol 曲线变形导致实际相位裕度和仿真不一致。做完整分析时让输入共模电压保持在数据手册推荐范围内排除这个变量再读 Bode 图。6. 一台示波器就能收尾阶跃过冲与可变电容法验证相位裕度6.1 从阶跃响应过冲反推相位裕度如果手上没有网络分析仪示波器加函数发生器就能完成稳定性摸底。给运放输入端加一个几十 kHz 的小信号方波输出端接示波器读取第一次过冲的百分比。二阶近似下过冲 10% 对应相位裕度约 60°过冲 25% 对应约 45°过冲超过 40% 就要判断为临界。这个测试必须在小信号条件下做输出摆幅控制在几百 mV 以内避免压摆率限制掩盖真实的相位行为。阶跃过冲对应相位裕度判断 5%约 70° 以上稳定余量充足10%约 60°稳定适合量产25%约 45°可用接近下限40% 以上约 30° 以下危险必须补偿6.2 可变电容扫描找到自激边界用一个可变电容从 1 nF 起缓慢加大输出负载电容同时保持输入方波。观察输出波形刚开始只是轻微圆角随后出现第一个过冲再增大电容开始振铃最后变成等幅正弦波。记下从“有振铃”到“自激”的电容值变化这就是该电路容性负载能力的实际边界。如果设计目标是驱动未知电容把隔离电阻接上后重做一遍扫描自激边界会明显后移。这一步是效率最高的稳定性验证动作因为容性负载是运放应用里触发稳定性问题最常见的隐藏变量。6.3 把负载电容余量放大再跑一遍仿真最后建议把仿真里的负载电容设置成实际最大值的 1.5 到 2 倍再读一次相位裕度。低温下运放内部非主极点会向低频移动Aol 的相位裕度会变差所以温度也要扫一遍。两个条件叠加后相位裕度仍然大于 45°这个电路才算真正交付。如果没到 45°就先把 Riso 或 Cf 往加大相位裕度的方向调重跑一遍注入法仿真直到两个条件下都过关。本文还有配套的精品资源点击获取