[導(dǎo)讀] 上文總結(jié)了主要常見的重要ADC的技術(shù)指標,本文來梳理兩個方面的內(nèi)容,常見的ADC類型及原理,以及可能容易掉進去的坑。
談?wù)勎覟槭裁凑磉@個文章吧,工程師往往關(guān)注點更多在于功能,而忽略了性能。為什么會忽略性能呢?因為可能缺少對于原理的深入探究,那么使用時可能失之毫厘,謬以千里。性能往往不好,穩(wěn)定性也可能不佳。帽子扣大點說是缺少匠心,其實這也是大學(xué)教育非常不足的地方。而我個人的觀點是,即使是工程師也需要一點科學(xué)家的素養(yǎng),希望小伙伴們都盡可能的將一些技術(shù)要點的本原深挖,不要浮于表面。這也是國內(nèi)科技領(lǐng)域現(xiàn)今急需要去發(fā)展提升的地方,如果每個技術(shù)領(lǐng)域的我輩中人,都能深耕自己的領(lǐng)域,探求技術(shù)的本原,又何懼美帝如此猖狂囂張!
我期望我能業(yè)余做好一個小小的技術(shù)分享傳播者,如果你讀到本文,真心覺得有價值,也請傳播給他人。當(dāng)然我做這個公眾號也期望有一天能稍稍改善我的生活,但是坦蕩地說,所有文章的技術(shù)要點都屬于無私分享。如果達成改善家人生活所愿,則我心歡喜,不成也無妨。做一個快樂的分享者吧!
羅嗦了一通廢話,但這是公眾號,不管受眾多少,傳播技術(shù)的同時,也期望能傳播一些技術(shù)觀以共勉!
ADC類型
積分型ADC
優(yōu)點:
- 積分型ADC分辨率高,位數(shù)可做到12位甚至更高
- 線性度非常好。本質(zhì)上,輸入端與一個集成的參考電壓相比較來決定輸出端,所以線性度將取決于比較器的精度。
- 電路實現(xiàn)拓撲簡單,用于實現(xiàn)這些設(shè)備的元件相對較少,因此電路相對簡單且生產(chǎn)成本較低。
缺點:
- 主要缺點是轉(zhuǎn)換速度慢。N位ADC,輸出可能需要長達2個N的時鐘周期來轉(zhuǎn)換單個采樣點
- 轉(zhuǎn)換原理都是基于對電壓積分并將積分后電壓與另一電壓比較以控制計數(shù),計數(shù)輸出即為ADC輸出。積分對象要么是基于參考電壓,要么是基于參考電壓和輸入電壓。
- 主要用于傳感器應(yīng)用和諸如電壓表和電流表等設(shè)備,在這些設(shè)備中,精度比速度更重要。換句話說積分型ADC采樣速度比較低,但精度非常高
- 積分型ADC有不同的種類,常見的有單、雙斜率積分等。增加一個“斜率”,以犧牲轉(zhuǎn)換時間為代價而增加精度。
單斜率積分ADC
比較器將輸入電壓 與集成基準電壓 的值進行比較(請注意,由于 已連接至運算放大器的反相輸入,因此我們將 設(shè)為負)。同時計算時鐘周期數(shù)。當(dāng)積分器輸出等于 時,比較器輸出邏輯“ 0”,觸發(fā)計數(shù)器和積分器復(fù)位,鎖存器保持數(shù)字輸出。
這就是轉(zhuǎn)換時間,知道為啥說這種積分型ADC慢了吧。來看下最差的情況吧,假設(shè)輸入電壓 ,假定 ,假定是20位ADC,那么 !
雙斜率積分ADC
雙斜率ADC與單斜率ADC的不同之處在于,現(xiàn)在將 與地進行比較,并集成了兩個電壓 和 。剛開始時,負輸入連接到積分器,使 斜升直到計數(shù)器溢出。由于在反相輸入會切換到一個負值進行積分,因此積分器輸出將始終為正且大于零,因此計數(shù)器將繼續(xù)運行直到溢出為止,這需要2N個時鐘周期(= T1)。
在T2時刻,將等于 與 之和,且為0。
因此, 即為ADC轉(zhuǎn)換的原理,雙斜率比單斜率ADC更慢,由于執(zhí)行了兩次積分, 與積分器斜率相關(guān)的誤差將被抵消,從而從原理上提高了精度。
Sigma-Delta Σ-? ADC
從輸入端開始,差動放大器產(chǎn)生的輸出為Vin與1位DAC輸出之間的差。1位DAC的輸出可以是以下兩個值之一: 或 。在此拓撲結(jié)構(gòu)中,可將積分器視為取前一個值和當(dāng)前輸入值的移動平均值。
因此,假設(shè)剛開始時比較器正向段固定在高于0V的很小一值,比較器反轉(zhuǎn)。其值將為高或1。然后,DAC輸出將為 。在下迭代中,將從 的當(dāng)前值中減去該值。由于先前的值為0V,因此積分器輸出現(xiàn)在將為– Vref。此時,比較器輸出將為0,而DAC輸出將為 。
在下一個采樣中,由于前一個值為 ,積分器輸出將為0,并且差動放大器實際上將減去 ,從而將 加到 .比較器輸出將為1。
此過程繼續(xù)迭代進行,因此,對于0V輸入,比較器輸出將為101010…的穩(wěn)定流。記住邏輯1表示 ,邏輯0表示 ,那么如對N個樣本進行采樣并取平均值,則很容易看出平均值為0V。比較器之后的處理塊將簡單地將其輸出為單個值0000…,假設(shè)參考值為( ~ )或2 x 。
現(xiàn)在,假設(shè) 為1V,這是一個5V ADC。 為±2.5V。按照與之前相同的步驟進行迭代操作,輸出將為:1011101…輸出為1.07V。
概括起來:
Σ-? ADC 對所處理信號進行過采樣(這個概念見模數(shù)采樣知多少),并對待處理信號進行低通濾波。通常,在過濾器之后使用Flash ADC轉(zhuǎn)換的比特數(shù)小于所需的比特數(shù)。所產(chǎn)生的信號連同由FLASH離散電平產(chǎn)生的誤差,被反饋回并從輸入中做差然后輸入到濾波器。這個負反饋的可對噪聲形成抑制作用,使它不出現(xiàn)在期望的信號頻率。ADC之后的數(shù)字濾波器(利用抽取濾波器)可降低采樣率,濾除不想要的噪聲信號并提高輸出分辨率(故稱為sigma-delta調(diào)制,也稱為delta-sigma調(diào)制)。
Flash ADC也稱直接比較型
FLASH ADC的原理可能是最容易理解的。下圖是一個兩位ADC的示意圖,由許多比較器組成,每個比較器都被提供了比上一個基準值高一個位值的基準電壓。因此,對于一個8位ADC,需要256個這樣的比較器。對于10位,則需要1024。
FLASH ADC(直接比較型)速度很快。它直接轉(zhuǎn)換輸入,而不需要任何采樣或繁重的后期處理。問題是,它需要很多比較器,而且很多比較器占用了芯片上的大量硅空間。因此,只有在需要其他ADC實現(xiàn)方法無法達到的極高速度時才使用Fash ADC。
二分法在硬件中體現(xiàn)
實際應(yīng)用中,還有一個變種比較常用,半 FLASH ADC。它使用兩步的過程來減少實際轉(zhuǎn)換鏈中所需的轉(zhuǎn)換器數(shù)量:
- 首先,將輸入信號與恰好位于半 的電平集進行比較。如果它更低,那么最高有效的位MSB,被設(shè)置為0,輸入被饋送到一個比較器鏈與參考電壓設(shè)置為 ,以轉(zhuǎn)換得到其余的位。
- 如果輸入信號高于 ,則將MSB設(shè)置為1,從輸入信號中減去 。比較器鏈再次用于獲取剩余的位。所以,本質(zhì)上,半步FLASH ADC,以犧牲一個額外的比較,來節(jié)省一半比較器。這種思路還可以繼續(xù)推演擴展,比如4分 FLASH ADC等等。
逐次逼近寄存器SAR
逐次逼近寄存器(Successive Approximation Register):逐次逼近ADC使用比較器逐次縮小包含輸入電壓的范圍。在每個連續(xù)的步驟中,轉(zhuǎn)換器將輸入電壓與內(nèi)部數(shù)字與模擬轉(zhuǎn)換器的輸出進行比較,后者可能表示所選電壓范圍的中點。在這個過程的每一步,近似都被存儲在一個逐次逼近寄存器(SAR)中。例如,假設(shè)輸入電壓為6.3 V,初始范圍為0到16v。對于第一步,輸入6.3 V與8v (0-16V范圍的中點)進行比較。比較器報告輸入電壓小于8v,因此SAR被更新為將范圍縮小到0 - 8v。第二步,將輸入電壓與4v (0 - 8v的中點)進行比較,比較器報告輸入電壓高于4v,因此更新SAR以反映輸入電壓在4 - 8v范圍內(nèi)。第三步,輸入電壓與6v比較(4v與8v的一半);比較器報告輸入電壓大于6伏,搜索范圍變?yōu)? - 8伏。繼續(xù)這些步驟,直到達到預(yù)期的解決方案為止。
其拓撲結(jié)構(gòu)如下,
為了直觀,看看前文的動圖:
Pipelined ADC
流水線ADC(也稱為子例程量化器)使用兩個或多個流水線。首先,進行粗略的轉(zhuǎn)換。第二步,用數(shù)模轉(zhuǎn)換器(DAC)確定輸入信號的差異。然后將這個差異轉(zhuǎn)換為更細的值,并在最后一步中合并結(jié)果。這可以被認為是后續(xù)逼近ADC的一種改進,其中反饋參考信號由整個范圍的比特(例如,4比特)的中間轉(zhuǎn)換組成,而不僅僅是下一個最重要的比特。結(jié)合逐次逼近法和flash adc的優(yōu)點,該類型具有速度快、分辨率高、模具尺寸小等優(yōu)點。
在這個原理圖中,模擬輸入VIN首先被采樣并由采樣保持器(S&H)保持穩(wěn)定,而第一階段的flash ADC將其量化為三位。然后將3位輸出饋給3位DAC(精確到12位),然后從輸入中減去模擬輸出。這個“剩余量”擴大4倍并被送入下一階段(第二階段)。這個增加的剩余量繼續(xù)通過下級流水線,每一階段提供3位,直到它到達4位flash ADC,將解析最后的4LSB位。因為每個階段的位是在不同的時間點確定的,所以相同樣本對應(yīng)的所有位在被饋送到數(shù)字錯誤校正邏輯之前都與移位寄存器進行了時間對齊。請注意,當(dāng)一個流水完成對輸入樣本的處理,確定本流水采集位并將殘差傳遞到下一個流水時,它便可以開始處理從每個流水中嵌入的采樣保持器接收到的下一個樣本。這種流水線操作是高吞吐量的原因,這也是流水的概念。
總結(jié)一下
熟悉各類ADC的意義,因為如前文所說,嵌入式設(shè)備免不了需要采集物理世界的模擬信號。信號各具特點,有的頻率高,有的噪聲多,有的需要精度高但速度可能不要很快等等。這里整理幾種常見ADC(當(dāng)然還有其他種類比如電荷平衡原理ADC、分時ADC、FM ADC、時間拉伸ADC、增量編碼ADC、Wilkinson ADC等等)的原理及特點,了解各類ADC的基本特點,有助于進行器件選型、系統(tǒng)設(shè)計。
如果覺得本文有價值,不妨右下點下在看,或者分享轉(zhuǎn)發(fā)給需要的小伙伴們。
另外,還計劃寫一篇單片機內(nèi)置ADC避坑的文章,敬請關(guān)注。
—END—
長按關(guān)注 |
加群交流 |
免責(zé)聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺僅提供信息存儲服務(wù)。文章僅代表作者個人觀點,不代表本平臺立場,如有問題,請聯(lián)系我們,謝謝!