計)
1. 項目概述為什么從SAR ADC開始在模擬信號和數(shù)字信號之間架起橋梁是電子系統(tǒng)設(shè)計的核心任務(wù)之一而模數(shù)轉(zhuǎn)換器ADC就是這座橋梁的基石。ADC的種類繁多從高速的Flash型到高精度的Sigma-Delta型各有各的戰(zhàn)場。但如果你問我哪種ADC結(jié)構(gòu)最能體現(xiàn)模擬與數(shù)字設(shè)計的精妙平衡同時又是初學(xué)者理解ADC原理的最佳切入點我會毫不猶豫地推薦逐次逼近型ADC也就是SAR ADC。SAR ADC就像一個精明的“猜數(shù)字”游戲玩家。它面對一個未知的模擬電壓通過一套嚴(yán)謹(jǐn)?shù)摹岸址ā边壿嬘靡淮阎碾妷喉来a去試探、比較最終用一串二進制代碼精確地“描述”出這個電壓值。這個過程完美融合了模擬電路中的比較器、開關(guān)電容陣列以及數(shù)字電路中的邏輯控制和時序。對于硬件工程師尤其是剛?cè)胄械呐笥褋碚f吃透SAR ADC就等于拿到了理解整個數(shù)據(jù)轉(zhuǎn)換器世界的鑰匙。它結(jié)構(gòu)相對清晰原理直觀但其中涉及的采樣保持、電容失配、開關(guān)時序、噪聲分析等細(xì)節(jié)又足以讓你深入模擬設(shè)計的殿堂。這個系列筆記就是我結(jié)合多年項目踩坑經(jīng)驗對SAR ADC從原理到實踐的一次系統(tǒng)性梳理希望能幫你繞過那些我當(dāng)年摔過的跤。2. SAR ADC的核心原理與架構(gòu)拆解2.1 二分搜索SAR ADC的算法靈魂SAR ADC的核心算法是二分搜索或者叫逐次逼近寄存器算法。我們可以用一個經(jīng)典的“天平稱重”實驗來類比。假設(shè)你有一個最大量程為1V的天平ADC量程和一個1V的未知重物輸入模擬電壓Vin。你手頭有一套二進制權(quán)重的砝碼512mV、256mV、128mV、64mV、32mV、16mV、8mV、4mV、2mV、1mV對應(yīng)一個10位ADC。轉(zhuǎn)換過程開始第一次比較放上最大的512mV砝碼。如果天平顯示砝碼這邊輕了Vin 512mV說明未知重物比512mV重那么我們就保留這個512mV砝碼并在心里記下最高位數(shù)字“1”。如果砝碼這邊重了Vin 512mV說明未知重物比512mV輕我們就拿走這個砝碼記下“0”。第二次比較在第一次操作的基礎(chǔ)上加上下一個256mV的砝碼。再次比較如果Vin 當(dāng)前累計砝碼重量則保留256mV砝碼對應(yīng)位記“1”否則拿走記“0”。重復(fù)此過程依次對128mV、64mV……直到1mV的砝碼進行相同的“試探-比較-決策”操作。經(jīng)過10次比較后我們保留的砝碼組合總重量將無限逼近那個1V的未知重物。而這一系列“保留/拿走”的決策結(jié)果1或0就組成了最終代表Vin的10位二進制數(shù)字碼。這個過程是確定性的對于N位ADC只需要N個時鐘周期就能完成一次轉(zhuǎn)換速度可預(yù)測。注意這個“二分”是對于電壓范圍的二分而不是對數(shù)字碼的二分。每次比較都將剩余的不確定電壓范圍縮小一半。2.2 核心模塊解剖一個典型的SAR ADC由哪些部分組成理解了算法我們來看硬件如何實現(xiàn)它。一個最基本的SAR ADC包含以下三個核心模塊它們協(xié)同工作完成了從模擬到數(shù)字的魔術(shù)。1. 采樣保持電路這是ADC的“快門”。模擬信號是連續(xù)變化的而ADC轉(zhuǎn)換需要在一個穩(wěn)定的電壓值上進行。采樣保持電路的任務(wù)就是在某個精確的時刻采樣時鐘邊沿“咔嚓”一下捕捉到輸入電壓的瞬時值并將其“保持”在一個電容上在后續(xù)整個轉(zhuǎn)換周期內(nèi)供比較器穩(wěn)定地使用。它的性能直接決定了ADC能處理多高頻率的信號采樣率以及精度采樣精度。2. 比較器這是ADC的“裁判”。它的任務(wù)非常簡單卻至關(guān)重要比較兩個輸入電壓的大小并輸出一個數(shù)字判決通常是高電平或低電平代表1或0。在SAR ADC中它比較的是被保持的輸入電壓Vin和內(nèi)部DAC產(chǎn)生的猜測電壓VDAC。比較器的速度決定了ADC能達(dá)到的最高轉(zhuǎn)換速率而它的精度失調(diào)電壓、噪聲則深刻影響著ADC的整體線性度和有效位數(shù)。3. 數(shù)模轉(zhuǎn)換器與逐次逼近邏輯控制這是ADC的“大腦”和“執(zhí)行手臂”。數(shù)模轉(zhuǎn)換器DAC根據(jù)數(shù)字控制邏輯的指令產(chǎn)生那個用于比較的猜測電壓VDAC。逐次逼近邏輯控制則嚴(yán)格遵循二分搜索算法它從最高位開始根據(jù)比較器的輸出結(jié)果設(shè)置對應(yīng)DAC位的數(shù)字碼1或0然后移動到下一位直到最低位完成。最終這個邏輯控制模塊鎖存的數(shù)字碼就是轉(zhuǎn)換結(jié)果。其中DAC的實現(xiàn)方式?jīng)Q定了SAR ADC的很多特性。最常見的是電荷再分配型開關(guān)電容DAC它巧妙地利用電容陣列和開關(guān)同時實現(xiàn)了采樣保持和數(shù)模轉(zhuǎn)換兩個功能是SAR ADC的主流選擇也是我們后面需要重點剖析的對象。3. 電荷再分配型SAR ADC的詳細(xì)工作流程電荷再分配結(jié)構(gòu)是SAR ADC的經(jīng)典實現(xiàn)它優(yōu)雅地將采樣、保持和數(shù)模轉(zhuǎn)換功能集成在一個電容陣列中。我們以一個簡單的3位ADC為例來一步步拆解它的工作過程。假設(shè)量程為Vref電容陣列由4C 2C 1C三個二進制權(quán)重電容和一個與它們等值的“冗余”或“底板”電容C組成總電容為8C。3.1 采樣階段在采樣階段所有電容的上極板頂板通過一個開關(guān)連接到比較器的輸入節(jié)點我們通常將這個節(jié)點初始化為一個共模電壓Vcm例如Vref/2。同時所有電容的下極板底板連接到輸入信號Vin。操作閉合采樣開關(guān)所有電容的下極板接Vin上極板接Vcm。物理過程電容開始充電。每個電容存儲的電荷為 Q C_i * (Vcm - Vin)??偞鎯﹄姾?Q_total ΣC_i * (Vcm - Vin) 8C * (Vcm - Vin)。目的將輸入電壓Vin以電荷的形式“存儲”在電容陣列中。此時比較器不工作。3.2 保持階段采樣階段結(jié)束進入保持階段。此時輸入信號與電容陣列斷開。操作斷開采樣開關(guān)。所有電容的下極板從Vin斷開并全部連接到地GND。電容的上極板頂板保持浮空狀態(tài)連接到比較器的輸入端我們稱這個節(jié)點電壓為Vx。物理過程根據(jù)電荷守恒原理電容陣列存儲的總電荷在采樣前后必須相等。采樣結(jié)束時總電荷為 Q_total 8C * (Vcm - Vin)。在保持階段所有下極板接地0V因此每個電容兩端的電壓變?yōu)?(Vx - 0) Vx。此時總電荷為 Q_total‘ ΣC_i * Vx 8C * Vx。推導(dǎo)由 Q_total Q_total‘得到 8C * (Vcm - Vin) 8C * Vx。因此Vx Vcm - Vin。目的將輸入電壓信息Vin轉(zhuǎn)化為比較器輸入節(jié)點Vx的電壓。注意此時Vx是一個相對于Vcm的差值為后續(xù)的二分比較做好了準(zhǔn)備。3.3 逐次逼近轉(zhuǎn)換階段這是最精彩的二分搜索硬件實現(xiàn)。我們從最高位MSB對應(yīng)4C電容開始。第一次比較MSB決策操作將最大電容4C的下極板從地切換到參考電壓Vref。其他電容2C 1C C的下極板保持接地。物理過程根據(jù)電荷守恒節(jié)點Vx的電壓會發(fā)生變化。切換后總電荷仍為 8C * (Vcm - Vin)。但現(xiàn)在4C電容兩端的電壓為 (Vx - Vref)其他電容兩端電壓為 (Vx - 0)。電荷方程變?yōu)?C * (Vcm - Vin) 4C * (Vx - Vref) 2C * (Vx - 0) 1C * (Vx - 0) 1C * (Vx - 0)簡化得8C * (Vcm - Vin) 8C * Vx - 4C * Vref解得Vx Vcm - Vin (Vref/2)比較與決策比較器比較此時的Vx和Vcm注意比較器的另一端通常接Vcm。即比較(Vcm - Vin Vref/2)和Vcm等價于比較(Vref/2)和Vin。如果 Vin Vref/2 則 Vx Vcm 比較器輸出0。這意味著輸入電壓大于量程的一半MSB應(yīng)為1。但注意在電荷再分配邏輯中如果比較器輸出0我們保持這個電容接Vref即該位為1。如果 Vin Vref/2 則 Vx Vcm 比較器輸出1。這意味著MSB應(yīng)為0。此時我們需要將4C電容的底板切換回地即該位為0。結(jié)果根據(jù)比較器輸出決定MSB是1電容接Vref還是0電容接地。第二次比較中間位決策操作在MSB決策后的狀態(tài)下將下一個電容2C的下極板從地切換到Vref。物理過程再次應(yīng)用電荷守恒。假設(shè)MSB決策后為14C接Vref那么此時電荷方程為8C * (Vcm - Vin) 4C * (Vx - Vref) 2C * (Vx - Vref) 1C * (Vx - 0) 1C * (Vx - 0)解得Vx Vcm - Vin (4C*Vref 2C*Vref) / 8C Vcm - Vin (3/4)Vref比較與決策比較器再次比較Vx和Vcm。這等價于比較Vin和(3/4)Vref如果MSB1或其他值。根據(jù)結(jié)果決定是否保留2C電容接Vref該位為1或切回地該位為0。第三次比較LSB決策重復(fù)上述過程對1C電容進行操作。經(jīng)過三次比較后電容陣列的底板連接狀態(tài)Vref或GND就唯一確定了并且使得最終的Vx無限逼近Vcm。此時電容底板連接狀態(tài)對應(yīng)的二進制碼接Vref為1接地為0就是最終的ADC輸出碼。實操心得理解這個過程的關(guān)鍵是牢牢抓住電荷守恒。在每次開關(guān)動作前后浮空節(jié)點Vx上的總電荷量是不變的忽略泄漏。列出開關(guān)動作前后的電荷方程就能準(zhǔn)確計算出Vx的變化從而理解比較器是在對Vin和哪個電壓閾值進行比較。自己動手推導(dǎo)一遍3位或4位的情況勝過看十遍文檔。4. SAR ADC的關(guān)鍵性能參數(shù)與非理想因素分析設(shè)計或選用一個SAR ADC不能只看位數(shù)和速度。以下幾個核心參數(shù)和背后的非理想因素才是決定系統(tǒng)性能的關(guān)鍵。4.1 核心性能參數(shù)解讀分辨率通常用位數(shù)N表示如10位、12位、16位。它決定了ADC能區(qū)分的最小電壓變化即1 LSB Vref / (2^N)。但分辨率不等于精度。采樣率ADC每秒能完成多少次完整的采樣-轉(zhuǎn)換操作單位是SPS。SAR ADC的采樣率上限主要受限于比較器的建立時間、邏輯電路的延遲以及電容陣列的開關(guān)切換速度。信噪比衡量ADC輸出信號中有用信號功率與噪聲功率的比值。一個理想的N位ADC其理論信噪比約為SNR 6.02N 1.76 dB。實際值往往低于此值差值體現(xiàn)了ADC引入的額外噪聲。有效位數(shù)這是一個更實際的指標(biāo)它告訴你這個ADC在實際表現(xiàn)上相當(dāng)于一個多少位的理想ADC。ENOB (SNR_measured - 1.76) / 6.02。一個標(biāo)稱16位的ADCENOB可能只有14位這很常見。積分非線性與微分非線性INLADC實際傳輸特性曲線與一條理想直線連接零點與滿量程點的最大偏差單位是LSB。它反映了ADC整體的線性度主要由DAC電容的匹配誤差決定。DNLADC實際碼寬與理想1 LSB碼寬的差值單位是LSB。DNL 1 LSB可能導(dǎo)致失碼即某些數(shù)字碼永遠(yuǎn)不會出現(xiàn)這是ADC的嚴(yán)重缺陷。4.2 主要非理想因素及其影響電容失配這是限制高精度SAR ADC如14位性能的首要因素。在制造過程中電容陣列中單位電容的實際值會存在隨機偏差。這種失配會導(dǎo)致DAC產(chǎn)生的電壓階躍不精確直接引起INL和DNL誤差。為了緩解這個問題高精度ADC會采用校準(zhǔn)技術(shù)或分段電容陣列結(jié)構(gòu)。比較器噪聲與失調(diào)比較器就像一個帶有噪聲和偏見的裁判。其輸入?yún)⒖荚肼晻谂袥Q時引入隨機誤差降低SNR。而失調(diào)電壓則像一個固定的偏見會導(dǎo)致整個ADC傳輸特性曲線發(fā)生平移產(chǎn)生偏移誤差。設(shè)計時需要采用低噪聲、高增益的預(yù)放大器并常常集成失調(diào)校準(zhǔn)電路。開關(guān)的非理想性電荷注入MOS開關(guān)在關(guān)斷時溝道中的電荷會注入到電容節(jié)點引起電壓誤差。通過采用下極板采樣、互補開關(guān)等技術(shù)可以顯著抑制。時鐘饋通開關(guān)的控制時鐘信號通過柵漏/柵源電容耦合到信號通路。導(dǎo)通電阻開關(guān)的電阻會導(dǎo)致采樣建立時間常數(shù)影響高速性能。參考電壓的穩(wěn)定性SAR ADC的DAC完全依賴于參考電壓Vref。如果Vref在轉(zhuǎn)換期間有波動或噪聲會直接反映到輸出碼上。因此一個干凈、穩(wěn)定、驅(qū)動能力強的參考電壓源至關(guān)重要通常需要緊鄰ADC放置高質(zhì)量的旁路電容。非理想因素主要影響典型緩解措施電容失配INL DNL 限制有效分辨率校準(zhǔn)技術(shù) 分段電容陣列 共質(zhì)心版圖布局比較器噪聲/失調(diào)增加總噪聲 造成偏移誤差自動歸零 斬波 數(shù)字校準(zhǔn)開關(guān)電荷注入采樣誤差 非線性下極板采樣 虛擬開關(guān) 互補對稱結(jié)構(gòu)參考電壓噪聲輸出碼整體波動使用低噪聲LDO/基準(zhǔn)源 充分去耦 參考緩沖器5. 設(shè)計考量與選型指南當(dāng)你準(zhǔn)備在項目中使用SAR ADC時無論是選擇現(xiàn)成的芯片還是進行定制設(shè)計都需要從以下幾個維度進行權(quán)衡。5.1 精度、速度與功耗的“不可能三角”SAR ADC的性能存在一個經(jīng)典的權(quán)衡高精度、高速度和低功耗三者難以同時兼得。高精度16位需要極好的電容匹配和極低的噪聲。這通常意味著更大的電容面積降低熱噪聲但增加寄生電容、更精細(xì)的制造工藝、更復(fù)雜的校準(zhǔn)電路從而導(dǎo)致成本上升、速度受限、功耗也可能增加。高速度10 MSPS要求比較器在極短時間內(nèi)做出穩(wěn)定判決邏輯和開關(guān)速度要快。高速往往伴隨著高功耗比較器、邏輯電路、開關(guān)驅(qū)動電流增大并且對采樣保持電路和參考電壓源的建立時間要求極為苛刻精度容易受損。低功耗通常需要降低電源電壓、減小電容尺寸、使用更簡單的電路結(jié)構(gòu)。但這往往會犧牲速度和精度噪聲增大匹配變差。在實際選型中必須明確項目的首要需求。是電池供電的傳感器需要16位精度但每秒只需采樣幾次還是高速數(shù)據(jù)采集卡需要1 MSPS以上的速度12位精度即可這個決策必須放在最前面。5.2 關(guān)鍵外圍電路設(shè)計要點即使選對了ADC芯片外圍電路設(shè)計不當(dāng)也會讓性能大打折扣。模擬輸入驅(qū)動SAR ADC的輸入在采樣瞬間會有一個瞬態(tài)電流脈沖用于對內(nèi)部采樣電容充電。這個電流必須由前級驅(qū)動電路如運放提供。如果驅(qū)動能力不足輸入電壓會在采樣期間跌落造成誤差。務(wù)必查閱數(shù)據(jù)手冊中的“模擬輸入阻抗”或“采樣瞬態(tài)電流”參數(shù)并確保驅(qū)動運放能在采樣窗口內(nèi)穩(wěn)定建立。踩坑記錄我曾用一個高精度但輸出電流能力一般的運放去驅(qū)動一個1MSPS的SAR ADC結(jié)果在輸入信號頻率稍高時SFDR無雜散動態(tài)范圍急劇惡化。換成一個驅(qū)動能力強的運放后立刻改善。數(shù)據(jù)手冊中的“建議驅(qū)動電路”章節(jié)一定要仔細(xì)看。參考電壓電路這是SAR ADC的“心臟”。必須使用低噪聲、低漂移的基準(zhǔn)電壓源芯片。PCB布局時基準(zhǔn)源的輸出到ADC的VREF引腳走線要盡量短而粗并緊挨引腳放置一個容值合適通常為10uF鉭電容0.1uF陶瓷電容的去耦電容組合以提供瞬態(tài)電流并濾除高頻噪聲。對于高精度或多通道ADC甚至需要考慮為參考電壓單獨設(shè)計一個緩沖放大器。電源與地模擬電源和數(shù)字電源必須分開并使用磁珠或0Ω電阻進行單點連接。模擬地和數(shù)字地也要做同樣處理。每個電源引腳都需要就近放置去耦電容如0.1uF和1uF。時鐘信號等數(shù)字高速信號線要遠(yuǎn)離模擬輸入和參考電壓走線。5.3 數(shù)字接口與時序現(xiàn)代SAR ADC的數(shù)字接口主要有并行、SPI和I2C幾種。SPI因其簡單和高速成為主流。需要注意以下幾點時序嚴(yán)格滿足數(shù)據(jù)手冊中關(guān)于CS片選、SCLK時鐘、SDI數(shù)據(jù)輸入用于配置、SDO數(shù)據(jù)輸出的建立時間和保持時間要求。微控制器的SPI外設(shè)時鐘相位和極性必須與ADC匹配。數(shù)字噪聲隔離在ADC數(shù)字輸出引腳靠近微控制器的一端可以串聯(lián)一個小的阻尼電阻如22-100歐姆以減緩信號邊沿減少回溝和數(shù)字噪聲對模擬電源的干擾。如果可能使用獨立的IO電源為ADC的數(shù)字接口部分供電。6. 常見問題排查與調(diào)試技巧在實際電路調(diào)試中SAR ADC出現(xiàn)的問題往往有跡可循。下面是一個基于癥狀的快速排查指南。問題現(xiàn)象可能原因排查步驟與解決方案輸出碼噪聲大ENOB低1. 模擬輸入或參考電壓噪聲大。2. 電源噪聲大。3. 接地不良存在地環(huán)路。4. 外部或內(nèi)部時鐘抖動嚴(yán)重。5. 輸入信號超出ADC輸入范圍。1. 用示波器檢查模擬輸入和VREF引腳上的噪聲確保驅(qū)動電路和基準(zhǔn)源穩(wěn)定。2. 檢查電源紋波加強電源濾波。3. 檢查PCB布局確保模擬地單點接地數(shù)字地噪聲未串?dāng)_。4. 使用更穩(wěn)定的時鐘源檢查時鐘走線是否受到干擾。5. 確認(rèn)輸入信號在AGND和AVDD之間或數(shù)據(jù)手冊規(guī)定范圍。靜態(tài)測試時INL/DNL差1. 電容失配對于高精度ADC。2. 比較器失調(diào)未校準(zhǔn)。3. 參考電壓負(fù)載調(diào)整率差在轉(zhuǎn)換期間被拉低。4. 采樣開關(guān)的電荷注入誤差顯著。1. 對于芯片這是固有特性需選擇更高檔型號。對于自研需優(yōu)化電容版圖共質(zhì)心或啟用內(nèi)部校準(zhǔn)。2. 檢查或啟用ADC的失調(diào)校準(zhǔn)功能。3. 測量轉(zhuǎn)換期間VREF引腳的電壓跌落增加去耦電容或使用帶緩沖的基準(zhǔn)源。4. 確保采樣時鐘邊沿干凈或選擇電荷注入更小的ADC。動態(tài)性能差SFDR低諧波多1. 模擬輸入驅(qū)動能力不足建立不充分。2. 輸入信號含有超出奈奎斯特頻率的高頻成分混疊。3. PCB布局不佳數(shù)字信號耦合到模擬通路。4. 參考電壓緩沖器帶寬不足。1. 降低輸入信號頻率或幅度測試。換用更高帶寬、更高壓擺率的驅(qū)動運放。2. 在ADC前端添加抗混疊濾波器。3. 重新檢查布局隔離數(shù)字和模擬部分??赡苄枋褂闷帘位蛑匦轮瓢?。4. 對于高速ADC確認(rèn)參考電壓源或內(nèi)部緩沖器能跟上轉(zhuǎn)換節(jié)奏。轉(zhuǎn)換結(jié)果完全不對或不變1. 電源電壓未正確連接。2. 數(shù)字接口時序或模式配置錯誤。3. 參考電壓未連接或短路。4. 芯片損壞。1. 測量所有電源引腳電壓是否正確。2. 用邏輯分析儀抓取SPI/I2C時序與數(shù)據(jù)手冊逐位比對。確認(rèn)配置寄存器寫入正確。3. 測量VREF引腳電壓。4. 作為最后手段更換芯片。調(diào)試心法調(diào)試ADC是一個系統(tǒng)性的工程。務(wù)必養(yǎng)成“由靜到動由簡到繁”的習(xí)慣。首先在直流輸入下測試看輸出碼是否穩(wěn)定、線性。這能排除大部分電源、基準(zhǔn)和靜態(tài)配置問題。然后再進行動態(tài)測試使用純凈的正弦波信號從低頻開始逐步增加頻率觀察信噪比和失真度的變化從而定位帶寬、建立時間或布局相關(guān)的問題。示波器、邏輯分析儀和頻譜分析儀或具備FFT功能的示波器是你最得力的助手。