第10章模擬比較器和ADC接口_第1頁
第10章模擬比較器和ADC接口_第2頁
第10章模擬比較器和ADC接口_第3頁
第10章模擬比較器和ADC接口_第4頁
第10章模擬比較器和ADC接口_第5頁
已閱讀5頁,還剩38頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、1第10章 模擬比較器和ADC接口2單片機(jī)內(nèi)部常見的支持模擬信號輸入 接口n模擬比較器和模數(shù)轉(zhuǎn)換 ADC 3模擬量輸入通道構(gòu)成主要組成:主要組成: 信號處理裝置、采樣單元、采樣保持器、數(shù)據(jù)信號處理裝置、采樣單元、采樣保持器、數(shù)據(jù)放大器、放大器、AD轉(zhuǎn)換器控制電路。轉(zhuǎn)換器控制電路。任務(wù):任務(wù):完成模擬量的采集并轉(zhuǎn)換成數(shù)字量送入計(jì)算機(jī)完成模擬量的采集并轉(zhuǎn)換成數(shù)字量送入計(jì)算機(jī)。4AD轉(zhuǎn)換及其應(yīng)用n被測參數(shù),如溫度、流量、壓力、液位、速度等都是連續(xù)變化的量模擬量n單片機(jī)只能處理數(shù)字量n把輸入的連續(xù)變化的模擬電壓信號轉(zhuǎn)換成離散的數(shù)字量ADCnAVR ATmega16 內(nèi)置10bit ADC5模擬比較器

2、10.1 模擬比較器模擬比較器610.1.1 與模擬比較器相關(guān)的寄存器和標(biāo)志位 SFIOR、ACSR2模擬比較器控制和狀態(tài)寄存器ACSRn1.特殊功能IO寄存器SFIOR為模擬比較器多為模擬比較器多路使能控制位路使能控制位7nACSR是模擬比較器主要的控制寄存器,各位的作用位位7ACD:模擬比較器禁止:模擬比較器禁止位位6ACBG:模擬比較器的能隙參考源選擇:模擬比較器的能隙參考源選擇位位5ACO:模擬比較器輸出:模擬比較器輸出位位4ACI:模擬比較器中斷標(biāo)志位:模擬比較器中斷標(biāo)志位位位3ACIE:模擬比較器中斷允許:模擬比較器中斷允許位位1、0ACIS1、ACIS0:模擬比較器中斷模式選擇:

3、模擬比較器中斷模式選擇位位2ACIC:模擬比較器輸入捕獲允許:模擬比較器輸入捕獲允許8表表9-1 9-1 模擬比較器中斷模式選擇模擬比較器中斷模式選擇ACIS1ACIS0中 斷 模 式00比較器輸出的上升沿和下降沿都觸發(fā)中斷01保留10比較器輸出的下降沿觸發(fā)中斷11比較器輸出的上升沿觸發(fā)中斷模擬比較器的多路輸入 用戶可以選擇ADC7.0引腳中的任一路的模擬信號代替AIN1引腳,作為模擬比較器的反向輸入端。 9模擬比較器的多路輸入選擇10n模擬比較器使用注意點(diǎn)包括:n芯片RESET后,模擬比較器為允許工作狀態(tài)。如果系統(tǒng)中不使用模擬比較器功能,應(yīng)將寄存器ACSR的ACD位置1,關(guān)閉模擬比較器,這樣

4、可以減少電源的消耗。n使用模擬比較器時,應(yīng)注意比較器的兩個輸入端口PB2、PB3的設(shè)置。當(dāng)PB2/PB3作為模擬輸入端使用時,PB2/PB3應(yīng)設(shè)置為輸入工作方式,且上拉電阻無效,這樣就不會使PB2/PB3上輸入的模擬電壓受到影響。n當(dāng)AIN0設(shè)置為使用芯片內(nèi)部1.22V的固定能隙(Bandgap)參考電源時,PB2口仍然可以作為通用I/O端口使用,這樣就能節(jié)省一個I/O引腳。在上面的例子里,AIN0就是設(shè)置為使用芯片內(nèi)部1.22V的固定能隙(Bandgap)參考電源,這樣就可將PB2口釋放出來,作為普通I/O口用來驅(qū)動LED了 10.1.2 模擬比較器的應(yīng)用設(shè)計(jì)模擬比較器的應(yīng)用設(shè)計(jì)11系統(tǒng)電源

5、電壓的監(jiān)測12程序n #include n void main(void)nn PORTB.2=0 x01; /PC0設(shè)置為輸出,控制LEDn DDRB.2=0 x01;nACSR=0 x40; /模擬比較器初始化,允許模擬比較器,AIN0設(shè)置為內(nèi)部Bandgap參考電壓1.22Vn while (1) /循環(huán)檢測AC0位n n if (ACSR.5)n PORTB.2 = 0; / AIN0 AIN1,低電壓報(bào)警n elsen PORTB.2 = 1; / AIN0 AIN1, 1310.2 模數(shù)轉(zhuǎn)換器ADC外部的模擬信號量需要轉(zhuǎn)變成數(shù)字量才能進(jìn)一步的由MCU進(jìn)行處理。ATmega16內(nèi)部集

6、成有一個10位逐次比較(successive approximation)ADC電路。因此使用AVR可以非常方便的處理輸入的模擬信號量。ATmega16的ADC與一個8通道的模擬多路選擇器連接,能夠?qū)σ訮ORTA作為ADC輸入引腳的8路單端模擬輸入電壓進(jìn)行采樣,單端電壓輸入以0V(GND)為參考。另外還支持16種差分電壓輸入組合,其中2種差分輸入方式(ADC1,ADC0和ACD3,ADC2)帶有可編程增益放大器,能在A/D轉(zhuǎn)換前對差分輸入電壓進(jìn)行0dB(1),20dB(10)或46dB(200)的放大。還有七種差分輸入方式的模擬輸入通道共用一個負(fù)極(ADC1),此時其它任意一個ADC引腳都可作

7、為相應(yīng)的正極。若增益為1或10,則可獲得8位的精度。如果增益為200,那么轉(zhuǎn)換精度為7位。14AVR的模數(shù)轉(zhuǎn)換器ADC具有下列特點(diǎn):n10位精度;n0.5LSB積分非線形誤差n2LSB的絕對精度;n13s-260s的轉(zhuǎn)換時間;n在最大精度下可達(dá)到每秒15kSPS的采樣速率;n8路可選的單端輸入通道;n7路差分輸入通道;n2路差分輸入通道帶有可選的10和200增益;nADC轉(zhuǎn)換結(jié)果的讀取可設(shè)置為左端對齊(LEFT ADJUSTMENT);10.2.1 10位ADC結(jié)構(gòu)15nADC的電壓輸入范圍0Vcc;n可選擇的內(nèi)部2.56V的ADC參考電壓源;n自由連續(xù)轉(zhuǎn)換模式和單次轉(zhuǎn)換模式;nADC自動轉(zhuǎn)換

8、觸發(fā)模式選擇;nADC轉(zhuǎn)換完成中斷;n休眠模式下的噪聲抑制器(NOISE CANCELER)。16nADC功能單元包括采樣保持電路,以確保輸入電壓在功能單元包括采樣保持電路,以確保輸入電壓在ADC轉(zhuǎn)換過程中保持恒定轉(zhuǎn)換過程中保持恒定。圖10-3 ADC功能單元方框圖17n10.2.2 ADC相關(guān)的I/O寄存器位 7 6 5 4 3 2 1 0 $07 ($0027) REFS1 REFS0 ADLAR MUX4 MUX3 MUX2 MUX1 MUX0 ADMUX 讀/寫 R/W R/W R/W R/W R/W R/W R/W R/W 復(fù)位值 0 0 0 0 0 0 0 0 位7,6REFS1:

9、0:ADC參考電源選擇 位5ADLAR:ADC結(jié)果左對齊選擇 位4.0MUX4:0:模擬通道和增益選擇n1ADC多路復(fù)用器選擇寄存器ADMUX18n位7ADEN:ADC使能n位6ADSC:ADC轉(zhuǎn)換開始n位5ADATE:ADC自動轉(zhuǎn)換觸發(fā)允許n位4ADIF:ADC中斷標(biāo)志位n位3ADIE:ADC中斷允許n位2,0ADPS2:0:ADC預(yù)分頻選擇2.ADC控制和狀態(tài)寄存器AADCSRA19n3ADC數(shù)據(jù)寄存器ADCL和ADCH位 15 14 13 12 11 10 9 8 $05 ($0025) - - - - - - ADC9 ADC8 ADCH $04 ($0024) ADC7 ADC6 A

10、DC5 ADC4 ADC3 ADC2 ADC1 ADC0 ADCL 位 7 6 5 4 3 2 1 0 讀/寫 R R R R R R R R 讀/寫 R R R R R R R R 復(fù)位值 0 0 0 0 0 0 0 0 復(fù)位值 0 0 0 0 0 0 0 0 nADLAR = 0,ADC轉(zhuǎn)換結(jié)果右對齊時,ADC結(jié)果的保存方式20nADLAR = 1,ADC轉(zhuǎn)換結(jié)果左對齊時,ADC結(jié)果的保存方式位 15 14 13 12 11 10 9 8 $05 ( $0025) A D C 9 A D C 8 A D C 7 A D C 6 A D C 5 A D C 4 A D C 3 A D C 2

11、 A D C H $04 ( $0024) A D C 1 A D C 0 - - - - - - A D C L 位 7 6 5 4 3 2 1 0 讀 /寫 R R R R R R R R 讀 /寫 R R R R R R R R 復(fù) 位 值 0 0 0 0 0 0 0 0 復(fù) 位 值 0 0 0 0 0 0 0 0 21n當(dāng)ADC轉(zhuǎn)換完成后,可以讀取ADC寄存器的ADC0-ADC9得到ADC的轉(zhuǎn)換的結(jié)果。如果是差分輸入,轉(zhuǎn)換值為二進(jìn)制的補(bǔ)碼形式。一旦開始讀取ADCL后,ADC數(shù)據(jù)寄存器就不能被ADC更新,直到ADCH寄存器被讀取為止。因此,如果結(jié)果是左對齊(ADLAR=1),且不需要大于

12、8位的精度的話,僅僅讀取ADCH寄存器就足夠了。否則,必須先讀取ADCL寄存器,再讀取ADCH寄存器。ADMUX寄存器中的ADLAR位決定了從ADC數(shù)據(jù)寄存器中讀取結(jié)果的格式。如果ADLAR位為“1”,結(jié)果將是左對齊;如果ADLAR位為“0”(默認(rèn)情況),結(jié)果將是右對齊。讀數(shù)注意讀數(shù)注意22n4特殊功能I/O寄存器SFIOR位 7 6 5 4 3 2 1 0 $30 ( $0050) ADTS2 ADTS1 ADTS0 - ACM E PUD PSR2 PSR10 SFIOR 讀 /寫 R/W R/W R/W R R/W R/W R/W R/W 復(fù) 位 值 0 0 0 0 0 0 0 0 23

13、n位7.5ADTS2:0:ADC自動轉(zhuǎn)換觸發(fā)源選擇,見表9-6表9-6 ADC自動轉(zhuǎn)換觸發(fā)源的選擇ADTS2:0觸 發(fā) 源000連續(xù)自由轉(zhuǎn)換001模擬比較器010外部中斷0011T/C0比較匹配100T/C0溢出101T/C1比較匹配B110T/C1溢出111T/C1輸入捕捉24n n1預(yù)分頻與轉(zhuǎn)換時間n在通常情況下,ADC的逐次比較轉(zhuǎn)換電路要達(dá)到最大精度時,需要50kHz200kHz之間的采樣時鐘。在要求轉(zhuǎn)換精度低于10位的情況下,ADC的采樣時鐘可以高于200kHz,以獲得更高的采樣率。圖10-4 帶預(yù)分頻器的ADC時鐘源10.2.3 ADC應(yīng)用設(shè)計(jì)要點(diǎn)25nAVR的ADC完成一次轉(zhuǎn)換的時

14、間見表10-7。從表中可以看出,完成一次ADC轉(zhuǎn)換通常需要13-14個ADC時鐘。而啟動ADC開始第一次轉(zhuǎn)換到完成的時間需要25個ADC時鐘,這是因?yàn)橐獙DC單元的模擬電路部分進(jìn)行初始化。表10-7 ADC轉(zhuǎn)換和采樣保持時間轉(zhuǎn) 換 形 式采樣保持時間完 成 轉(zhuǎn) 換 總 時 間啟動ADC后的第一次轉(zhuǎn)換13.5個ADC時鐘25個ADC時鐘正常轉(zhuǎn)換,單端輸入1.5個ADC時鐘13個ADC時鐘自動觸發(fā)方式2個ADC時鐘13.5個ADC時鐘正常轉(zhuǎn)換,差分輸入1.5/2.5個ADC時鐘13/14個ADC時鐘26n輸入通道:ADMUX寫入n參考電源:AVcc或芯片內(nèi)部的2.56V參考源2ADC輸入通道和參

15、考電源的選擇輸入通道和參考電源的選擇27n在單次轉(zhuǎn)換模式下,總是在開始轉(zhuǎn)換前改變通道設(shè)置。n在連續(xù)轉(zhuǎn)換模式下,總是在啟動ADC開始第一次轉(zhuǎn)換前改變通道設(shè)置。改變改變ADC輸入通道時,應(yīng)該遵循的原則輸入通道時,應(yīng)該遵循的原則28n3ADC轉(zhuǎn)換結(jié)果A/D轉(zhuǎn)換結(jié)束后(ADIF = 1),在ADC數(shù)據(jù)寄存器(ADCL和ADCH)中可以取得轉(zhuǎn)換的結(jié)果。對于單端輸入的A/D轉(zhuǎn)換,其轉(zhuǎn)換結(jié)果為:ADC =(VIN1024)/ VREF其中VIN表示選定的輸入引腳上的電壓,VREF表示選定的參考電源的電壓。對于差分轉(zhuǎn)換,其結(jié)果為:ADC=(VPOS-VNEG) GAIN512/VREF說明:VPOS為差分正極

16、輸入電壓,VNEG為差分負(fù)極輸入電壓2910.2.4 ADC的應(yīng)用實(shí)例30 本例利用ATmega16內(nèi)部的ADC進(jìn)行轉(zhuǎn)換,轉(zhuǎn)換后的結(jié)果換算成測量的電壓值在4位LED數(shù)碼管上顯示。在數(shù)碼管上顯示AD采樣值,實(shí)現(xiàn)和完成一個簡易電壓表的設(shè)計(jì)。通過調(diào)節(jié)W改變AD采樣值n實(shí)例功能31程序#include flash unsigned char led_710=0 x3F,0 x06,0 x5B,0 x4F,0 x66,0 x6D,0 x7D,0 x07,0 x7F,0 x6F;flash unsigned char position4=0 xfe,0 xfd,0 xfb,0 xf7;unsigned c

17、har dis_buff4=0,0,0,0,posit;bit time_2ms_ok;32/ ADC電壓值送顯示緩沖區(qū)函數(shù)void adc_to_disbuffer(unsigned int adc)unsigned char i;for (i=0;i=4 ) posit = 0;35void main(void)DDRA=0 x0f;PORTA=0 x0f;DDRC=0 xff; / LED顯示控制I/O端口初始化PORTC=0 x00;/ T/C0 初始化初始化TCCR0=0 x0B; / 內(nèi)部時鐘,64分頻(4M/64=62.5KHz),CTC模式TCNT0=0 x00; OCR0=0

18、 x7C; / OCR0 = 0 x7C(124),(124+1)/62.5=2msTIMSK=0 x02; / 允許T/C0比較中斷 / ADC 初始化初始化 ADMUX=0 x47; / 參考電源AVcc、ADC7單端輸入 SFIOR&=0 x1F; SFIOR|=0 x60; / 選擇T/C0比較匹配中斷為ADC觸發(fā)源 ADCSRA=0 xAD; / ADC允許、自動觸發(fā)轉(zhuǎn)換、ADC轉(zhuǎn)換中斷允許、ADCclk=125Kz #asm(sei) / 開放全局中斷36while (1) if (time_2ms_ok) display(); / LED掃描顯示 time_2ms_ok = 0;

19、 3710.2.5 ADC的應(yīng)用設(shè)計(jì)的深入討論1AVcc的穩(wěn)定性。的穩(wěn)定性。 AVcc是提供給ADC工作的電源,如果AVcc不穩(wěn)定,就會影響ADC的轉(zhuǎn)換精度。 通常采用系統(tǒng)電源通過一個LC濾波后接入AVcc,抑制掉系統(tǒng)電源中的高頻躁聲,提高AVcc的穩(wěn)定性。 必要時,PA口上的那些沒被用做ADC輸入的端口盡量不要作為數(shù)字I/O口使用。因?yàn)镻A口的工作電源是由AVcc提供的,如果PA口上有比較大的電流波動,也會影響AVcc的穩(wěn)定。38n2參考電壓VREF的選擇確定 ADC的參考電壓VREF還決定了A/D轉(zhuǎn)換的范圍。如果單端通道的輸入電壓超過VREF,將導(dǎo)致轉(zhuǎn)換結(jié)果全部接近于0 x3FF,因此ADC的參考電壓應(yīng)稍大于模擬輸入電壓的最高值。 ADC的參考電壓VREF可以選擇為AVCC,或芯片內(nèi)部的2.56V參考源,或者為外接在AREF引腳上的參考電壓源。外接參考電壓應(yīng)該穩(wěn)定,并大于2.0V(芯片的工作電壓為1.8V時,外接參考電壓應(yīng)大于1.0V)。要求比較高的場合,建議在AREF引腳外接標(biāo)準(zhǔn)參考電壓源來作為ADC的參考電源。39n3. ADC通道帶寬和輸入阻抗 不管使用單端輸入轉(zhuǎn)換還是差分輸入轉(zhuǎn)換方式,所有模擬輸入口的輸入電壓應(yīng)在AVcc-GNG之間。40n通常條件下,AVR的ADC逐次比較電路要達(dá)到轉(zhuǎn)換的最大精度,需要一個50K200KHz的采樣時鐘。一次正常的ADC轉(zhuǎn)換

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論