啊啊啊流水了啊操逼污污,与妇女日逼视频,亚洲国产日韩欧美一区二区,k8经典网在线观看电影

24小時(shí)聯(lián)系電話:18217114652、13661815404

中文

您當(dāng)前的位置:
首頁(yè)>
電子資訊>
公司新聞>
單片機(jī)開發(fā)設(shè)計(jì)模數(shù)轉(zhuǎn)...

公司新聞

單片機(jī)開發(fā)設(shè)計(jì)模數(shù)轉(zhuǎn)換器(ADC)簡(jiǎn)介


模數(shù)轉(zhuǎn)換器或ADC有許多不同的實(shí)現(xiàn)。本文概述了主要類型,它們的特征和局限性。

幾乎所有的微控制器都有內(nèi)置的ADC。即使是基于AVR ATMega系列的小型Arduino,也擁有它們。本文的最后一部分討論了使用此類ADC時(shí)應(yīng)注意的一些問(wèn)題。但是首先我們將回顧模數(shù)轉(zhuǎn)換的基礎(chǔ)。

模擬到數(shù)字轉(zhuǎn)換的基礎(chǔ)

ADC由圖1中的示意圖符號(hào)表示。它僅顯示了一個(gè)模擬輸入及其等效的數(shù)字輸出。所示示例為一個(gè)NADCN通常是624之間的任何值,常見的是810、1216

輸入是電壓,范圍為0到最大值,取決于實(shí)際ADC。假設(shè)有N位,則可能有2 N個(gè)數(shù)字值,則以1位表示的值為(V ADCMAX / 2 N)。

作為一個(gè)例子,如果給定ADC的最大輸入值是5.0V,并且所述ADC10位類型的,則每個(gè)比特代表(5V / 2 10),5.00 / 1024,或約4.89mV。因此,該特定ADC的分辨率或量化步長(zhǎng)為4.89mV。這是其絕對(duì)的理論分辨率。

在這種特殊情況下,無(wú)法將信號(hào)解析為優(yōu)于±4.89mV / 2)的分辨率。此限制稱為量化誤差,并且所有ADC甚至是完美ADC都具有一定程度的量化誤差,具體取決于ADC的分辨率。

實(shí)用的ADC具有更多的誤差源。兩個(gè)這樣的錯(cuò)誤是:差分非線性(DNL)和積分非線性(INL)錯(cuò)誤。在為特定應(yīng)用指定ADC時(shí)必須考慮這些因素。

當(dāng)ADC輸出應(yīng)保持不變時(shí),DNL錯(cuò)誤就會(huì)發(fā)生。例如,假設(shè)給定輸入的當(dāng)前輸出代碼為01101100,并且輸入值增加了量化步長(zhǎng)的一半。然后,代碼應(yīng)為01101100 +1位或01101101

當(dāng)輸入電壓低于當(dāng)前輸入電壓時(shí),也會(huì)發(fā)生相反的情況。有時(shí),由于各種原因不會(huì)發(fā)生這種情況。在這種情況下,據(jù)說(shuō)ADC具有±1DNL誤差。

如果量化級(jí)別未在整個(gè)輸入范圍內(nèi)均勻分布,則會(huì)發(fā)生INL錯(cuò)誤。例如,假設(shè)某個(gè)特定的ADC具有12位或4096個(gè)計(jì)數(shù)的分辨率和4.096V基準(zhǔn)電壓。每個(gè)位數(shù)精確地代表了1.000mV的輸入電壓變化。

因此,4096 mV的輸入電壓應(yīng)提供1111 1111 1111的輸出,即0xFFF。對(duì)于某些ADC,4095mV甚至4094mV的輸入仍將提供0xFFF的數(shù)字輸出。發(fā)生的是,在整個(gè)輸入范圍內(nèi),1位的值變化很小,只有1.001mV0.999mV。累積的誤差導(dǎo)致一到兩位精度的滿量程誤差。

稍后將看到,有許多外部因素會(huì)進(jìn)一步降低ADC輸出精度。

ADC實(shí)施

有多種實(shí)現(xiàn)ADC的方法。接下來(lái)的幾節(jié)介紹了一些較常見的部分。為了使本文相對(duì)簡(jiǎn)短,僅給出每個(gè)此類實(shí)現(xiàn)的簡(jiǎn)單且有些不完整的描述。

單斜率和雙斜率積分ADC

單斜率ADC的框圖如圖2所示?;静僮鞣浅:?jiǎn)單。電容器從輸入源充電,直到其電壓達(dá)到V Ref為止,此時(shí)比較器跳閘。充電時(shí),由時(shí)鐘供電的數(shù)字計(jì)數(shù)器也在進(jìn)行計(jì)數(shù)。當(dāng)比較器跳閘時(shí),它將停止計(jì)數(shù),此時(shí)達(dá)到的計(jì)數(shù)代表模擬輸入。

2 –單斜率積分ADC的框圖

這種方法最常見的變體之一是雙斜率積分ADC。在其中,電容器放電,然后對(duì)計(jì)數(shù)器值求平均值。此技術(shù)減輕了積分電容器中介電吸收的影響,介電吸收的影響可能導(dǎo)致ADC讀數(shù)錯(cuò)誤。

這種類型的ADC是準(zhǔn)確的,但是非常慢。例如,它最常用于萬(wàn)用表中,其中精度比速度更重要。

Sigma-Delta Σ-ΔADC

Sigma-DeltaΣ-? ADC框圖如圖3所示。從輸入端開始,差動(dòng)放大器產(chǎn)生的輸出為 V inDAC輸出。

1DAC的輸出可以是以下兩個(gè)值之一:-V Ref+ V Ref。在這種情況下,最好將積分器視為取前一個(gè)值和當(dāng)前輸入值的移動(dòng)平均值。

所以,開始,假設(shè) V in固定在高于0V的很小一點(diǎn),以便比較器跳閘。其值將為高或1。然后DAC輸出為+ V參考。在下一輪中,將從當(dāng)前值V in中減去該值。由于先前的值為0V,因此積分器輸出現(xiàn)在將為– V ref。比較器輸出現(xiàn)在將為0,而DAC輸出將為at – V參考。

在下一個(gè)樣本中,由于先前的值是– V Ref,并且差動(dòng)放大器實(shí)際上減去-V Ref,因此將V Ref加到V in。比較器輸出將因此為1。

此過(guò)程繼續(xù)進(jìn)行,因此,對(duì)于0VV in,比較器輸出將為101010…的穩(wěn)定流。記住邏輯1意味著V Ref0表示-V Ref,則如果取N個(gè)樣本并取平均值,則很容易發(fā)現(xiàn)平均值為0V。比較器之后的處理塊將簡(jiǎn)單地將其輸出為單個(gè)值0000 ...假定為(V Ref – -V Ref)或2 x V Ref。

現(xiàn)在,假設(shè)V in1V,這是一個(gè)5V ADC;±V Ref±2.5V。按照與之前相同的步驟進(jìn)行操作,輸出將為:1011101…該輸出為1.07V

但是,如果采樣更多,則精度會(huì)更高,并且該值接近1.00V。因此,Sigma-Delta需要許多樣本才能生成一個(gè)輸出。換句話說(shuō),需要對(duì)輸入信號(hào)進(jìn)行過(guò)采樣以減少ADC轉(zhuǎn)換誤差。

Sigma-Delta ADC通常用于數(shù)字化音頻信號(hào),并在某些微控制器中用作ADC。

3 – Sigma-Delta ADC的框圖

閃存ADC

閃存ADC的操作也許是最容易理解的。圖4給出了閃存ADC的框圖。僅僅是許多比較器,每個(gè)比較器都被提供了比前一個(gè)電壓高一個(gè)位值的參考電壓。因此,對(duì)于一個(gè)8ADC,需要256個(gè)這樣的比較器。對(duì)于10位,則需要1024。

閃存轉(zhuǎn)換器速度很快。它無(wú)需任何采樣或繁重的后處理即可直接轉(zhuǎn)換輸入。問(wèn)題在于它需要大量的比較器,并且許多比較器占用了芯片上的大量硅面積。因此,僅在需要其他ADC實(shí)現(xiàn)方法無(wú)法達(dá)到的極高速度時(shí)才使用閃存ADC。

剛剛描述的內(nèi)容實(shí)際上稱為全閃存ADC。一種常用的變體是半閃存ADC。它使用兩步過(guò)程將實(shí)際轉(zhuǎn)換鏈中所需轉(zhuǎn)換器的數(shù)量減少一半。

首先,將輸入信號(hào)與精確設(shè)置為一半V Ref的電平進(jìn)行比較。如果它較低,則最高有效位MSb設(shè)置為0,并且將輸入電壓饋送到比較器鏈,參考電壓設(shè)置為V Ref / 2實(shí)際獲得剩余位。

如果輸入信號(hào)高于V Ref / 2,則MSb設(shè)置為1,從輸入信號(hào)中減去V Ref / 2。例如,可以通過(guò)使基準(zhǔn)電阻的下端偏移+ V Ref / 2來(lái)實(shí)現(xiàn)。

比較器鏈再次用于獲取其余位。因此,從本質(zhì)上講,這使用的是全閃存比較器數(shù)量的一半,但要付出額外的比較代價(jià)。例如,該技術(shù)還可擴(kuò)展為具有四分之一閃存ADC。

4 –全閃存ADC

逐次逼近寄存器(SAR

這是中速ADC中最常使用的ADC技術(shù)。SAR ADC的框圖如圖5所示。SAR操作是該ADC的關(guān)鍵。最初,它設(shè)置為DAC范圍的中點(diǎn)。

比較器輸出將為高電平或低電平,具體取決于輸入是高于還是低于DAC輸出電平。

現(xiàn)在,輸入位于DAC范圍的上半部或下半部?,F(xiàn)在,將DAC設(shè)置為DAC輸入所處正確范圍的上半部或下半部的中點(diǎn),從而有效地將該范圍減小到整個(gè)范圍的四分之一。

重復(fù)此過(guò)程,依次縮小輸入所處的范圍,直到放大到正確的值為止。

另一種看待這種情況的方式是說(shuō),在第一次迭代之后,將知道輸入的MSbit,根據(jù)比較器輸出是低電平還是高電平,它的值為01。在下一次迭代之后,將知道下一個(gè)MSbit。重復(fù)該過(guò)程,直到所有輸出位都已知為止。

未提及的一件事是跟蹤并保持“ TH”塊。如果在ADC轉(zhuǎn)換過(guò)程中更改輸入值,則迭代過(guò)程將被中斷。TH塊僅在轉(zhuǎn)換開始時(shí)捕獲輸入值,并在整個(gè)轉(zhuǎn)換過(guò)程中保持該值。

如圖6所示。TH輸出將輸入信號(hào)的值保持在被觸發(fā)的點(diǎn),而不管輸入信號(hào)隨后的作用如何。轉(zhuǎn)換完成后,TH將再次返回以跟蹤輸入信號(hào)。

SAR ADC是使用最廣泛的ADC,并且是大多數(shù)微控制器的內(nèi)置ADC中發(fā)現(xiàn)的一種。有些使用Sigma-Delta ADC,但大多數(shù)使用SAR ADC

5 – SAR ADC的框圖

 

6 – TH框圖

微控制器ADC

幾乎所有的微控制器都有內(nèi)置的ADC,大多數(shù)具有多路復(fù)用輸入。為了有效使用,應(yīng)考慮其局限性。

首先,根據(jù)目前為止的內(nèi)容,很明顯,輸入范圍不能超過(guò)ADC V Ref,必須遵守ADC的轉(zhuǎn)換速率限制。

例如,Arduino Uno的最大ADC轉(zhuǎn)換速率小于10KHz。因此,根本無(wú)法通過(guò)該ADC采樣20Hz20KHz帶寬的完整音頻。

基于微控制器的ADC的問(wèn)題全部歸結(jié)為微控制器是CMOS器件這一事實(shí),并且用于制造微控制器的硅工藝與實(shí)現(xiàn)模擬電路模塊不太兼容。

因此,例如,DAC和比較器不使用精密電阻器,因?yàn)檫@些電阻實(shí)際上很難在CMOS硅工藝中實(shí)現(xiàn)。取而代之的是,它們采用了功能等效的設(shè)計(jì),即使用電容器。最終結(jié)果是微控制器的ADC輸入具有相對(duì)較低的阻抗,該阻抗也是電容性的。

更重要的是,輸入阻抗在轉(zhuǎn)換過(guò)程中會(huì)有所變化。這一切都意味著,如果信號(hào)源的輸出阻抗很高,則ADC傾向于給出相差甚遠(yuǎn)的轉(zhuǎn)換結(jié)果。圖7舉例說(shuō)明了這一點(diǎn)。

在此示例中,ADC用于讀取6V電池電壓。為了不使電池過(guò)度放電,將R1R2都選擇為20KΩ,以便在電池電壓為6V時(shí)ADC輸入為3.0V。ADCV Ref3.3V;因此,一切都應(yīng)該正常工作。

但是,典型的微控制器ADC的輸入阻抗約為10KΩ,如圖所示,它與R2并聯(lián)。這將在電池電壓讀數(shù)中引起很大的誤差。這種情況下的解決方案是使用一個(gè)外部緩沖器來(lái)驅(qū)動(dòng)ADC輸入。

7 – ADC輸入阻抗影響的圖示

使用微控制器ADC時(shí)應(yīng)考慮的最后一件事是ADC參考。在某些微控制器中,這只是微控制器VDD。

可以肯定的是,微控制器VDD來(lái)自穩(wěn)壓器,但是穩(wěn)壓器與適當(dāng)?shù)膮⒖茧妷褐g存在很大差異。

這很容易導(dǎo)致至少兩位精度損失。因此,現(xiàn)在12位微控制器ADC更像是10ADC,并且沒(méi)有計(jì)算DNLINL錯(cuò)誤貢獻(xiàn)。

最重要的是要意識(shí)到這些限制,并確定微控制器ADC是否適合該應(yīng)用。

請(qǐng)輸入搜索關(guān)鍵字

確定
汝南县| 武胜县| 鹿泉市| 邵阳市| 乐山市| 武宣县| 萝北县| 唐山市| 星子县| 河池市| 台北市| 清水河县| 东明县| 遂宁市| 赞皇县| 新平| 滦南县| 林西县| 富平县| 当阳市| 西充县| 磐安县| 乌拉特中旗| 正镶白旗| 读书| 保康县| 博客| 新乡县| 同江市| 洪江市| 余庆县| 东辽县| 天台县| 达州市| 武功县| 新乐市| 任丘市| 定州市| 乌鲁木齐县| 绥化市| 兴安盟|