嵌入式模數(shù)轉(zhuǎn)換器的原理及應(yīng)用
掃描二維碼
隨時(shí)隨地手機(jī)看文章
前言
在數(shù)據(jù)采集系統(tǒng)中,模數(shù)轉(zhuǎn)換器是其中至關(guān)重要的環(huán)節(jié),模數(shù)轉(zhuǎn)換器的精度以及系統(tǒng)的成本直接影響到系統(tǒng)的實(shí)用性,因此,如何提高模數(shù)轉(zhuǎn)換器的精度和降低系統(tǒng)的成本是衡量系統(tǒng)是否具有實(shí)際應(yīng)用價(jià)值的標(biāo)準(zhǔn)。
一般來說,想提高模數(shù)轉(zhuǎn)換器的精度,勢(shì)必會(huì)引起成本的增加,這就要求我們按照具體的精度要求合理的設(shè)計(jì)模數(shù)轉(zhuǎn)換器,來達(dá)到具體的要求和降低系統(tǒng)的成本。在精度要求不是很高的場合,我們經(jīng)常利用嵌入微控制器片內(nèi)的A/D轉(zhuǎn)換器來實(shí)現(xiàn)模數(shù)轉(zhuǎn)換,以此來降低系統(tǒng)的成本,但由此又產(chǎn)生了另外的問題,嵌入式模數(shù)轉(zhuǎn)換器是否具有所要求的精度,若超出測量范圍如何與測量電路進(jìn)行接口,以及如何減小微控制器的電磁干擾提高嵌入式模數(shù)轉(zhuǎn)換器的精度問題。這都要求我們采取不同的措施來提高嵌入式模數(shù)轉(zhuǎn)換器的精度。
1 精度與分辨率
ADC的精度和分辨率是兩個(gè)不同的概念。精度是指轉(zhuǎn)換器實(shí)際值與理論值之間的偏差;分辨率是指轉(zhuǎn)換器所能分辨的模擬信號(hào)的最小變化值。ADC 分辨率的高低取決于位數(shù)的多少。一般來講,分辨率越高,精度也越高,但是影響轉(zhuǎn)換器精度的因素很多,分辨率高的ADC,并不一定具有較高的精度。精度是偏移誤差、增益誤差、積分線性誤差、微分線性誤差、溫度漂移等綜合因素引起的總誤差。因量化誤差是模擬輸入量在量化取整過程中引起的,因此,分辨率直接影響量化誤差的大小,量化誤差是一種原理性誤差,只與分辨率有關(guān),與信號(hào)的幅度,采樣速率無關(guān),它只能減小而無法完全消除,只能使其控制在一定的范圍之內(nèi),一般在±1/2LSB范圍內(nèi)。
1.1 偏移誤差
偏移誤差是指實(shí)際模數(shù)轉(zhuǎn)換曲線中數(shù)字0的代碼中點(diǎn)與理想轉(zhuǎn)換曲線中數(shù)字0的代碼中點(diǎn)的最大差值電壓。這一差值電壓稱作偏移電壓,一般以滿量程電壓值的百分?jǐn)?shù)表示。在一定溫度下,多數(shù)轉(zhuǎn)換器可以通過對(duì)外部電路的調(diào)整,使偏移誤差減小到接近于零,但當(dāng)溫度變化時(shí),偏移電壓又將出現(xiàn),這主要是由于輸入失調(diào)電壓及溫漂造成的。一般來說,溫度變化較大時(shí),要補(bǔ)償這一誤差是很困難的。
1.2 增益誤差
增益誤差是轉(zhuǎn)換器輸出全“1”時(shí),實(shí)際模擬輸入電壓與理想模擬輸入電壓之差。它使傳輸特性曲線繞坐標(biāo)原點(diǎn)偏離理想特性曲線一定的角度,即增益誤差表示模數(shù)轉(zhuǎn)換特性曲線的實(shí)際斜率與理想斜率的偏差,它的數(shù)值一般用滿量程的百分比來表示。
ADC的理想傳輸函數(shù)的關(guān)系式是
(1)
式中Un是沒有量化時(shí)的標(biāo)準(zhǔn)模擬電壓,由于存在增益誤差,式(1)變?yōu)?
(2)
式中的K為增益誤差因子。當(dāng)K=l時(shí),沒有增益誤差。當(dāng)K>1時(shí),傳輸特性曲線的斜率變大,臺(tái)階變窄,在輸入模擬信號(hào)達(dá)到滿量程值之前,數(shù)字輸出就己全“l(fā)”狀態(tài)。當(dāng)K<1時(shí),傳輸特性曲線的斜率變小,臺(tái)階變寬,輸入模擬信號(hào)己超滿量程值時(shí),數(shù)字輸出還未達(dá)到全“1”狀態(tài)輸出。
在一定溫度下,可通過外部電路的調(diào)整使K=l,從而消除增益誤差。
1.3 線性誤差
線性誤差又稱積分線性誤差,是指在沒有偏移誤差和增益誤差的情況下,實(shí)際傳輸曲線與理想傳輸曲線之差。線性誤差一般不大于1/2LSB。因?yàn)榫€性誤差是由ADC特性隨輸入信號(hào)幅值變化而引起的,因此線性誤差是不能進(jìn)行補(bǔ)償?shù)?,而且線性誤差的數(shù)值會(huì)隨溫度的升高而增加。
1.4 微分線性誤差
微分線性誤差是指實(shí)際代碼寬度與理想代碼寬度之間的最大偏差,以LSB為單位,微分線性誤差也常用無失碼分辨率表示。
由于時(shí)間和溫度的變化,電源可能會(huì)有一定的變化,有時(shí)可能是造成影響ADC精度的主要原因,因此在要求比較高的場合,必須保證電源的穩(wěn)定性,使其隨溫度和時(shí)間的變化量在所允許的范圍之內(nèi),但在一般的場合,往往可以不考慮其對(duì)系統(tǒng)的影響。
2 嵌入式模數(shù)轉(zhuǎn)換器的結(jié)構(gòu)及影響轉(zhuǎn)換的原因和消除方法
所謂嵌入式模數(shù)轉(zhuǎn)換器是指將模擬多路開關(guān)、采樣保持、A/D轉(zhuǎn)換、微控制器集成在一個(gè)芯片上,經(jīng)常采用逐次比較型進(jìn)行A/D轉(zhuǎn)換,模擬輸入信號(hào)一般為非負(fù)單極性,且輸入信號(hào)的電壓范圍為0~AVREF,A/D轉(zhuǎn)換器具有獨(dú)立的模擬電源與參考電壓。 [!--empirenews.page--]
在實(shí)際應(yīng)用中,由于輸入信號(hào)的輸出電阻不同,如果輸出電阻過大,會(huì)引起實(shí)際測量的電壓分壓過小,因而引起測量值較實(shí)際值偏?。换蛘哂捎谳斎胄盘?hào)為雙極性模擬信號(hào),不能直接與嵌入式微控制器相連,必須采取特殊措施,使雙極性模擬信號(hào)轉(zhuǎn)換為可以直接測量的非負(fù)單極性信號(hào);還有如果輸入信號(hào)幅值過大,以至于超過參考電壓,也必須引入將壓環(huán)節(jié),使輸入電壓低于參考電壓,等等,下面對(duì)以上影響逐一進(jìn)行分析。
2.1 模擬輸入信號(hào)阻抗對(duì)采樣的影響
采樣過程是采樣電容充電,跟蹤輸入模擬信號(hào)電壓的過程,由于采樣電路存在模擬多路開關(guān)阻抗、采樣開關(guān)阻抗和輸入信號(hào)源阻抗,因此,其轉(zhuǎn)換時(shí)間受模擬多路開關(guān)阻抗、采樣開關(guān)阻抗與輸入信號(hào)源阻抗的影響,模擬多路開關(guān)與輸入信號(hào)源的阻抗越大則其轉(zhuǎn)換時(shí)間越長。
逐次比較型A/D的輸入端等效電路如下圖所示:
圖1 逐次比較型A/D的輸入端等效電路
其中,RIN為輸入模擬信號(hào)內(nèi)阻,VS為輸入模擬電壓信號(hào),RSH為模擬多路開關(guān)與采樣開關(guān)的等效電阻,VSH為采樣電容的充電電壓,由等效電路可以看出,輸入模擬信號(hào)內(nèi)阻越大,則采樣電容充電時(shí)間越長,因此,對(duì)于采樣頻率要求越高的場合,要求模擬輸入信號(hào)內(nèi)阻必須越小,在應(yīng)用時(shí)必須首先估算在規(guī)定的采樣頻率下,對(duì)模擬輸入信號(hào)內(nèi)阻的要求。由電路理論可以求得RIN所允許的最大值(假設(shè)采樣時(shí)間為T):
如果信號(hào)源內(nèi)阻達(dá)不到要求,則需使用一個(gè)輸出阻抗很小的緩沖器,例如可以使用電壓跟隨器,使信號(hào)源的輸出阻抗達(dá)到A/D轉(zhuǎn)換器所要求的輸入阻抗的范圍之內(nèi)。
2.2 模擬信號(hào)極性及幅值的變換
在數(shù)據(jù)采集系統(tǒng)中,采集的模擬信號(hào)并非都是非負(fù)單極性信號(hào),經(jīng)常是雙極性信號(hào),因此在使用嵌入式A/D轉(zhuǎn)換器的時(shí)候,需要對(duì)模擬輸入信號(hào)進(jìn)行極性轉(zhuǎn)換,我們可以采用運(yùn)算放大器組成的線性網(wǎng)絡(luò)來對(duì)其極性及幅值進(jìn)行轉(zhuǎn)換,但須注意的是在引入線性網(wǎng)絡(luò)的同時(shí),又引入了一定量的非線性誤差,其線性網(wǎng)絡(luò)原理圖可用下圖表示:
圖2 線性網(wǎng)絡(luò)原理圖
只要改變電阻R1、R2、R3的大小以及它們的比例關(guān)系便可調(diào)整模擬輸入信號(hào)的大小使其符合測量要求。
下面介紹一種常用的芯片AT90S8535關(guān)于其A/D轉(zhuǎn)換器使用時(shí)應(yīng)該注意的情況。
AT90S8535是ATMEL公司生產(chǎn)的一款基于AVR RISC結(jié)構(gòu)的,低功耗的8位單片機(jī),其內(nèi)部集成有模數(shù)轉(zhuǎn)換器,模數(shù)轉(zhuǎn)換器具有以下特點(diǎn):
10位分辨率;
±2LSB精確度;
0.5LSB集成線性度;
65~260μs轉(zhuǎn)換時(shí)間;
8通道;
自由運(yùn)行模式和單次轉(zhuǎn)換模式;
ADC轉(zhuǎn)換結(jié)束中斷;
休眠模式噪聲消除。 [!--empirenews.page--]
AT90S8535具有10位分辨率的逐次逼近型A/D轉(zhuǎn)換器。ADC與一個(gè)8通道模擬多路器相連,這樣就允許A口作為ADC的輸入引腳。ADC包含一個(gè)采樣保持放大器,ADC框圖如下所示:
圖3ADC框圖
ADC可以工作于兩種模式——單次轉(zhuǎn)換和自由運(yùn)行。在單次轉(zhuǎn)換模式下,用戶必須啟動(dòng)每一次轉(zhuǎn)換,而在自由運(yùn)行模式下,ADC會(huì)連續(xù)采樣并更新ADC數(shù)據(jù)寄存器。ADCSR的ADFR位用于選擇A/D轉(zhuǎn)換器的運(yùn)行模式。
由于模擬通道的轉(zhuǎn)換總是要延遲到轉(zhuǎn)換的結(jié)束,因此,自由運(yùn)行模式可以用來掃描多個(gè)通道,而不中斷轉(zhuǎn)換器。一般來說,ADC轉(zhuǎn)換結(jié)束中斷用于修改通道,但需考慮一下因素;結(jié)果一旦準(zhǔn)備好,中斷就被觸發(fā),在自由運(yùn)行模式,中斷一被觸發(fā),則下一次轉(zhuǎn)換馬上開始。如果中斷觸發(fā)過后,模擬通道改變,而下一次轉(zhuǎn)換已經(jīng)開始,則仍舊使用以前設(shè)置。
3.1 ADC噪聲消除技術(shù)
AT90S8535的內(nèi)外部數(shù)字電路會(huì)產(chǎn)生電磁干擾,從而影響模擬測量精度。如果要求測量精度較高,則應(yīng)采取如下技術(shù)以減少噪聲:
1) AT90S8535的模擬部分及其他的模擬器件在PCB板上要有獨(dú)立的地線層。模擬地與數(shù)字地單點(diǎn)相連;
2) 使模擬信號(hào)通路盡量短。使模擬走線在模擬地上通過,并盡量保持遠(yuǎn)離高速數(shù)字通路的走線;
3) AVCC要通過一個(gè)RC網(wǎng)絡(luò)連接到VCC;
4) 利用ADC的噪聲消除功能減小來自CPU的噪聲;
5) 如果A口的一些引腳作數(shù)字輸出口,則在ADC轉(zhuǎn)換過程中,這些口不要改變其狀態(tài)。
3.2 ADC噪聲消除功能的實(shí)現(xiàn)
ADC可以在CPU空閑模式下進(jìn)行轉(zhuǎn)換,這一特征使得可以抑制來自CPU的噪聲。為了實(shí)現(xiàn)這一特性,需采取一下措施:
A) 必須選擇單次轉(zhuǎn)換模式,ADC的轉(zhuǎn)換結(jié)束中斷必須使能;
ADEN=1;ADSC=0;ADFR=0;ADIE=1;
B) 進(jìn)入空閑模式。一旦CPU停止,則ADC將開始轉(zhuǎn)換;
C) 如果在ADC轉(zhuǎn)換結(jié)束之前沒有發(fā)生其它中斷,則ADC中斷將喚醒MCU并執(zhí)行ADC轉(zhuǎn)換結(jié)束中斷。
微控制器片內(nèi)A/D轉(zhuǎn)換器由于自身的結(jié)構(gòu)、性能特點(diǎn),在許多應(yīng)用中會(huì)遇到與獨(dú)立A/D轉(zhuǎn)換器不同的問題,但大多數(shù)嵌入微控制器的A/D器都具有像AT90S8535相似的結(jié)構(gòu)和特點(diǎn),采取的消噪技術(shù)和方法也大致相同,我們需根據(jù)具體情況具體分析需采取嵌入A/D還是獨(dú)立A/D,并根據(jù)具體需求采取必要的措施來提高A/D轉(zhuǎn)換器的精度。