拓冰建站拓冰建站
首页 / 资讯中心 / 正文

频率补偿深度解析:用相位裕度把放大器从振荡边缘拉回来

1. 为什么频率补偿是模拟设计的“保命课题”早些年我在实验室调试一个三级放大器上电之后示波器上看到的不是干净的阶跃响应而是一圈圈越来越大的振荡波形。当时第一反应是“电源没滤波”换了好几个低ESR电容纹丝不动。最后用网络分析仪一测环路增益好家伙相位裕度只差两三度整个环路已经站在振荡边缘了。从那之后我就明白一个道理放大器做出来不能稳定工作增益再高、带宽再宽都是白搭而让放大器稳定工作的关键手段就是频率补偿。频率补偿这个概念简单说就是通过外加电容、电阻或者调整内部拓扑去改变放大器开环增益的幅频和相频特性让它在闭环反馈下依然稳定。几乎所有运放、LDO、音频功放、高速接口里的缓冲器都离不开这一套。初学者往往盯着“增益带宽积”看觉得带宽够了就行但真正决定你有没有资格谈性能的是相位裕度。本文就把频率补偿的来龙去脉、常用手段和调试心得一次讲透适合正在学模集的在校生、刚接触信号链设计的工程师以及所有被“自激振荡”折磨过的人。2. 稳定性的本质一个负反馈系统的生死线2.1 为什么负反馈也会自激振荡负反馈放大器的基本结构大家都熟输入信号减去反馈信号之后经过增益级A放大再通过反馈网络β回到输入端。正常工作时反馈信号是“抵消”输入信号的系统稳定。但问题是放大器内部的晶体管、电容节点天生带有寄生极点信号每经过一个极点相位就会滞后。当环路增益|Aβ|还大于1的时候如果总的相位滞后已经达到180°那么反馈信号就会从“抵消”变成“加强”负反馈瞬间变成正反馈放大器进入振荡状态。这里经常有人混淆一个概念振荡条件不是相位滞后又怎么样而是“在|Aβ|1的频点上相位滞后超过180°”。所以我们讨论稳定性永远绕不开两个参数增益裕度和相位裕度。相位裕度就是环路增益降到10dB那个频点上实际相移与-180°之间的差值。工程上一般要求相位裕度至少45°稳妥一点做到60°到75°。裕度不足系统虽然不振荡但阶跃响应会出现严重的过冲和振铃裕度太离谱比如超过90°又说明补偿过度带宽和压摆率被严重牺牲。2.2 相位裕度是设计指标不是玄学很多刚入行的人问相位裕度到底多少合适我的经验是分场景看。普通精密运放做直流放大60°左右很舒服过冲小、稳定时间短。音频功放或者LDO这类对瞬态响应敏感的场景最好做到60°以上因为负载变化会引发环路增益的变化裕度被吃掉一部分之后就危险了。高速ADC驱动电路则更复杂为了保证建立时间内误差小于1/2 LSB相位裕度、闭环带宽、压摆率要联合考虑单纯追求某一个值没有意义。还有一种常见误解以为开环增益越高越容易振荡。严格说高增益本身不导致振荡振荡是因为增益滚降的速率和相位滞后叠加造成的。开环增益曲线如果以-20dB/dec的速率穿过0dB线通常相位裕度能保住但如果以-40dB/dec穿过相位滞后已经接近180°系统就很危险。频率补偿本质上就是在做一件事把开环幅频特性里的多个极点重新“安排”让增益穿越0dB时的斜率尽量接近-20dB/dec。3. 补偿前的准备找到你的极点和零点3.1 极点到底藏在哪做频率补偿不能瞎补得先知道极点在哪儿。一个放大器里每个高阻节点加上它对地的寄生电容就构成一个极点。比如共源放大器的输出节点漏极电阻R_d与栅漏寄生电容C_gd、下一级输入电容C_gs叠加就形成一个极点频率约等于1/(2π·R_d·C_para)。多级放大器里每一级贡献一个甚至多个极点开环传输函数就是这些极点的串联。要快速估算极点位置我的习惯是先画出小信号等效电路然后把每个节点上的“等效电阻”和“等效电容”都标出来。这里注意等效电阻不是简单的直流电阻在考虑米勒效应后某些节点上的等效电容会被放大很多倍极点频率会被大幅拉低。这部分是频率补偿最关键的前提——如果你连自己的极点都说不清楚后面所有补偿方案都是纸上谈兵。3.2 补偿手段的本质改写极点的位置频率补偿的方案五花八门但回归本质就两类一类是引入一个新的低频主极点让它在增益还很高的时候就开始滚降使得其他高频极点还没“来得及”造成太大相移时增益已经跌到0dB以下另一类是在传输函数里塞入零点用零点的正相移去抵消极点的负相移相当于给相位“续命”。整篇文章接下来的内容全都是围绕这两个基本动作展开的。我经常拿一个比喻解释给学生放大器就像一支合唱队每个极点是一个“慢半拍”的队员反馈环路是指挥。如果慢半拍的人太多指挥一喊“开始”声音不但没合上反而变成回声。频率补偿就是要么让一个人唱得特别慢其他人跟着他统一节奏要么在合适的位置安排几个“快半拍”的人把节奏拽回来。4. 密勒补偿最通用也最容易玩砸的手法4.1 密勒效应为什么会放大电容先说概念。当你把一个电容C_c跨接在放大器的输入和输出之间时由于存在电压增益A_v放大器输入端看进去的等效电容会变成C_c·(1A_v)。这就是密勒效应。为什么会有这个放大因为输入端的电压变化会通过电容传递到输出端再被放大后反馈回来相当于输入节点需要“额外”吸收更多的电荷才能完成同样的电压变化。电压增益越大这个反馈越强等效电容就越大。利用这个特性我们可以用一颗很小的片上电容实现非常大的等效补偿电容把主极点拉到很低的频率。比如一个两级运放第二级增益假设是100倍你只需要一颗1pF的密勒电容就能等效出100pF左右的补偿效果。这在芯片上省面积是惊人的——你不可能在片上真的放一颗100pF的电容那会占掉一大块宝贵的硅片面积。4.2 极点分裂把两个坏极点变成一好一坏密勒补偿更深层的价值在于“极点分裂”。两级放大器原本有两个相对较高的极点一个是第一级输出节点引入的另一个是第二级输出节点引入的。加上密勒电容之后传输函数会发生一个很漂亮的变化原来的主极点被推向更低的频率而原来的次极点被推向更高的频率两极之间的距离被拉开。这就是“极点分裂”的由来。用两级运放的标准模型来算第一级跨导gm1输出电阻R1节点寄生电容C1第二级跨导gm2输出电阻R2负载电容C2密勒电容Cc接在两级之间。补偿后主极点近似为ω_p1 ≈ 1 / (gm2 · R1 · R2 · C_c)次极点近似为ω_p2 ≈ gm2 · C_c / (C1·C2 C1·C_c C2·C_c)注意分子里有gm2项所以第二级跨导越大次极点频率越高这对稳定性是实实在在的好处。补偿前的两个极点可能都在几兆赫兹量级补偿后主极点可能掉到几千赫兹次极点却推到几十兆赫兹。这样一来增益从主极点开始以-20dB/dec滚降次极点在0dB穿越之后才出现相位裕度自然就有了。4.3 密勒补偿送来的“毒礼物”右半平面零点密勒补偿不是没有代价。由于电容Cc直接连接在第一级输出和第二级输出之间高频信号可以直接通过Cc“跳过”第二级的放大作用从输入端直接耦合到输出端。这条前馈通路会在传输函数里引入一个右半平面零点频率约为ω_z ≈ gm2 / C_c右半平面零点的危害在于它贡献的相位是滞后的而不是像普通零点那样做相位超前。也就是说这个零点不仅不会帮你提升相位裕度反而会在高频区间进一步拖累相位。这在反馈系统里是一个真正的麻烦事。解决右半平面零点的经典做法是“调零电阻”。在Cc的路径上串联一颗电阻R_z零点位置变成ω_z ≈ 1 / [C_c · (R_z - 1/gm2)]当R_z等于1/gm2时零点被推到无穷远处等于消除了这个有害零点当R_z稍微大于1/gm2时零点还能翻转到左半平面反过来提供相位超前进一步提升相位裕度。这也是为什么现代两级运算放大器里你几乎总能在密勒电容旁边看到一颗串联电阻。不过要注意这个电阻也会稍微降低次极点频率实际取值需要仔细权衡不是越大越好。5. 除了密勒还有哪些补偿思路5.1 简单粗暴的主极点补偿如果放大器的次极点频率本来就很高远在0dB穿越频率之上那问题就简单了直接在主导节点加一颗大电容把主极点压到足够低的位置。一级放大器经常这么干因为只有一个输出极点加电容不引入额外的次级点。好处是稳定、直观、好分析坏处是牺牲带宽而且大电容在片上不现实所以这种方法多见于分立元件电路或者对带宽要求不高的应用。这里有个要点主极点补偿的电容不是越大越好。我见过有人为了追求稳定硬塞了一颗过大的电容结果带宽被砍到只剩几百赫兹系统的建立时间反而变得很慢。稳定性和带宽永远是矛盾的两端补偿的目标是把它们折中到符合系统需求的位置。5.2 反馈网络里的引前补偿相位超前有时候问题不在放大器内部而在反馈网络本身。比如非反相放大器在反馈电阻两端并联一颗小电容就可以在反馈系数β的频率特性里制造一个零点。这个零点会在特定频段内减小反馈系数使得环路增益在那个频段内的相对幅值降低同时提供相位超前改善相位裕度。这也叫“反馈引前补偿”。我实际用过这种方式去修一个信号调理电路的振铃问题当时不想动放大器的内部补偿网络于是就在反馈电阻上并联了一颗几皮法的电容。效果立竿见影阶跃响应干净了不少。但要注意这种方法的相位改善范围有限而且会改变闭环带宽的高频特性在噪声增益比较高的应用里要特别小心别引入新的噪声问题。5.3 前馈补偿与零点注入还有一种思路叫前馈补偿在放大器的高增益路径旁边额外构建一条“快路径”让高频信号绕过滞后的主路径直接到达输出。这条旁路会在传输函数里产生一个左半平面零点提供相位超前补偿原有极点的相位滞后。典型应用场景是某些跨导放大器或者LDO内部的缓冲级。前馈补偿的效果依赖快路径的带宽和增益匹配做得好可以显著扩展带宽。但匹配做不好反而会在频率响应上留下坑坑洼洼的“毛刺”甚至引发两个路径之间的干涉振荡。我在设计一个高速缓冲器时试过这种拓扑仿了一圈发现工艺角下正负20%的容差波动把零点位置来回挪动相位裕度最差的情况直接跌破30°。从那以后我对前馈补偿的态度就是非必要不轻易用。5.4 各种补偿方案的适用场景速查补偿方案核心手段优点代价典型场景主极点补偿节点加电容简单稳定、可预测带宽损失大单级放大器、低速电路密勒补偿跨接电容调零电阻省面积、极点分裂效果好右半平面零点需要处理绝大多数片内多级运放反馈引前补偿反馈电阻并联电容不改内部结构、灵活改善范围有限、影响噪声分立电路、信号调理前馈补偿额外快速路径带宽拓展好匹配难、工艺敏感高速缓冲器、特殊拓扑6. 实战调参从仿真到板子的完整闭环6.1 用开环仿真看环路增益拿到一个放大器我建议第一步永远是做开环仿真直接看环路增益Aβ的幅频和相频曲线。在Cadence里用stb仿真或者用LTspice里经典的“中频断环”技巧都可以准确得到环路特性。关键是断环的位置要选对要在反馈路径上断开同时要在断点处正确端接负载和信号源阻抗否则测出来的环路增益会失真。看曲线的时候我一般按这个顺序来先找0dB交叉点读出此刻的相位计算相位裕度再看相位曲线有没有在低频段出现异常波动最后检查高频部分有没有漏掉的极点或零点。如果相位裕度在60°以下就要考虑补;如果超过90°说明补偿过重可以适当减小补偿电容来换回带宽。6.2 从欠补偿到过补偿一个调参实例举一个真实的例子。我曾经调一个两级折叠共源共栅运放目标单位增益带宽50MHz相位裕度60°以上。初始设计用了2pF密勒电容加1kΩ调零电阻仿真结果是带宽55MHz相位裕度只有42°。阶跃响应验证时1V阶跃过冲接近40%还带着明显振铃这个状态肯定不能交付。我先试着增加调零电阻到2kΩ希望利用左半平面零点拉相位。仿真结果显示相位裕度升到51°但高频增益曲线在10MHz附近出现了一个小鼓包这是零点作用和寄生极点打架的结果有点危险。于是我把密勒电容从2pF增到3pF调零电阻回落到1.5kΩ这次相位裕度有58°带宽降到44MHz。再三权衡后我最终用了3.5pF和1.2kΩ的组合相位裕度63°带宽40MHz过冲控制在15%以内。整个过程我做了十几轮扫描每一轮都在“多一点相位”和“少一点带宽”之间反复拉锯这才是频率补偿的日常。6.3 芯片设计里的PVT仿真别偷懒做IC的都知道只看典型工艺角、25°C、标准电压是不够的。补偿电容是电容而电容值在工艺偏差下能波动±15%甚至更多调零电阻如果是多晶电阻温度系数也不容忽视。我见过一个设计在TT角下完美换了SS角和高温之后直接振荡就是因为调零电阻阻值漂移把右半平面零点又给“放”了回来。所以补偿网络的仿真必须在所有工艺角、所有温度、所有电源电压组合下跑一遍。重点关注最差相位裕度出现在哪个组合那个就是你的设计能否交付的底线。通常SS角低温低电源电压的组合下PM会最差因为跨导会下降而寄生电容变化相对小。如果你在这个最差组合下还能保住45°以上量产才敢说稳。7. 板级调试示波器上看到的不一定是真相7.1 自激振荡的判别方法频率补偿好不好最终要看实物。板子上的放大器自激最典型的现象就是输出端出现高频正弦波频率可能在几十kHz到几十MHz不等而且这个波形和输入信号无关。用手碰一下输入端或者反馈电阻波形幅度会变化这是因为人体引入了额外的寄生电容改变了环路特性。还有一个隐蔽的现象放大器不发散但输出端叠加了细微的“毛刺”尤其在大信号阶跃时出现振铃。这就是相位裕度不足的早期信号是补偿网络需要微调的提示。此时别急着改电路先把探头换成最短的地线弹簧确保你测的是真实信号而不是探头地线电感惹的祸。7.2 测量相位裕度的实用方法板级测相位裕度最专业的手段是使用环路增益分析仪比如Venable、AP300这类设备在反馈环里注入一个很小的测试信号扫频得到环路增益和相位。如果没有这类设备也可以用一种土办法把放大器接成电压跟随器输入一个小的方波观察输出过冲比例。相位裕度与过冲有近似关系PM约60°时过冲大约8%PM约45°时过冲能到20%以上。虽然粗但在现场快速判断够用了。这个土办法的细节是输入方波的幅度要小到不足以触发压摆率限制否则过冲会被限制得太好看得出“系统很稳定”的错误结论。我一般用几十毫伏的小信号频率选在闭环带宽的十分之一左右让输出完全建立后再翻转这样观察到的过冲才真实反映相位裕度。7.3 补偿元件的布局比参数还重要板级调试中我吃过最大的亏是补偿电容的摆放。密勒电容或者反馈引前电容哪怕值完全正确只要走线过长串联电感一上来高频特性就会劣化。一个几纳亨的走线电感在几十兆赫兹的频率下就有接近1Ω的感抗足以让补偿零点偏移得面目全非。所以补偿电容要尽量靠近放大器引脚走线短而粗反馈电阻也一样。如果同一颗电容去耦了好几个功能那一定要用独立的过孔和走线避免共阻抗耦合。这些细节在原理图上看不出差别但在频谱仪和示波器上差别巨大。8. 温漂与负载效应补偿设计里最容易漏掉的两件事8.1 负载电容是相位裕度的隐形杀手很多人在设计补偿时默认负载是纯电阻或者干脆没接负载。但实际应用里下一级电路的输入电容、走线寄生电容、甚至PCB过孔电容全都算在负载电容里。负载电容一大输出极点频率就会降低如果它往主极点方向“靠拢”相位裕度会被急剧吃掉。最典型的就是运放驱动长线缆或者驱动一个带有大电容的ADC输入。低功耗运放的输出电阻往往不低遇到大负载电容时极点可能掉到几十千赫兹以内导致系统在小信号下表现正常、大信号下一加载就振。这时候设计者要考虑在输出端串一颗小电阻做隔离把负载电容与放大器极点隔离代价是形成一个新的低频极点需要再搭配零点补偿——一环套一环很考验整体功力。8.2 高温下相位裕度为什么会变差温度对频率补偿的影响常被低估。许多放大器的跨导gm随温度升高而下降而补偿电容的容值随温度变化相对温和。根据前面公式主极点频率与gm2的乘积有关系gm下降会导致极点重新分布更麻烦的是调零电阻如果是正温度系数的多晶电阻高温下阻值增加零点位置也跟着漂移。多种因素叠加最坏情况往往是高温而不是室温。因此我在流片前的最后一道仿真总是固定做“125°C最差分”的稳定性检查。不要被典型条件下的漂亮曲线迷惑一定要看极端条件下的表现。很多号称“单位增益稳定”的运放其实是在典型条件下稳定温度一爬上去就原形毕露。8.3 如何从架构上“预补偿”一个经验是与其后期拼命调补偿参数不如在架构设计阶段就给补偿留好余地。比如选择输入管的过驱动电压时适度降低gm虽然会让增益略降但极点位置会变得更可控再比如第二级采用共源极而不是源极跟随器能提供更高的gm2有助于把次极点推高给补偿减轻压力。架构上的选择远好过后期拿补偿网络去“救火”。9. 写在最后频率补偿不是“加电容”那么简单我做过的放大类电路不算特别多但每一个“从振荡到收敛”的案例都让我觉得频率补偿其实是在跟每一个极点谈判让谁当主极点让谁靠边站让零点在哪里补一刀。它的方法论并不复杂复杂的是对每一个参数背后的物理意义有足够清晰的认识。你越能准确说出“这颗电容改变了哪个节点的哪个极点频率”你的补偿就越有底气。最后再分享一个我个人的习惯每次调试补偿时都会在仿真图上同时打开相位裕度随温度、工艺角变化的曲线族一眼扫过去如果所有的线都保持在45°以上我才会放心把布局转入下一阶段。频率补偿这件事做的不是最优解而是最稳解——在真正的应用环境里稳比什么都重要。
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门