設定工作點
在數位世界裡,電晶體是一個開關——要麼全開要麼全關,非0即1,你絕不會在中間逗留。類比恰恰相反。在這裡你故意把每個MOSFET停在*中間*,停在它特性曲線最陡峭的那段中段,並用穩定的直流電壓和電流把它鎖在那裡。這個靜止狀態——訊號尚未到來時流動著的那份安靜電流、各個端子上坐著的那些安靜電壓——就是[[bias-point|工作點]],也叫Q點(Q代表quiescent,意思是*靜止*)。
把它想像成在孩子們跳上去之前先把蹺蹺板調平。你先讓木板保持水平、穩住;*然後*在一端輕輕一壓,另一端就會產生乾淨、成比例的響應。如果木板一開始就已經狠狠砸到地上,那怎麼壓都沒用。電晶體也一樣:你把它偏壓進它那段響應靈敏的飽和區(閘極高於閾值,汲極電壓高到足以讓它待在那裡),只有這樣,騎在那份直流之上的微小訊號才能產生乾淨、放大後的輸出。偏壓就是那塊調平的木板,訊號就是那輕輕的一壓。
具體來說,工作點不過是每個元件的幾個直流數字:汲極電流I_D、閘源電壓V_GS,以及過驅動電壓V_ov = V_GS − V_th(你把閘極推過開啟閾值多遠)。你可以用元件方程手算出它們,但實際工作中你會讓模擬器跑一個.op——也就是工作點求解——它會報告靜止狀態下每個節點的電壓和每條支路的電流。那份列印輸出就是其餘一切賴以建立的基礎。
* DC operating point: solve all node voltages & branch currents at rest .op * (simulator prints, e.g.) * M1: Id = 50uA Vgs = 0.65V Vth = 0.45V Vov = 0.20V * M1: region = saturation
為什麼偏壓很重要
這裡有一點新手會低估:工作點不只是*把電路打開*——它還在暗中決定這個電路有多好。它所控制的最重要的一個量就是[[transconductance|跨導]],記作gm:閘極電壓的一個小抖動有多強地轉化成汲極電流的抖動。gm越大意味著增益越大。而gm幾乎完全由你所選的偏壓電流決定。
先說白話版本:推更多的靜態電流穿過一個電晶體,它就變得更靈敏——同樣一下電壓的輕推能搬動更多電流,所以它放大得更猛。現在說數字。對於工作在飽和區的MOSFET,有一個簡潔而著名的關係式:
gm = 2 * Id / Vov ; transconductance from bias * Intrinsic gain of one transistor = gm * ro * where ro is the device's output resistance (how flat its * current-source behavior is). For a common-source stage: Av = -gm * ro ; small-signal voltage gain (sign = inverting)
所以這條因果鏈是直截了當的:偏壓電流 → gm → 增益。電流選得太小,gm就垮掉,這一級幾乎放不動,整個電路遲鈍又嘈雜。但你也不能把電流一味往天上拉,這就引出了偏壓控制的第二樣東西:裕度(headroom)。每個電晶體都需要一個最小的汲源電壓才能留在飽和區;堆疊的元件疊太多,或者輸出擺幅擺得太遠,其中某一個就會掉出飽和區。這時訊號就會削頂(clip)——在電源軌處被壓平,就像一個歌手嘶吼到超出自己音域。換句話說,偏壓錯了會以兩種相反的方式失敗:太小讓你沒有增益,太大(或分配得不好)讓你沒有裕度、導致削頂。
電流鏡
你現在知道整個電路都繫於讓乾淨、定義明確的電流流進每個電晶體。可是,當電源電壓在漂移、溫度在擺動時,你要如何把一個精確的電流——比如恰好50 µA——*送到*散佈在晶片各處的十幾個地方?辦法是:認真做出一份好電流,做一次,然後把它複製到處都是。幹這件複製活兒的主力就是[[current-mirror|電流鏡]],毫不誇張地說,它是整個類比IC設計中用得最多的基本構件。
這個把戲靠的是關於匹配電晶體的一個事實:如果兩個完全相同的MOSFET共享同一個V_GS,它們就流過相同的汲極電流。於是你取一個參考電流I_REF,把它強行灌過一個接成*二極體接法*的電晶體(M1)——閘極和汲極短接。那個電晶體會自動建立起恰好吞下I_REF所需要的那個V_GS。現在你只要把同一個V_GS交給第二個完全相同的電晶體(M2)。M2別無選擇:同樣的V_GS、同樣的元件,於是它導通同樣的電流。M1*讀取*電流並設定電壓;M2則從那個電壓*重新造出*電流。參考電流是音叉,鏡像輸出則以同樣的音高鳴響。
* Simple NMOS current mirror * M1 diode-connected (gate=drain) is the 'reference' side * M2 shares the same Vgs and 'mirrors' the current IREF vdd n_gate 50u ; the reference current we want to copy M1 n_gate n_gate 0 0 nch W=2u L=0.2u ; diode-connected: G=D M2 out n_gate 0 0 nch W=2u L=0.2u ; same Vgs -> same Id ~ 50uA .op
把電流複製到各處
一旦你能複製電流,兩個超能力就隨之而來。第一:縮放。因為汲極電流隨電晶體的寬長比(W/L)縮放,你不必非得1:1複製。把輸出電晶體做成兩倍寬,它就鏡像出*兩倍*的電流;做成一半寬,就鏡像出一半。僅靠調整鏡像各支路的尺寸,單單一個參考就能扇出一整族電流——1×、2×、½×——就像一個主時鐘可以驅動許多不同大小的齒輪。
* Ratioed mirror: scale the copy by the W/L ratio * I_out / I_ref = (W/L)_out / (W/L)_ref M1 ref ref 0 0 nch W=2u L=0.2u ; reference leg (1x) M2 o2 ref 0 0 nch W=4u L=0.2u ; copies 2 x I_ref M3 o3 ref 0 0 nch W=1u L=0.2u ; copies 0.5 x I_ref
第二:主動負載。電流鏡的輸出電晶體表現得像一個電流源,而電流源具有非常高的輸出電阻(ro)。回想一下,一級的增益是gm·ro——所以如果你把一個普通的電阻負載換成一個充當負載的*鏡像*,你就在極小的面積裡得到了一個巨大的等效ro,增益隨之飆升。這就是為什麼你會看到幾乎每一個差動對和增益級的頂部都坐著一個電流鏡:它身兼兩職,既給這一級提供偏壓,又充當一個高阻抗的主動負載——這種阻抗是一個被動電阻在不吃掉整塊晶片的前提下永遠做不到的。
基準與能隙
電流鏡忠實地複製一個電流——可複製的是*什麼*?每個鏡像都需要一個原本:一個真正穩定的參考電流或電壓。而深層的難題就在這裡。那些顯而易見的造基準方法全都會漂移。用一個電阻把電流繫到電源上,電池一塌它就跟著動。依賴一個電晶體的閾值或一個電阻的阻值,這兩者又都隨溫度游移。你需要一個幾乎不在乎電源電壓或溫度的*真理*之源——一顆用來導航的不動之星。
那個著名的解法就是[[bandgap-reference|能隙基準]],它的思路很漂亮:用一種溫度漂移去抵消另一種相反的溫度漂移。任何矽晶片內部都有兩個天然電壓隨溫度朝相反方向移動。一個二極體(或電晶體)的基極-射極電壓會隨發熱而下降——把它叫做CTAT,即*與絕對溫度互補*(Complementary To Absolute Temperature),大約以每°C下滑−2 mV。與此同時,兩個跑在不同電流密度下的這類接面之間的*差值*卻隨溫度*上升*——把它叫做PTAT,即*與絕對溫度成正比*(Proportional To Absolute Temperature)。單拿任何一個當基準都沒用,因為各自都在漂。但若按恰到好處的比例把一個下降的電壓加到一個上升的電壓上,斜率就會互相抵消,留下一個幾乎平坦的和。
* Bandgap: sum a falling (CTAT) and a rising (PTAT) term V_BG = V_BE + K * V_T * V_BE : base-emitter voltage, CTAT (~ -2 mV/degC) * V_T : thermal voltage kT/q, PTAT (~ +0.087 mV/degC) * K : scaling chosen so the two slopes cancel * Result: V_BG ~ 1.2 V, nearly flat over temperature
從那一個穩定的~1.2 V出發,其餘的便水到渠成:把它壓降在一個受控良好的電阻上,造出一個穩定的參考*電流*,然後讓你的電流鏡把那個電流複製、縮放到晶片上的每一個模塊。能隙是那顆不動之星;電流鏡則是把它的方位帶到各處的艦隊。
在PVT上的漂移
沒有哪個基準是完美的,也沒有哪個偏壓能紋風不動——因為矽本身就是一個移動的靶子。那三樣跟你作對的東西打著同一面旗號:PVT——製程(Process)、電壓(Voltage)、溫度(Temperature)。每一個類比電路都必須能持續工作,不是在某個整齊的標稱條件下,而是要在這三者全部、同時構成的整個包絡範圍內,持續工作好幾年。
- 製程(P):沒有兩片晶圓是完全相同的。閾值電壓、電阻阻值、電晶體的強弱在不同批次之間、甚至在同一顆晶片內部都會漂移。晶圓廠會交給你一套角點模型(慢/典型/快,slow/typical/fast),而你必須驗證你的偏壓在它們全部之下都能存活——這正是為什麼電流鏡複製的是匹配元件之間的*比值*而非絕對值的最深層原因,因為比值能抵消掉大部分製程離散。
- 電壓(V):電源從來都不是恰好的標稱值。電池會塌陷,穩壓器會有漣波,相鄰的電路還會把電源軌往上往下猛拽。一個好的基準和一個設計良好的電流鏡必須即便在電源移動時也把它們的電流穩住——這被量化為電源抑制比(supply rejection)。
- 溫度(T):一顆晶片可能要從冰冷的−40 °C一路工作到灼熱的+125 °C。遷移率、閾值、接面電壓全都隨熱而滑移——這正是能隙存在的全部理由,也是為什麼你要在整個溫度範圍內、而不只是在室溫下,對每一個偏壓做一遍合理性檢查。
你真正抓住漂移的辦法,是在模擬裡把它掃一遍。你不會只在標稱點跑一次.op——你會讓工作點隨溫度(或電源)在其範圍內一步步推進時被反覆重解,並盯著你的參考電流和gm是否守得住。一條平直的線意味著偏壓穩健;一條下垂或上揚的線則警告你,這電路到了現場某處就會亂來。
* Sweep the bias across temperature and watch the reference current .dc temp -40 125 5 ; step temperature, -40 to +125 C .print dc i(vmeas) ; reference/bias current vs. temperature * A good bandgap-derived bias stays nearly flat across this sweep