微機(jī)原理及接口技術(shù)第十三章_第1頁
微機(jī)原理及接口技術(shù)第十三章_第2頁
微機(jī)原理及接口技術(shù)第十三章_第3頁
微機(jī)原理及接口技術(shù)第十三章_第4頁
微機(jī)原理及接口技術(shù)第十三章_第5頁
已閱讀5頁,還剩29頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

有關(guān)D/A、A/D的基本概念

DAC及其接口

ADC及其接口

A/D、D/A應(yīng)用舉例本章內(nèi)容

了解微機(jī)控制系統(tǒng)的一般組成了解D/A、A/D的基本原理了解DAC、ADC的主要性能指標(biāo)掌握DAC、ADC與CPU的接口及其應(yīng)用學(xué)習(xí)目的

13.1D/A與A/D接口概述一、一個典型的計(jì)算機(jī)自動控制系統(tǒng)

數(shù)/模(D/A)和模/數(shù)(A/D)轉(zhuǎn)換技術(shù)主要用于計(jì)算機(jī)實(shí)時(shí)控制和自動測量系統(tǒng)中。在工業(yè)控制和參數(shù)測量時(shí),經(jīng)常會遇到如溫度、壓力、流量等連續(xù)變化的物理量(通稱模擬量)。用計(jì)算機(jī)處理這些模擬量必須先將其轉(zhuǎn)換為電信號,然后再經(jīng)A/D轉(zhuǎn)換器將其轉(zhuǎn)換為數(shù)字量。對于大多數(shù)的被控對象,計(jì)算機(jī)加工處理后輸出的數(shù)字形式控制信號還應(yīng)經(jīng)D/A轉(zhuǎn)換變成模擬量。才能推動執(zhí)行機(jī)構(gòu)工作。一個包含A/D和D/A轉(zhuǎn)換的計(jì)算機(jī)閉環(huán)自動控制系統(tǒng)

如下圖所示生

產(chǎn)

程傳感器執(zhí)行機(jī)構(gòu)A/D轉(zhuǎn)換器I/O接口計(jì)算機(jī)D/A轉(zhuǎn)換器I/O接口圖13.1典型的計(jì)算機(jī)自動控制系統(tǒng)二、模/數(shù)轉(zhuǎn)換器(ADC)的主要性能參數(shù)分辨率(Resolution)

它表明A/D對模擬信號的分辨能力,由它確定能被A/D辨別的最小模擬量變化。2.量化誤差(Quantizingerror)

在A/D轉(zhuǎn)換中由于整量化產(chǎn)生的固有誤差。量化誤差在±1/2LSB(最低有效位)之間。

一個8位的A/D轉(zhuǎn)換器,它把輸入電壓信號分成28=256層,若它的量程為0~5V,那么,量化單位q為:q==≈0.0195V=19.5mV例如3.轉(zhuǎn)換時(shí)間(Conversiontime)

轉(zhuǎn)換時(shí)間是A/D完成一次轉(zhuǎn)換所需要的時(shí)間。一般轉(zhuǎn)換速度越快越好,常見有高速(轉(zhuǎn)換時(shí)間<1us)、中速(轉(zhuǎn)換時(shí)間<1ms)和低速(轉(zhuǎn)換時(shí)間<1s)等。4.絕對精度

對于A/D,指的是對應(yīng)于一個給定量,A/D轉(zhuǎn)換器的誤差,其誤差大小由實(shí)際模擬量輸入值與理論值之差來度量。5.相對精度

對于A/D,指的是滿度值校準(zhǔn)以后,任一數(shù)字輸出所對應(yīng)的實(shí)際模擬輸入值(中間值)與理論值(中間值)之差。例如,對于一個8位0~+5V的A/D轉(zhuǎn)換器,如果其相對誤差為1LSB,則其絕對誤差為19.5mV,相對誤差為0.39%。三、數(shù)/模轉(zhuǎn)換器(DAC)的主要性能參數(shù)分辨率(Resolution)

分辨率表明DAC對模擬量的分辨能力,它是最低有效位(LSB)所對應(yīng)的模擬量,它確定了能由D/A產(chǎn)生的最小模擬量的變化。通常用二進(jìn)制數(shù)的位數(shù)表示DAC的分辨率,如分辨率為8位的D/A能給出滿量程電壓的1/28的分辨能力,顯然DAC的位數(shù)越多,則分辨率越高。2.線性誤差(Linearityerror)

D/A的實(shí)際轉(zhuǎn)換值偏離理想轉(zhuǎn)換特性的最大偏差與滿量程之間的百分比稱為線性誤差。3.建立時(shí)間(Settingtime)

這是D/A的一個重要性能參數(shù),定義為:在數(shù)字輸入端發(fā)生滿量程碼的變化以后,D/A的模擬輸出穩(wěn)定到最終值±1/2LSB時(shí)所需要的時(shí)間。4.溫度靈敏度它是指數(shù)字輸入不變的情況下,模擬輸出信號隨溫度的變化。一般D/A轉(zhuǎn)換器的溫度靈敏度為±50PPM/℃。PPM為百萬分之一。

5.輸出電平

不同型號的D/A轉(zhuǎn)換器的輸出電平相差較大,一般為5V~10V,有的高壓輸出型的輸出電平高達(dá)24V~30V。

13.2DAC0832數(shù)/模轉(zhuǎn)換器一、DAC0832的內(nèi)部結(jié)構(gòu)與引腳圖

圖13.2給出了DAC0832的內(nèi)部結(jié)構(gòu)。

圖13.3給出了DAC0832的引腳圖。

DAC0832是一種相當(dāng)普遍且成本較低的數(shù)/模轉(zhuǎn)換器。該器件是一個8位轉(zhuǎn)換器,它將一個8位的二進(jìn)制數(shù)轉(zhuǎn)換成模擬電壓。ILECSWR1XFERWR2D0Q0D1Q1D2Q2D3Q3D4Q4D5Q5D6Q6D7Q7GD0Q0D1Q1D2Q2D3Q3D4Q4D5Q5D6Q6D7Q7GD/AD0D1D2D3D4D5D6D7VREFIOUT2IOUT1RFB鎖存器1鎖存器2轉(zhuǎn)換器圖13.2DAC0832的內(nèi)部結(jié)構(gòu)

圖13.3DAC0832引腳圖7203121181CSVREFWR1RFBD0D1D2D3

D4D5

D6D7XFERILEVCCDGNDAGND218965416151413191017IOUT2

IOUT1

DAC0832WR2各引腳的功能如下:

D0~D7:

8位數(shù)據(jù)輸入端。CS:片選信號輸入端。WR1、WR2:兩個寫入命令輸入端,低電平有效。XFER:傳送控制信號,低電平有效。IOUT1和IOUT2:互補(bǔ)的電流輸出端。RFB:反饋電阻,被制作在芯片內(nèi),與外接的運(yùn)

算放大器配合構(gòu)成電流/電壓轉(zhuǎn)換電路。VREF:轉(zhuǎn)換器的基準(zhǔn)電壓。VCC:工作電源輸入端。AGND:模擬地,模擬電路接地點(diǎn)。DGND:數(shù)字地,數(shù)字電路接地點(diǎn)。RFB:反饋電阻,被制作在芯片內(nèi),與外接的運(yùn)

算放大器配合構(gòu)成電流/電壓轉(zhuǎn)換電路。VREF:轉(zhuǎn)換器的基準(zhǔn)電壓。VCC:工作電源輸入端。AGND:模擬地,模擬電路接地點(diǎn)。DGND:數(shù)字地,數(shù)字電路接地點(diǎn)。(1)直通方式二、DAC0832的工作方式DAC0832可工作在三種不同的工作模式:

當(dāng)ILE接高電平,CS,WR1、WR2和XFER都接數(shù)字地時(shí),DAC處于直通方式,8位數(shù)字量一旦到達(dá)D0~D7輸入端,就立即加到D/A轉(zhuǎn)換器,被轉(zhuǎn)換成模擬量。(2)單緩沖方式

單緩沖方式是將一個鎖存器處于緩沖方式,另一個鎖存器處于直通方式,輸入數(shù)據(jù)經(jīng)過一級緩沖送入D/A轉(zhuǎn)換器。(3)雙緩沖方式

即數(shù)據(jù)通過兩個寄存器鎖存后再送入D/A轉(zhuǎn)換電路,執(zhí)行兩次寫操作才能完成一次D/A轉(zhuǎn)換。三、DAC0832與CPU的連接

由于DAC0832內(nèi)部含有數(shù)據(jù)鎖存器,在與CPU相連時(shí),使其可直接掛在數(shù)據(jù)總線上。DAC0832采用單緩沖方式

與CPU的連接如圖13.4所示。I1I2I3I4I5I6I7I8I9I10O1O2O3O4O5O6O7O8GAL16V8WRA0A1A2A3A4A5A6A7M/IO+5V10K20HCSWR1WR2DGNDD0~D7D0~D7ILEXFERVREFIOUT1IOUT2AGND_+RFBLM741+5VU0DAC0832圖13.4DAC0832與CPU的單緩沖方式連接電路

下面舉例說明如何編寫D/A轉(zhuǎn)換程序。例

編寫圖13.4中DAC0832輸出三角波的匯編程序,要求三角波的最低電壓為0V,最高電壓為2.5V。分析:三角波電壓范圍0~2.5V,對應(yīng)的數(shù)字量 00H~7FH。三角波的下降部分,從7FH 減1,直到數(shù)字量降為00H;上升部分則 從00H加1,直到7FH。相應(yīng)的程序如下:

MOVAL,7FH ;設(shè)2.5V初值DOWN:OUT20H,AL;輸出模擬信號到端口20H,三角波下降 ;段

DECAL ;輸出值減1

CMPAL,00H;輸出值到達(dá)0V? JNZDOWN

;輸出值未達(dá)到0V,則跳到DOWN

UP:OUT20H,AL ;輸出模擬量到端口20H,三角波上升段

INCAL ;輸出值加1

CMPAL,7FH ;判別輸出值是否到達(dá)2.5V JNZUP

;輸出值未達(dá)到2.5V則跳到UP JMPDOWN;輸出值達(dá)到2.5V則跳到DOWN循環(huán)。

本例中DAC0832輸出的三角波如圖13.5所示。若8086的時(shí)鐘頻率為5MHz,則可計(jì)算出該三角波的周期大約為1.53ms,即頻率約為654Hz。如果要進(jìn)一步降低三角波的頻率(增大其周期),可在每次D/A轉(zhuǎn)換之后加入適當(dāng)?shù)难訒r(shí)。圖13.5DAC0832輸出的三角波形圖

13.3ADC0809模/數(shù)轉(zhuǎn)換器一、ADC0809的內(nèi)部結(jié)構(gòu)與引腳圖

ADC0809是一種普遍使用且成本較低的CMOS材料A/D轉(zhuǎn)換器。它具有8個模擬量輸入通道,可將模擬量轉(zhuǎn)換為8位二進(jìn)制數(shù)字量。

圖13.6給出了ADC0809的內(nèi)部結(jié)構(gòu)。

圖13.7給出了ADC0809的引腳圖。圖13.6ADC0809轉(zhuǎn)換器的內(nèi)部結(jié)構(gòu)圖EOCOED0D7REF(+)REF(-)ADDCADDBADDAALEIN0IN7比較器通道選擇開關(guān)逐位逼近寄存器(SAR)開關(guān)樹型D/A8位鎖存和三態(tài)門定時(shí)和控制通道地址鎖存及譯碼模擬輸入數(shù)字輸出START圖13.7ADC0809的引腳圖

10

CLOCK

D0D1D2D3D4D5D6D7ADDAADDBADDCEOCOEALESTART

REF(+)REF(-)VccGNDIN0IN1IN2IN3IN4IN5IN6IN7171481518192021252423792261216111326272812345ADC0809

CLOCK二、ADC0809與CPU的連接ADC0809與CPU的連接,主要是正確處理數(shù)據(jù)輸出線(D0~D7),啟動信號START和轉(zhuǎn)換結(jié)束信號EOC與系統(tǒng)總線的連接問題。

圖13.8給出了ADC0809與CPU的典型連接圖。

圖13.8ADC0809與CPU的連接圖300H~307HOEALESTARTIN0IN7ADDCADDBADDACLKEOCD7D0REF(-)GND500KHZREF+Vcc()+5VA2A18路模擬輸入IORIOWADC0809≥1308H~30FHD7D0A012…………≥1I/O譯碼A9

A3≥1下面舉例說明如何編寫A/D轉(zhuǎn)換程序。例

編寫圖13.8中的A/D轉(zhuǎn)換程序,具體要求如下:①

順序采樣IN0~IN78個輸入通道的模擬信號;②

結(jié)果依次保存在ADDBUF開始的八個內(nèi)存

單元中;

上述采樣每隔100ms循環(huán)一次。設(shè)DELAY

是一延時(shí)100ms子程序。

分析:(1)模擬輸入通道IN0~IN7由A0~A2決定其端口

地址,分別為300H~307H,與IOW相配合,

可啟動ADC0809進(jìn)行轉(zhuǎn)換;

(2)查詢端口和讀A/D轉(zhuǎn)換結(jié)果寄存器的地址分

別為:308H和300H。

相應(yīng)的采集程序如下:

AD:MOVCX,0008H ;通道計(jì)數(shù)單元CX賦初值

MOVDI,OFFSETADDBUF;尋址數(shù)據(jù)區(qū),結(jié)果保存 ;在ADDBUF存儲區(qū)START:MOVDX,300H ;取IN0啟動地址LOOP1:OUTDX,AL ;啟動A/D轉(zhuǎn)換,AL可為 ;任意值

PUSHDX ;保存通道地址

MOVDX,308H ;取查詢EOC狀態(tài)的端口 ;地址WAIT:

INAL,DX ;讀EOC狀態(tài)

TESTAL,80H ;測試A/D轉(zhuǎn)換是否結(jié)束

JZWAIT ;未結(jié)束,則跳到WAIT ;處

MOVDX,300H ;取讀A/D轉(zhuǎn)換結(jié)果寄存器的 ;端口地址INAL,DX ;讀A/D轉(zhuǎn)換結(jié)果MOV[DI],AL ;保存轉(zhuǎn)換結(jié)果INCDI ;指向下一保存單元POPDX ;恢復(fù)通道地址INCDX ;指向下一個模擬通道LOOPLOOP1 ;未完,轉(zhuǎn)入下一通道采樣CALLDELAY ;延時(shí)100msJMPAD ;進(jìn)行下一次循環(huán)采樣,跳至 ;AD處。

13.4D/A與A/D應(yīng)用舉例給出一個使用ADC0809和DAC0832來捕獲和重放語音信號的實(shí)例。本例要求ADC0809采樣大約1秒鐘語音信號并保存到相應(yīng)存儲單元,D/A將此語音信號經(jīng)揚(yáng)聲器重放10次,然后循環(huán)進(jìn)行上述采樣和重放,直到系統(tǒng)關(guān)閉。

圖13.9給出了相應(yīng)得電路。1819202123456791011121317272F7H2F6H2F5H2F0HI1I2I3I4

I5I6I7I8

I9I10I11I12I13O1O2O3O4AENIOWIORA9A8A7A6A5A4A3A2A1A0U3GAL20V8111224252316762292F6H2627281234510U2VCCREF(+)IN0IN1IN2IN3IN4IN5IN6IN7CLK+5VEOCADDAADDBADDCOEALESTART…D0D7放大器麥克風(fēng)500KHZD72F5HD0D1D22F0HGNDREF(-)13+5VD7D0…74112981918211…103120+12V揚(yáng)聲器-12V+5V2F7HU117DAC0832ADC0809CSXFERDGNDAGNDRFBIOUT2VREFWR2WR1ILEIOUT1D7D0-+圖13.9A/D和D/A與CPU連接圖

分析(1)DAC0832的I/O端口地址由GAL20V8譯碼產(chǎn)生的地址是2F7H;ADC0809的EOC狀態(tài)查詢地址為2F6H;讀ADC0809轉(zhuǎn)換結(jié)果端口地址為2F5H;啟動A/D轉(zhuǎn)換端口地址為2F0H。(2)該程序讀大約1秒鐘語音信號,然后重放10次,重復(fù)此進(jìn)程直到系統(tǒng)被關(guān)閉。語音信號被采樣存儲在VOICE存儲區(qū)中,采樣率為每秒鐘采樣2048次。設(shè)DELAY是延時(shí)1/2048秒的子程序,且數(shù)據(jù)段中已申請2048個單元給VOICE。

相應(yīng)的程序如下:START: CALLREAD ;調(diào)用A/D采樣語音子程序

MOVCX,0AH ;置為10次LOOP1: CALLWRITE ;調(diào)用D/A放音子程序

LOOPLOOP1 ;重復(fù)放音10次

JMPSTART ;進(jìn)入下一次循環(huán)READPROCNEAR ;A/D語音采樣子程序

MOVDI,OFFSETVOICE;尋址數(shù)據(jù)區(qū)

MOVCX,0800H ;裝入計(jì)數(shù)器CX=2048READA: MOVAL,00H ;選擇IN0通道,D2=0, ;D1=0,D0=0MOVDX,2F0H ;DX指向A/D轉(zhuǎn)換啟動端口 ;地址

OUTDX,AL ;啟動A/D轉(zhuǎn)換并選中IN0通道

MOVDX,2F6H;尋址EOC狀態(tài)端口地址READB: INAL,DX ;取EOC狀態(tài)

TESTAL,80H ;測試是否轉(zhuǎn)換結(jié)束

JZREADB

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論