十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

运放频率补偿全解析:从自激振荡到相位裕度与Miller补偿

运放频率补偿全解析:从自激振荡到相位裕度与Miller补偿 做运放设计或者调试运放电路的人十有八九都遇到过这种怪现象明明是负反馈接成跟随器却在高频自激输出波形毛刺不断或者仿真里相位裕度看着有60度一上电路板接个长线负载就振给你看。频率补偿Frequency Compensation就是专门解决这一堆问题的核心手段也是从“运放能放大”到“运放稳定地放大”之间最关键的临门一脚。这篇文章我会从运放为什么需要补偿讲起把极点、零点、相位裕度这些概念掰开揉碎再给出实战中常用的Miller补偿、极点分裂、调零电阻参数估算方法附带环路增益仿真和故障排查经验。适合正在做模拟IC设计的初学者、用分立器件搭运放电路的硬件工程师以及被运放自激振荡折磨过的实验室选手。内容以CMOS两级运放为主线但思路通用于任意深度负反馈系统。1. 为什么运放会振荡——频率补偿的底层逻辑1.1 负反馈与自激振荡之间的那堵墙负反馈运放的基本结构是输入信号经过放大器放大再由反馈网络把输出的一部分送回反相输入端。从直觉看负反馈把输出“往下压”应该越稳定才对可实际电路不是这样“想当然”的。关键在于相位。真实运放开环增益并非恒定它包含多个极点每个极点都会让输出信号相对输入信号产生相位滞后。如果某个频率下反馈信号滞后相移达到180度负反馈就变成正反馈。此时如果环路增益还大于等于1电路就会在该频率维持振荡——经典的自激条件环路增益|Aβ| ≥ 1且环路相移达到180度。而频率补偿做的事情就是人为改变运放内部极点和零点分布让增益降到10dB之前相移不要提前走到-180度。换句话说在确保增益足够的同时给环路多留一点“相位余量”避免负反馈在某个频段偷偷变成正反馈。我习惯把这件事类比成开车环路增益是油门相位裕度是刹车距离。你油门踩得越深增益越高越要提前判断弯道高频极点在入弯前留足刹车空间如果空间不够必然冲出赛道——对应运放的自激振荡。1.2 相位裕度稳定性的量化标尺相位裕度Phase Margin, PM是判断运放稳定性的标准指标。定义是在环路增益下降到1即0dB的那个频率增益穿越频率unity-gain frequency处环路相移距离-180度还剩多少度。数学上写成PM 180° ∠Aβ(f_cross)其中f_cross是环路增益等于1时的频率。PM越大电路越稳定。PM 45°阶跃响应有明显振铃接近临界振荡PM ≈ 60°经典目标值响应快且过冲适中PM 75°非常稳定但往往以牺牲带宽为代价瞬态响应偏慢从我实际项目经验看大多数片内运放设计都会把PM定在60到70度之间。太小的PM在工艺角、温度、负载变化下会迅速恶化导致功能芯片在量产时出现“怪毛病”其实都是良率问题根源往往是对稳定裕量抠得太死。对于两级运放开环增益曲线典型是从直流开始以-20dB/dec斜率下降经过第二极点后斜率变为-40dB/dec。如果不做补偿第二极点往往落在增益穿越频率附近甚至是之前这会让PM严重不足。补偿的目标就是“极-点分裂”把第一极点推向更低频使它在0dB之前早早占主导同时把第二极点推向更高频让它在穿越频率之后才来捣乱。2. 频率补偿的核心思路与主流方案2.1 极点分裂米勒补偿是怎么把两个极点“推开”的两级运放中最经典的补偿方式是Miller补偿也叫极点分裂补偿。它的做法很简单在增益级第一级输出和第二级输出之间跨接一个电容Cc。因为第二级有增益这个电容在频率响应中会被放大米勒效应等效到第一级输出端的电容近似为Cc乘以第二级增益于是第一级极点被推到很低的频率形成主极点。同时跨接的电容在高频下把第二级的输入和输出近似短路使得第二级输出端的等效阻抗下降第二极点被推向更高的频率。两个极点一动一静迅速拉开距离这就是“极点分裂”名字的由来。最终得到两组关键关系主极点频率p1 ≈ 1 / (gmII · Ro1 · Ro2 · Cc)单位增益带宽GBW ≈ gmI / (2π · Cc)其中gmI是第一级跨导gmII是第二级输出级跨导Ro1、Ro2是第一级和第二级输出阻抗。到这里你会发现一个很有意思的结论两级运放的增益带宽积几乎完全由第一级跨导和补偿电容决定和输出级没有直接关系。所以想提高带宽要么增大gmI要么减小Cc但Cc不能无脑往小调否则主极点频率上移第二极点和零点就会进入危险区稳定性马上变差。Miller补偿同时还会带来一个右半平面零点RHP zero它会在幅频曲线上增加20dB/dec斜率并且严重滞后相位如果不处理会让PM再丢一截。解决办法是在补偿电容通路串联一个电阻Rz把零点移到左半平面甚至推到很高频这个电阻就是“调零电阻”或“源极退化电阻”在很多运放内部都有它的身影。2.2 主流补偿拓扑怎么选说完最基本的Miller补偿我们把视野放宽一点。实际流片时根据应用场景、功耗、负载条件不同并不总是一根Cc就能解决问题。补偿方式核心结构优点典型场景简单Miller补偿跨接单电容Cc结构简单、功耗低、面积小低速运放、片内基带信号处理Miller补偿调零电阻RzCc串联Rz消除RHP零点、相位提升明显通用型中速运放共源共栅Miller补偿通过共源共栅管隔离电容前馈路径弱化、抗RHP零点、PSRR好高精度运放、精密基准缓冲嵌套Miller补偿两级以上逐级串联电容支持多级高增益稳定裕度可控LDO、三运放仪表放大器等选型逻辑其实很简单极点数越多的环路越难稳定补偿每多一级代价就是面积和功耗。单级折叠共源共栅运放本身只有第二极点距离很远往往不需要额外补偿这也是很多高速运放采用单级结构的原因——省掉了补偿电容速度自然上去了。共源共栅Miller补偿Cascode Miller Compensation在精密设计里非常受欢迎。相比直接跨接Cc的方案它在信号前馈路径中插入了共源共栅晶体管几乎消除了Cc直通引起的RHP零点补偿电容可以做得更小也让第一级输出端看到的负载更干净。缺点是额外多出几个管子压摆率和电压裕度的设计空间需要权衡。嵌套Miller补偿则是针对三级甚至更多级运放。这类结构直流增益可以轻松做到120dB以上但如果直接套用两级补偿思路中间极点处理不当稳定性一塌糊涂。嵌套方案从最内层开始逐级向外套电容有点像是给多级放大器装了一套逐级释放“相位风险”的缓冲系统。对于大多数独立运放芯片来说两级结构足够三级更多出现在LDO内部误差放大器这些需要极高增益的应用中。3. 实操补偿参数估算、仿真与调整3.1 补偿电容与调零电阻的初步估算先给一个我自己常用的毛估流程。设计目标是单位增益接法下PM不低于60度GBW做到设定值。已知第一级跨导gmI 200μA/V目标GBW 10MHz推补偿电容Cc gmI / (2π · GBW) 200μA/V / (2π × 10MHz) ≈ 3.2pF这个值在常规CMOS工艺下不算大但要结合寄生电容考虑如果寄生已经有2pF那设计目标就危险了。所以做前仿时先把寄生估进去Cc通常会比理想值稍微留大10%到20%的调节空间。第二级跨导gmII如果是400μA/V负载电容CL 5pF那么未补偿前的第二极点估算为p2 ≈ gmII / (2π · CL) 400μ / (2π × 5p) ≈ 12.7MHz这个第二极点位置离GBW10MHz太近了PM必然不足。加上Cc后GBW还是10MHz但Cc通过米勒作用让第二极点被推到更远同时RZ用来消除零点。调零电阻Rz的经验范围是让零点从右半平面移至左半平面并与第二极点重合或推向高频。实用估算公式Rz ≈ 1 / gmII按上面的gmII 400μA/VRz ≈ 2.5kΩ。实际操作时我通常会先设成这个值然后通过扫描在2kΩ到3kΩ之间微调观察PM变化。有几个坑必须提醒Cc千万别一味求大。它直接决定压摆率SR I_tail / Cc若尾电流只有10μACc取3pFSR就只有3.3V/μs。很多反馈环路响应慢、建立时间长根源是SR被压住了而不是环路带宽不够。Rz不是越大越好。太大会把零点推到左半平面过高的频率失去调零意义太小则RHP零点又回来了。扫参数时一定要看PM和瞬态响应两个指标一起变。在标准CMOS工艺中多晶硅电阻和高阻poly的温漂差异明显Rz要预留充足的温度范围否则低温下零点位置漂移PM急速恶化。3.2 环路仿真与相位裕度读数完参数之后仿真才是真正拍板的地方。这里我建议用STBStability仿真或经典的Middlebrook方法而不是简单看开环幅频曲线。最直观的测试电路是接成单位增益缓冲器输入加交流小信号把运放输出直接连到反相输入端。用仿真器插入一个环路探针在反馈环路断开处注入AC扰动直接读环路增益的幅频和相频曲线。实际判稳的步骤我归纳成三步找到环路增益曲线穿越0dB的位置记下频率f_cross。看对应频率的相位计算PM 180° 相位值。再往前看一眼如果相位曲线上有个明显的回钩从-135°掉到-180°以上说明第二极点或零点就在穿越频率附近需要拉开距离。仿真设置上的细节容易翻车。很多人直接在开环状态下给运放加固定直流偏置测开环增益然后把开环A和反馈β相乘得到环路增益这种方法在单极点理想模型里可用但真实运放开环工作时输出直流电位往往无法稳定仿真器会报错或给出虚假结果。STB和Middlebrook方式的好处是不用破坏直流工作点能保证仿真的结果可信。瞬态仿真同样不能跳过。输入加一个小的阶跃信号观察输出过冲和振铃。PM 60度时阶跃过冲大约在8%到10%如果PM掉到45度以下你能看到明显的衰减振铃这比任何数值都直观。我通常在仿真报告里把PM、GBW、f_cross、SR、负载阶跃建立时间汇总成一张表方便做设计评审和后续改版回归。别小看这个习惯芯片改版一次周期很长表格往往是追溯问题的重要依据。4. 常见问题与排查技巧实录4.1 仿真稳定但实际板级振荡这是被问得最多的一种情况。芯片内部仿真明明PM有60度结果在PCB上一接就振荡。排查顺序我建议先是电源再是负载最后看反馈路径。电源问题是头号嫌疑犯。运放电源引脚到去耦电容之间的走线电感若过大会在高频形成电源-地阻抗尖峰导致运放内部的PSRR在高频时下降环路增益曲线在某个频段被抬高等效于PM急剧恶化。解决办法是在运放电源引脚旁边就近放100nF陶瓷电容并且用大面积地平面而不是悬空的长走线。负载同样关键。如果你驱动的是电缆或长走线线电容很容易达到数十pF甚至上百pF这会直接拉低第二极点让PM大幅缩水。遇到这种情况可以在输出和负载之间串联一个小电阻几十欧姆隔离电容性负载或者在反馈网络里加入一个超前-滞后补偿电容把相位“拉回来”。还有一个隐蔽坑是反馈路径的寄生电容。反馈电阻取值过大比如超过1MΩ再加上PCB走线寄生电容会在反馈网络中引入额外极点等效在环路里增加相位延迟。我在调试高增益放大电路时遇到过最后把反馈电阻从1MΩ降到100kΩ级别问题立刻消失。4.2 相位裕度看着够瞬态过冲却很大仿真的PM做到70度阶跃响应过冲却高达40%这是怎么回事我最早碰到时也疑惑了很久。后来才意识到PM只能反映小信号线性稳定性大信号跳变时运放会进入压摆限制slew rate limiting状态此时运放非线性地大量充放电输出过冲由SR和输入阶跃幅度共同决定。举个例子一个SR只有3V/μs的运放输入跳变1V需要300ns才能完成转换。在这个转换期间反馈环路实际上处于“开环”状态等输出电压重新跟上输入时积累的误差会以过冲形式释放出来。这时候你去调Cc这种线性补偿参数效果非常有限。正确的处理办法是分三步厘清先看压摆是不是瓶颈输入加一个斜坡信号测试其次看环路带宽是不是太慢建立时间是否由GBW决定最后才是重新评估PM。还需要理解PM给的是相位距离不是“稳定程度”的全部负载条件和输入大信号行为都会偏离小信号分析结构。如果确认是SR受限那就需要增大尾电流提高SR或者重新选型。如果带宽不足可以考虑在保持PM前提下减小Cc同时提高gmI而不是盲目叠加补偿网络。4.3 大电容负载导致稳定性恶化输出直接接一个较大的片外电容例如1μF时很多运放会丧失稳定性。原因很清晰大电容在输出端形成一个低极点与内部主极点、第二极点一起构成三极点系统在穿越频率附近相位损失严重出现典型的“三极点振荡”现象。这种情况下补偿策略和片内小电容负载完全不同。常用办法是使用一个带输出调零电阻的补偿网络让零点落在输出极点的位置附近用零点抵消掉极点的影响。有些运放芯片专门标注了“Cap Load Stable”或者“Unity-Gain Stable for Any Capacitive Load”就是内部已经针对大负载电容做过特殊补偿。如果只是实验室临时调试我有个土办法在输出端串联一个10到100欧姆的电阻先看振荡是否被压制。如果振荡消失说明问题基本锁定在大电容负载和第二极点的相互作用上再去查规格书确认补偿能力或者增加RC补偿网络不要一上来就怀疑芯片坏了。我在实测中还遇到过一种让人抓狂的情况输出并了大电容之后振荡频率很低几kHz级别且振幅缓慢变化这其实已经不是环路稳定问题而是输出级热反馈导致的次谐波振荡常见于功率输出级偏置电流过高时。这种故障需要调整静态工作点而不是加补偿电容能解决的。另外测试探头本身也可能参与振荡。示波器探头如果使用长接地夹其地线电感会在高频产生振铃看起来就像运放不稳定。高增益放大器测试时建议把探头地线夹短到接近IC地引脚或者使用嵌入式差分探头排除测量系统引入的假象。最后再分享一个偏好每次拿到一个新运放的样品我上电之前会先在数据手册上查三个参数——单位增益稳定是否成立、PM典型值是多少、输出短路电流和SR各是多少。这三个值基本决定了我后续调试路径的方向。频率补偿不是孤立存在的它贯穿于运放的架构设计、版图布局、封装引脚选择和PCB周围电路设计的每一个环节。希望这篇内容能让你在遇到运放振荡时少走几步弯路。
返回列表