放頻率補(bǔ)償全解析:從自激振蕩到相位裕度與Miller補(bǔ)償)
做運(yùn)放設(shè)計(jì)或者調(diào)試運(yùn)放電路的人十有八九都遇到過這種怪現(xiàn)象明明是負(fù)反饋接成跟隨器卻在高頻自激輸出波形毛刺不斷或者仿真里相位裕度看著有60度一上電路板接個長線負(fù)載就振給你看。頻率補(bǔ)償Frequency Compensation就是專門解決這一堆問題的核心手段也是從“運(yùn)放能放大”到“運(yùn)放穩(wěn)定地放大”之間最關(guān)鍵的臨門一腳。這篇文章我會從運(yùn)放為什么需要補(bǔ)償講起把極點(diǎn)、零點(diǎn)、相位裕度這些概念掰開揉碎再給出實(shí)戰(zhàn)中常用的Miller補(bǔ)償、極點(diǎn)分裂、調(diào)零電阻參數(shù)估算方法附帶環(huán)路增益仿真和故障排查經(jīng)驗(yàn)。適合正在做模擬IC設(shè)計(jì)的初學(xué)者、用分立器件搭運(yùn)放電路的硬件工程師以及被運(yùn)放自激振蕩折磨過的實(shí)驗(yàn)室選手。內(nèi)容以CMOS兩級運(yùn)放為主線但思路通用于任意深度負(fù)反饋系統(tǒng)。1. 為什么運(yùn)放會振蕩——頻率補(bǔ)償?shù)牡讓舆壿?.1 負(fù)反饋與自激振蕩之間的那堵墻負(fù)反饋運(yùn)放的基本結(jié)構(gòu)是輸入信號經(jīng)過放大器放大再由反饋網(wǎng)絡(luò)把輸出的一部分送回反相輸入端。從直覺看負(fù)反饋把輸出“往下壓”應(yīng)該越穩(wěn)定才對可實(shí)際電路不是這樣“想當(dāng)然”的。關(guān)鍵在于相位。真實(shí)運(yùn)放開環(huán)增益并非恒定它包含多個極點(diǎn)每個極點(diǎn)都會讓輸出信號相對輸入信號產(chǎn)生相位滯后。如果某個頻率下反饋信號滯后相移達(dá)到180度負(fù)反饋就變成正反饋。此時如果環(huán)路增益還大于等于1電路就會在該頻率維持振蕩——經(jīng)典的自激條件環(huán)路增益|Aβ| ≥ 1且環(huán)路相移達(dá)到180度。而頻率補(bǔ)償做的事情就是人為改變運(yùn)放內(nèi)部極點(diǎn)和零點(diǎn)分布讓增益降到10dB之前相移不要提前走到-180度。換句話說在確保增益足夠的同時給環(huán)路多留一點(diǎn)“相位余量”避免負(fù)反饋在某個頻段偷偷變成正反饋。我習(xí)慣把這件事類比成開車環(huán)路增益是油門相位裕度是剎車距離。你油門踩得越深增益越高越要提前判斷彎道高頻極點(diǎn)在入彎前留足剎車空間如果空間不夠必然沖出賽道——對應(yīng)運(yùn)放的自激振蕩。1.2 相位裕度穩(wěn)定性的量化標(biāo)尺相位裕度Phase Margin, PM是判斷運(yùn)放穩(wěn)定性的標(biāo)準(zhǔn)指標(biāo)。定義是在環(huán)路增益下降到1即0dB的那個頻率增益穿越頻率unity-gain frequency處環(huán)路相移距離-180度還剩多少度。數(shù)學(xué)上寫成PM 180° ∠Aβ(f_cross)其中f_cross是環(huán)路增益等于1時的頻率。PM越大電路越穩(wěn)定。PM 45°階躍響應(yīng)有明顯振鈴接近臨界振蕩PM ≈ 60°經(jīng)典目標(biāo)值響應(yīng)快且過沖適中PM 75°非常穩(wěn)定但往往以犧牲帶寬為代價(jià)瞬態(tài)響應(yīng)偏慢從我實(shí)際項(xiàng)目經(jīng)驗(yàn)看大多數(shù)片內(nèi)運(yùn)放設(shè)計(jì)都會把PM定在60到70度之間。太小的PM在工藝角、溫度、負(fù)載變化下會迅速惡化導(dǎo)致功能芯片在量產(chǎn)時出現(xiàn)“怪毛病”其實(shí)都是良率問題根源往往是對穩(wěn)定裕量摳得太死。對于兩級運(yùn)放開環(huán)增益曲線典型是從直流開始以-20dB/dec斜率下降經(jīng)過第二極點(diǎn)后斜率變?yōu)?40dB/dec。如果不做補(bǔ)償?shù)诙O點(diǎn)往往落在增益穿越頻率附近甚至是之前這會讓PM嚴(yán)重不足。補(bǔ)償?shù)哪繕?biāo)就是“極-點(diǎn)分裂”把第一極點(diǎn)推向更低頻使它在0dB之前早早占主導(dǎo)同時把第二極點(diǎn)推向更高頻讓它在穿越頻率之后才來搗亂。2. 頻率補(bǔ)償?shù)暮诵乃悸放c主流方案2.1 極點(diǎn)分裂米勒補(bǔ)償是怎么把兩個極點(diǎn)“推開”的兩級運(yùn)放中最經(jīng)典的補(bǔ)償方式是Miller補(bǔ)償也叫極點(diǎn)分裂補(bǔ)償。它的做法很簡單在增益級第一級輸出和第二級輸出之間跨接一個電容Cc。因?yàn)榈诙売性鲆孢@個電容在頻率響應(yīng)中會被放大米勒效應(yīng)等效到第一級輸出端的電容近似為Cc乘以第二級增益于是第一級極點(diǎn)被推到很低的頻率形成主極點(diǎn)。同時跨接的電容在高頻下把第二級的輸入和輸出近似短路使得第二級輸出端的等效阻抗下降第二極點(diǎn)被推向更高的頻率。兩個極點(diǎn)一動一靜迅速拉開距離這就是“極點(diǎn)分裂”名字的由來。最終得到兩組關(guān)鍵關(guān)系主極點(diǎn)頻率p1 ≈ 1 / (gmII · Ro1 · Ro2 · Cc)單位增益帶寬GBW ≈ gmI / (2π · Cc)其中g(shù)mI是第一級跨導(dǎo)gmII是第二級輸出級跨導(dǎo)Ro1、Ro2是第一級和第二級輸出阻抗。到這里你會發(fā)現(xiàn)一個很有意思的結(jié)論兩級運(yùn)放的增益帶寬積幾乎完全由第一級跨導(dǎo)和補(bǔ)償電容決定和輸出級沒有直接關(guān)系。所以想提高帶寬要么增大gmI要么減小Cc但Cc不能無腦往小調(diào)否則主極點(diǎn)頻率上移第二極點(diǎn)和零點(diǎn)就會進(jìn)入危險(xiǎn)區(qū)穩(wěn)定性馬上變差。Miller補(bǔ)償同時還會帶來一個右半平面零點(diǎn)RHP zero它會在幅頻曲線上增加20dB/dec斜率并且嚴(yán)重滯后相位如果不處理會讓PM再丟一截。解決辦法是在補(bǔ)償電容通路串聯(lián)一個電阻Rz把零點(diǎn)移到左半平面甚至推到很高頻這個電阻就是“調(diào)零電阻”或“源極退化電阻”在很多運(yùn)放內(nèi)部都有它的身影。2.2 主流補(bǔ)償拓?fù)湓趺催x說完最基本的Miller補(bǔ)償我們把視野放寬一點(diǎn)。實(shí)際流片時根據(jù)應(yīng)用場景、功耗、負(fù)載條件不同并不總是一根Cc就能解決問題。補(bǔ)償方式核心結(jié)構(gòu)優(yōu)點(diǎn)典型場景簡單Miller補(bǔ)償跨接單電容Cc結(jié)構(gòu)簡單、功耗低、面積小低速運(yùn)放、片內(nèi)基帶信號處理Miller補(bǔ)償調(diào)零電阻RzCc串聯(lián)Rz消除RHP零點(diǎn)、相位提升明顯通用型中速運(yùn)放共源共柵Miller補(bǔ)償通過共源共柵管隔離電容前饋路徑弱化、抗RHP零點(diǎn)、PSRR好高精度運(yùn)放、精密基準(zhǔn)緩沖嵌套Miller補(bǔ)償兩級以上逐級串聯(lián)電容支持多級高增益穩(wěn)定裕度可控LDO、三運(yùn)放儀表放大器等選型邏輯其實(shí)很簡單極點(diǎn)數(shù)越多的環(huán)路越難穩(wěn)定補(bǔ)償每多一級代價(jià)就是面積和功耗。單級折疊共源共柵運(yùn)放本身只有第二極點(diǎn)距離很遠(yuǎn)往往不需要額外補(bǔ)償這也是很多高速運(yùn)放采用單級結(jié)構(gòu)的原因——省掉了補(bǔ)償電容速度自然上去了。共源共柵Miller補(bǔ)償Cascode Miller Compensation在精密設(shè)計(jì)里非常受歡迎。相比直接跨接Cc的方案它在信號前饋路徑中插入了共源共柵晶體管幾乎消除了Cc直通引起的RHP零點(diǎn)補(bǔ)償電容可以做得更小也讓第一級輸出端看到的負(fù)載更干凈。缺點(diǎn)是額外多出幾個管子壓擺率和電壓裕度的設(shè)計(jì)空間需要權(quán)衡。嵌套Miller補(bǔ)償則是針對三級甚至更多級運(yùn)放。這類結(jié)構(gòu)直流增益可以輕松做到120dB以上但如果直接套用兩級補(bǔ)償思路中間極點(diǎn)處理不當(dāng)穩(wěn)定性一塌糊涂。嵌套方案從最內(nèi)層開始逐級向外套電容有點(diǎn)像是給多級放大器裝了一套逐級釋放“相位風(fēng)險(xiǎn)”的緩沖系統(tǒng)。對于大多數(shù)獨(dú)立運(yùn)放芯片來說兩級結(jié)構(gòu)足夠三級更多出現(xiàn)在LDO內(nèi)部誤差放大器這些需要極高增益的應(yīng)用中。3. 實(shí)操補(bǔ)償參數(shù)估算、仿真與調(diào)整3.1 補(bǔ)償電容與調(diào)零電阻的初步估算先給一個我自己常用的毛估流程。設(shè)計(jì)目標(biāo)是單位增益接法下PM不低于60度GBW做到設(shè)定值。已知第一級跨導(dǎo)gmI 200μA/V目標(biāo)GBW 10MHz推補(bǔ)償電容Cc gmI / (2π · GBW) 200μA/V / (2π × 10MHz) ≈ 3.2pF這個值在常規(guī)CMOS工藝下不算大但要結(jié)合寄生電容考慮如果寄生已經(jīng)有2pF那設(shè)計(jì)目標(biāo)就危險(xiǎn)了。所以做前仿時先把寄生估進(jìn)去Cc通常會比理想值稍微留大10%到20%的調(diào)節(jié)空間。第二級跨導(dǎo)gmII如果是400μA/V負(fù)載電容CL 5pF那么未補(bǔ)償前的第二極點(diǎn)估算為p2 ≈ gmII / (2π · CL) 400μ / (2π × 5p) ≈ 12.7MHz這個第二極點(diǎn)位置離GBW10MHz太近了PM必然不足。加上Cc后GBW還是10MHz但Cc通過米勒作用讓第二極點(diǎn)被推到更遠(yuǎn)同時RZ用來消除零點(diǎn)。調(diào)零電阻Rz的經(jīng)驗(yàn)范圍是讓零點(diǎn)從右半平面移至左半平面并與第二極點(diǎn)重合或推向高頻。實(shí)用估算公式Rz ≈ 1 / gmII按上面的gmII 400μA/VRz ≈ 2.5kΩ。實(shí)際操作時我通常會先設(shè)成這個值然后通過掃描在2kΩ到3kΩ之間微調(diào)觀察PM變化。有幾個坑必須提醒Cc千萬別一味求大。它直接決定壓擺率SR I_tail / Cc若尾電流只有10μACc取3pFSR就只有3.3V/μs。很多反饋環(huán)路響應(yīng)慢、建立時間長根源是SR被壓住了而不是環(huán)路帶寬不夠。Rz不是越大越好。太大會把零點(diǎn)推到左半平面過高的頻率失去調(diào)零意義太小則RHP零點(diǎn)又回來了。掃參數(shù)時一定要看PM和瞬態(tài)響應(yīng)兩個指標(biāo)一起變。在標(biāo)準(zhǔn)CMOS工藝中多晶硅電阻和高阻poly的溫漂差異明顯Rz要預(yù)留充足的溫度范圍否則低溫下零點(diǎn)位置漂移PM急速惡化。3.2 環(huán)路仿真與相位裕度讀數(shù)完參數(shù)之后仿真才是真正拍板的地方。這里我建議用STBStability仿真或經(jīng)典的Middlebrook方法而不是簡單看開環(huán)幅頻曲線。最直觀的測試電路是接成單位增益緩沖器輸入加交流小信號把運(yùn)放輸出直接連到反相輸入端。用仿真器插入一個環(huán)路探針在反饋環(huán)路斷開處注入AC擾動直接讀環(huán)路增益的幅頻和相頻曲線。實(shí)際判穩(wěn)的步驟我歸納成三步找到環(huán)路增益曲線穿越0dB的位置記下頻率f_cross。看對應(yīng)頻率的相位計(jì)算PM 180° 相位值。再往前看一眼如果相位曲線上有個明顯的回鉤從-135°掉到-180°以上說明第二極點(diǎn)或零點(diǎn)就在穿越頻率附近需要拉開距離。仿真設(shè)置上的細(xì)節(jié)容易翻車。很多人直接在開環(huán)狀態(tài)下給運(yùn)放加固定直流偏置測開環(huán)增益然后把開環(huán)A和反饋β相乘得到環(huán)路增益這種方法在單極點(diǎn)理想模型里可用但真實(shí)運(yùn)放開環(huán)工作時輸出直流電位往往無法穩(wěn)定仿真器會報(bào)錯或給出虛假結(jié)果。STB和Middlebrook方式的好處是不用破壞直流工作點(diǎn)能保證仿真的結(jié)果可信。瞬態(tài)仿真同樣不能跳過。輸入加一個小的階躍信號觀察輸出過沖和振鈴。PM 60度時階躍過沖大約在8%到10%如果PM掉到45度以下你能看到明顯的衰減振鈴這比任何數(shù)值都直觀。我通常在仿真報(bào)告里把PM、GBW、f_cross、SR、負(fù)載階躍建立時間匯總成一張表方便做設(shè)計(jì)評審和后續(xù)改版回歸。別小看這個習(xí)慣芯片改版一次周期很長表格往往是追溯問題的重要依據(jù)。4. 常見問題與排查技巧實(shí)錄4.1 仿真穩(wěn)定但實(shí)際板級振蕩這是被問得最多的一種情況。芯片內(nèi)部仿真明明PM有60度結(jié)果在PCB上一接就振蕩。排查順序我建議先是電源再是負(fù)載最后看反饋路徑。電源問題是頭號嫌疑犯。運(yùn)放電源引腳到去耦電容之間的走線電感若過大會在高頻形成電源-地阻抗尖峰導(dǎo)致運(yùn)放內(nèi)部的PSRR在高頻時下降環(huán)路增益曲線在某個頻段被抬高等效于PM急劇惡化。解決辦法是在運(yùn)放電源引腳旁邊就近放100nF陶瓷電容并且用大面積地平面而不是懸空的長走線。負(fù)載同樣關(guān)鍵。如果你驅(qū)動的是電纜或長走線線電容很容易達(dá)到數(shù)十pF甚至上百pF這會直接拉低第二極點(diǎn)讓PM大幅縮水。遇到這種情況可以在輸出和負(fù)載之間串聯(lián)一個小電阻幾十歐姆隔離電容性負(fù)載或者在反饋網(wǎng)絡(luò)里加入一個超前-滯后補(bǔ)償電容把相位“拉回來”。還有一個隱蔽坑是反饋路徑的寄生電容。反饋電阻取值過大比如超過1MΩ再加上PCB走線寄生電容會在反饋網(wǎng)絡(luò)中引入額外極點(diǎn)等效在環(huán)路里增加相位延遲。我在調(diào)試高增益放大電路時遇到過最后把反饋電阻從1MΩ降到100kΩ級別問題立刻消失。4.2 相位裕度看著夠瞬態(tài)過沖卻很大仿真的PM做到70度階躍響應(yīng)過沖卻高達(dá)40%這是怎么回事我最早碰到時也疑惑了很久。后來才意識到PM只能反映小信號線性穩(wěn)定性大信號跳變時運(yùn)放會進(jìn)入壓擺限制slew rate limiting狀態(tài)此時運(yùn)放非線性地大量充放電輸出過沖由SR和輸入階躍幅度共同決定。舉個例子一個SR只有3V/μs的運(yùn)放輸入跳變1V需要300ns才能完成轉(zhuǎn)換。在這個轉(zhuǎn)換期間反饋環(huán)路實(shí)際上處于“開環(huán)”狀態(tài)等輸出電壓重新跟上輸入時積累的誤差會以過沖形式釋放出來。這時候你去調(diào)Cc這種線性補(bǔ)償參數(shù)效果非常有限。正確的處理辦法是分三步厘清先看壓擺是不是瓶頸輸入加一個斜坡信號測試其次看環(huán)路帶寬是不是太慢建立時間是否由GBW決定最后才是重新評估PM。還需要理解PM給的是相位距離不是“穩(wěn)定程度”的全部負(fù)載條件和輸入大信號行為都會偏離小信號分析結(jié)構(gòu)。如果確認(rèn)是SR受限那就需要增大尾電流提高SR或者重新選型。如果帶寬不足可以考慮在保持PM前提下減小Cc同時提高gmI而不是盲目疊加補(bǔ)償網(wǎng)絡(luò)。4.3 大電容負(fù)載導(dǎo)致穩(wěn)定性惡化輸出直接接一個較大的片外電容例如1μF時很多運(yùn)放會喪失穩(wěn)定性。原因很清晰大電容在輸出端形成一個低極點(diǎn)與內(nèi)部主極點(diǎn)、第二極點(diǎn)一起構(gòu)成三極點(diǎn)系統(tǒng)在穿越頻率附近相位損失嚴(yán)重出現(xiàn)典型的“三極點(diǎn)振蕩”現(xiàn)象。這種情況下補(bǔ)償策略和片內(nèi)小電容負(fù)載完全不同。常用辦法是使用一個帶輸出調(diào)零電阻的補(bǔ)償網(wǎng)絡(luò)讓零點(diǎn)落在輸出極點(diǎn)的位置附近用零點(diǎn)抵消掉極點(diǎn)的影響。有些運(yùn)放芯片專門標(biāo)注了“Cap Load Stable”或者“Unity-Gain Stable for Any Capacitive Load”就是內(nèi)部已經(jīng)針對大負(fù)載電容做過特殊補(bǔ)償。如果只是實(shí)驗(yàn)室臨時調(diào)試我有個土辦法在輸出端串聯(lián)一個10到100歐姆的電阻先看振蕩是否被壓制。如果振蕩消失說明問題基本鎖定在大電容負(fù)載和第二極點(diǎn)的相互作用上再去查規(guī)格書確認(rèn)補(bǔ)償能力或者增加RC補(bǔ)償網(wǎng)絡(luò)不要一上來就懷疑芯片壞了。我在實(shí)測中還遇到過一種讓人抓狂的情況輸出并了大電容之后振蕩頻率很低幾kHz級別且振幅緩慢變化這其實(shí)已經(jīng)不是環(huán)路穩(wěn)定問題而是輸出級熱反饋導(dǎo)致的次諧波振蕩常見于功率輸出級偏置電流過高時。這種故障需要調(diào)整靜態(tài)工作點(diǎn)而不是加補(bǔ)償電容能解決的。另外測試探頭本身也可能參與振蕩。示波器探頭如果使用長接地夾其地線電感會在高頻產(chǎn)生振鈴看起來就像運(yùn)放不穩(wěn)定。高增益放大器測試時建議把探頭地線夾短到接近IC地引腳或者使用嵌入式差分探頭排除測量系統(tǒng)引入的假象。最后再分享一個偏好每次拿到一個新運(yùn)放的樣品我上電之前會先在數(shù)據(jù)手冊上查三個參數(shù)——單位增益穩(wěn)定是否成立、PM典型值是多少、輸出短路電流和SR各是多少。這三個值基本決定了我后續(xù)調(diào)試路徑的方向。頻率補(bǔ)償不是孤立存在的它貫穿于運(yùn)放的架構(gòu)設(shè)計(jì)、版圖布局、封裝引腳選擇和PCB周圍電路設(shè)計(jì)的每一個環(huán)節(jié)。希望這篇內(nèi)容能讓你在遇到運(yùn)放振蕩時少走幾步彎路。