世界是連續的
想想你最後聽到的那個聲音。鼓膜上的空氣壓強並不是從一個固定值跳到另一個固定值——它是平滑地、滑過中間的*每一個*取值。聲音、光、溫度、打到你手機上的無線電波:它們全都是連續的。沒有最小的台階,也沒有一張允許取值的清單。任意兩個讀數之間,總還有另一個讀數,那之中又還有一個,永無止境。
數位設計活在相反的世界裡。一個數位訊號只允許取兩個值——一個靠近電源軌的電壓(叫它 1)或者靠近地的電壓(叫它 0)——而且它*被期望*在兩者之間乾脆俐落地跳變。這份乾淨是一份禮物:它讓你可以把數十億個閘堆疊起來,而完全不必擔心一丁點電壓雜訊會把一個位元翻掉。類比放棄了這份禮物。類比訊號本身就是那個平滑的、處於中間狀態的東西,而它能取的每一個值都有意義。
為什麼我們仍然離不開類比
既然數位這麼乾淨,為什麼不把整顆晶片都做成數位的?因為世界不答應。麥克風、相機像素、溫度感測器、天線——這些東西*一開始*都是一個連續的物理量。總得有個東西去接住這個平滑的訊號,把它放大、把它清理乾淨,再以位元能用的形式交給數位核心。那個東西就是類比,而且繞不開它:每個訊號穿過晶片這趟旅程的第一毫米和最後一毫米都是類比的,因為那正是晶片與現實相遇的地方。
類比還幹著一些數位根本幹不了的活。它產生數位部分連運轉都離不開的穩定基準電壓和乾淨時脈。它管理電源——把電池那不斷下垂的電壓變成邏輯所要求的穩如磐石的供電。而每當一個微弱訊號必須先被從雜訊裡哄抬出來、別人才讀得到的時候,那就是一個放大器——op-amp及其親戚——在幹類比的活。
一種不同的思維方式
從數位一路走來,最難調整的是心態。在數位裡你問的是*這是 1 還是 0?*——一個有標準答案的是非題。在類比裡,問題從來不會收得那麼乾淨俐落:增益*有多大*、*離*雜訊底*有多近*、*離*起振*有多遠*、晶片熱起來時這東西*漂移了多少*。每一個答案都是一根滑動標尺上的某個數,而幾乎每一個數都是在跟另一個數做權衡。
在這種思維裡最重要的那一個數,是轉導(寫作 gm):一個電晶體的輸入電壓有多強地操控它的輸出電流。它是增益的原材料。但你從來不會白白得到 gm——你得用偏置電流去買它,而更多的偏置電流要花掉功耗和晶片面積。這個套路在類比裡處處重演:增益與頻寬相權衡,速度與功耗相權衡,低雜訊則同時跟這兩者相權衡。你做的從來不是在*解*一個問題,而更像是在*平衡*一個問題。
gm = 2*Id / Vov ; transconductance of a MOSFET in saturation
; Id = bias (drain) current
; Vov = overdrive voltage = Vgs - Vth
; intuition: want more gm? spend more bias current Id.為什麼類比拒絕被抽象
數位設計能成立,靠的是一個美麗的謊言:一個閘是一個完美的、瞬時的、不怕雜訊的「1 或 0」元件。這個謊言撐得足夠好,好到你可以忘掉底下的物理,只管去拼裝邏輯。類比沒法撒這個謊。這裡沒有乾淨的 0/1 可以躲在後面,於是物理永遠不會被抽象掉——它永遠有一票。
尤其有三個物理事實拒絕被忽略。雜訊:電子隨熱而抖動,於是每一根線都帶著一陣微弱、無法消除的嘶嘶聲;你能用的最小訊號是由這個底雜訊決定的,而不是由你的聰明決定的。溫度:一個電晶體的行為會隨著晶片冷熱而變化,於是一個在室溫下完美的電路,到了 85 度可能就垮了。失配:兩個被畫成一模一樣的電晶體,從來都不會真的一模一樣——製造時原子落下的位置略有不同——而類比電路常常恰恰依賴於兩個元件*真正*相等。數位設計師基本上可以把這三樣都無視掉。類比設計師則每一天都在圍繞著它們做設計。
混合訊號的邊界
一顆現代晶片並不是純粹的這一種或那一種——它是混合訊號的,一圈類比的邊緣包裹著一個數位核心,兩者之間有一條清晰的邊界。朝一個方向跨過這條邊界,是類比數位轉換器(ADC)的活:它盯著一個平滑、連續的電壓,產出一串數字。朝另一個方向跨回來,則是數位類比轉換器(DAC),它把數字重新變回一個平滑的電壓。
這種穿越從來不是免費的。要把一個連續訊號變成數字,你必須幹兩件粗暴的事:把時間剁成一個個離散的瞬間(取樣),再把每次測量四捨五入到一組有限的電平之一(量化)。這種四捨五入會扔掉一點點訊號——它引入了一種屬於它自己的雜訊——而這份損失給品質定下了一個硬天花板。標準的量尺是訊噪比(SNR):真實訊號站得比雜訊底高出多少。
SNR = 6.02*N + 1.76 ; ideal SNR in dB of an N-bit converter ; each extra bit of resolution buys ~6 dB more SNR ; 8-bit -> ~50 dB ; 16-bit -> ~98 dB
類比在晶片上待在哪裡
一旦你認得了類比的樣子,你幾乎能在任何一顆晶片上把它指認出來。它聚集在少數幾個一眼可辨的地方,永遠都在晶片觸碰某種物理事物的那條邊緣上——電源、時間、天線、感測器,或者數位核心本身。
- 感測器前端:那些低雜訊放大器,把來自麥克風、相機像素或生物訊號的——一個微小而脆弱的電壓——乾淨地抬升到能被測量的高度。
- SerDes 與 PHY:那些高速 I/O,把位元沿著一根纜線或背板驅動出去,再在遠端把它們恢復出來;在那裡,數 GHz 的邊緣儘管承載著數位資料,本質上卻是純類比的。
- 時脈(PLL):那些鎖相迴路,把一個慢而乾淨的基準倍頻成數位核心運行所依靠的那個又快又精準的時脈——一個監管著自身定時的回授迴路。
- 電源管理:那些穩壓器和基準,把帶雜訊、不斷下垂的電池電壓變成每一個模組都依賴的穩定供電,也包括位於其核心的那個溫度穩定的基準。
- 資料轉換器:那些恰好坐落在混合訊號邊界上的 ADC 和 DAC,在連續世界與位元之間往返穿梭著訊號。
這一切,都是用你早已認識的那些樸素零件搭起來的——MOSFET,以CMOS方式連起來,外加電阻和電容。改變的是你*怎麼去想*它們:不是把它們當成在 1 和 0 之間猛地跳變的開關,而是當成一個個連續的、被輕柔操控的電流閥門。本主線接下來的內容,會一級一級地教你這種思維方式,就從所有魔法裡最簡單的那個開始——讓單單一個電晶體去放大。