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