




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第7章模/數(shù)(A/D)與數(shù)/模(D/A)轉(zhuǎn)換 7.1模/數(shù)(A/D)轉(zhuǎn)換
7.2數(shù)/模(D/A)轉(zhuǎn)換7.3實(shí)驗(yàn)習(xí)題77.1模/數(shù)(A/D)轉(zhuǎn)換7.1.1模/數(shù)轉(zhuǎn)換器的原理與主要技術(shù)指標(biāo)
1.模/數(shù)轉(zhuǎn)換器的原理模/數(shù)轉(zhuǎn)換器可把模擬量轉(zhuǎn)換成數(shù)字量,實(shí)際應(yīng)用中是把模擬電壓轉(zhuǎn)換成二進(jìn)制數(shù)字量。模/數(shù)轉(zhuǎn)換的方法有計(jì)數(shù)式A/D轉(zhuǎn)換,逐次逼近式A/D轉(zhuǎn)換,雙積分式A/D轉(zhuǎn)換,并行A/D轉(zhuǎn)換和串/并行A/D轉(zhuǎn)換等。
計(jì)數(shù)式A/D轉(zhuǎn)換由計(jì)數(shù)器、比較器和一個(gè)內(nèi)部D/A轉(zhuǎn)換器組成,線路比較簡(jiǎn)單,價(jià)格也便宜,但轉(zhuǎn)換速度比較慢,現(xiàn)在已不常使用。雙積分式A/D轉(zhuǎn)換主要由積分器、零比較器、計(jì)數(shù)器以及時(shí)鐘發(fā)生器組成。逐次逼近式A/D轉(zhuǎn)換既具有一定的轉(zhuǎn)換速度,又具有一定的精度,是目前廣泛應(yīng)用的8~16位ADC的主流產(chǎn)品。逐次逼近式A/D轉(zhuǎn)換的原理如圖7-1所示。圖7-1逐次逼近式A/D轉(zhuǎn)換2.?模/數(shù)(A/D)轉(zhuǎn)換器的主要技術(shù)指標(biāo)
1)分辨率分辨率是指A/D轉(zhuǎn)換器能分辨的最小模擬輸入電壓值,常用可轉(zhuǎn)換成的數(shù)字量的位數(shù)來(lái)表示(例如,8位、10位、12位、16位等)。分辨率=
其中,n是可轉(zhuǎn)換成的數(shù)字量的位數(shù)。所以位數(shù)越高,分辨率也越高。例如,當(dāng)輸入滿量程電壓為5V時(shí),對(duì)于8位A/D轉(zhuǎn)換器,A/D轉(zhuǎn)換的分辨率為5V/255=0.0195V。2)轉(zhuǎn)換時(shí)間轉(zhuǎn)換時(shí)間反映了A/D轉(zhuǎn)換的速度。轉(zhuǎn)換時(shí)間是啟動(dòng)ADC開(kāi)始轉(zhuǎn)換到完成一次轉(zhuǎn)換所需要的時(shí)間。目前常用的A/D轉(zhuǎn)換集成電路芯片的轉(zhuǎn)換時(shí)間在微秒數(shù)量級(jí)。不同的ADC有不同的轉(zhuǎn)換時(shí)間,轉(zhuǎn)換時(shí)間是編程時(shí)必須考慮的因素。
3)量程量程是指能進(jìn)行轉(zhuǎn)換的輸入電壓的最大范圍。4)絕對(duì)精度絕對(duì)精度是指ADC輸出端產(chǎn)生一個(gè)給定的數(shù)字量時(shí),ADC輸入端的實(shí)際模擬量輸入值與理論值之差,把這個(gè)差值的最大值定義為絕對(duì)精度。ADC輸出端的一個(gè)確定的數(shù)字量所對(duì)應(yīng)的模擬輸入量是一個(gè)范圍,而不是一個(gè)固定值。
5)相對(duì)精度類似于絕對(duì)精度,相對(duì)精度是指ADC輸出端產(chǎn)生一個(gè)給定的數(shù)字量時(shí),ADC輸入端實(shí)際模擬量輸入值與理論值之差的最大值與滿量程值之比,一般用百分?jǐn)?shù)來(lái)表示。7.1.2模/數(shù)接口芯片ADC0809ADC0809是CMOS逐次逼近式8位A/D轉(zhuǎn)換器,它具有8通路模擬信號(hào)輸入端,模擬輸入電壓范圍為0~+5V,轉(zhuǎn)換時(shí)間為100μs,輸出端具有三態(tài)輸出數(shù)據(jù)鎖存器,+5V電源供電,功耗為15mW。1.?ADC0809的引腳
ADC0809的引腳如圖7-2所示,各引腳功能如下。
IN0~I(xiàn)N7:8通路模擬信號(hào)輸入端,同一時(shí)刻只可有一路模擬信號(hào)輸入。
ADDA、ADDB、ADDC:地址信號(hào)線,輸入,用于選擇控制8通路輸入模擬量中的某一路工作。ADDA、ADDB、ADDC與IN0~I(xiàn)N7的關(guān)系見(jiàn)表7-1。表7-1ADDA~ADDC與IN0~I(xiàn)N7的關(guān)系A(chǔ)DDCADDBADDA模擬信號(hào)輸入通路選擇000IN0001IN1010IN2011IN3100IN4101IN5110IN6111IN7圖7-2ADC0809引腳圖ALE:地址鎖存允許信號(hào),輸入,高電平有效,配合ADDA、ADDB、ADDC工作。
D7~D0:8位數(shù)字量輸出端。
START:A/D轉(zhuǎn)換啟動(dòng)信號(hào)輸入端,START的上升沿使逐次逼近寄存器復(fù)位,下降沿啟動(dòng)ADC進(jìn)行A/D轉(zhuǎn)換工作。
CLK:時(shí)鐘脈沖輸入端,CLK的頻率范圍為10~1280kHz。
EOC:A/D轉(zhuǎn)換結(jié)束信號(hào),輸出,高電平有效,可作為中斷請(qǐng)求信號(hào)。OE:數(shù)字量輸出允許信號(hào)。
VREF(+)~VREF(-):基準(zhǔn)參考電壓正負(fù)輸入端,用來(lái)提供A/D轉(zhuǎn)換器內(nèi)部D/A使用的標(biāo)準(zhǔn)電平,與微機(jī)接口時(shí)常對(duì)應(yīng)使用+5V、0V或使用0V、-5V。
VCC:電源電壓,+5V。
GND:地線。2.?ADC0809的結(jié)構(gòu)與工作過(guò)程
ADC0809的內(nèi)部結(jié)構(gòu)如圖7-3所示,其功能與工作過(guò)程如下:輸入到地址鎖存與譯碼模塊的ADDA、ADDB、ADDC三位地址信號(hào)用于決定IN0~I(xiàn)N7中哪一路模擬信號(hào)可以輸入,然后使地址鎖存與譯碼模塊的ALE=1,從而使IN0~I(xiàn)N7中被選中的一路模擬信號(hào)經(jīng)通道選擇開(kāi)關(guān)送達(dá)比較器的輸入端。
向定時(shí)和控制模塊發(fā)出啟動(dòng)信號(hào)START,START的上升沿使逐次逼近寄存器SAR清零,下降沿啟動(dòng)A/D轉(zhuǎn)換。這時(shí)定時(shí)和控制模塊的EOC輸出信號(hào)變?yōu)榈碗娖?,表示A/D轉(zhuǎn)換正在進(jìn)行。當(dāng)A/D轉(zhuǎn)換結(jié)束后,EOC變?yōu)楦唠娖?,表示A/D轉(zhuǎn)換完成。圖7-3ADC0809內(nèi)部結(jié)構(gòu)A/D轉(zhuǎn)換完成后,轉(zhuǎn)換好的數(shù)字?jǐn)?shù)據(jù)已送入8位三態(tài)鎖存緩沖器模塊。如果使8位三態(tài)鎖存緩沖器模塊的OE信號(hào)變?yōu)楦唠娖?,則8位三態(tài)鎖存緩沖器的三態(tài)門被打開(kāi),轉(zhuǎn)換好的8位數(shù)字量數(shù)據(jù)被輸出到數(shù)據(jù)線上。如上所述,EOC信號(hào)變?yōu)楦唠娖奖硎続/D轉(zhuǎn)換完成,EOC可作為中斷申請(qǐng)信號(hào),通知CPU取走數(shù)據(jù)。在查詢傳送方式中,EOC可以作為CPU查詢外設(shè)(ADC)的狀態(tài)信號(hào)。
ADC0809的工作時(shí)序如圖7-4所示,ADC0809在進(jìn)行A/D轉(zhuǎn)換前,先通過(guò)ADDA、ADDB、ADDC選擇模擬輸入通路。圖7-4ADC0809的工作時(shí)序7.1.3ADC0809與系統(tǒng)的接口及應(yīng)用
1.?ADC0809與CPU的連接
ADC0809與計(jì)算機(jī)系統(tǒng)的連接主要考慮三方面,即與系統(tǒng)的數(shù)據(jù)總線、地址總線和控制總線的連接。由于ADC0809的輸出D7~D0具有三態(tài)輸出鎖存緩沖器,因此ADC0809與計(jì)算機(jī)連接時(shí)可以直接和CPU的數(shù)據(jù)總線相連。地址總線的A0、A1、A2可以對(duì)應(yīng)連接ADC0809的ADDA、ADDB、ADDC三位地址信號(hào)輸入線,用以控制8路模擬輸入中哪一路被選中輸入。
系統(tǒng)的控制總線要進(jìn)行與ADC0809的啟動(dòng)轉(zhuǎn)換信號(hào)START、輸出允許信號(hào)OE、轉(zhuǎn)換結(jié)束信號(hào)EOC以及ALE等信號(hào)線的連接。啟動(dòng)信號(hào)START要求是一個(gè)正脈沖信號(hào),通??捎蒀PU控制發(fā)出,輸出允許信號(hào)OE也需要CPU提供一個(gè)正脈沖信號(hào)。在A/D轉(zhuǎn)換結(jié)束時(shí),ADC0809會(huì)發(fā)出轉(zhuǎn)換結(jié)束信號(hào)EOC,通知CPU可以讀取轉(zhuǎn)換數(shù)據(jù)。CPU可以采取中斷方式或查詢方式讀取轉(zhuǎn)換結(jié)果。ADC0809與CPU的連接如圖7-5所示,CPU控制總線的I/O寫信號(hào)與片選信號(hào)經(jīng)或非門后,連接到ADC0809的START與ALE引腳,這樣CPU在執(zhí)行OUT指令時(shí)就能對(duì)ADC0809執(zhí)行寫操作,產(chǎn)生START與ALE所需的正脈沖。圖7-5ADC0809與CPU的連接
例7.1
如圖7-5所示,設(shè)系統(tǒng)譯碼后使片選信號(hào)有效的端口地址為220H~227H,參考電壓VREF為+5V,ADC0809的工作時(shí)鐘為500kHz。如果使模擬電壓信號(hào)分別從模擬輸入通路2和通路4輸入,分別進(jìn)行一次A/D轉(zhuǎn)換,轉(zhuǎn)換好的數(shù)字量分別存入BL、CL寄存器,請(qǐng)編寫實(shí)現(xiàn)這些功能的程序。
解參照表7-1可知IN0~I(xiàn)N7對(duì)應(yīng)的端口地址分別為220H~227H。程序如下:MOV DX, 222H ;模擬輸入通路2的端口地址OUT DX, AL ;啟動(dòng)A/D轉(zhuǎn)換CALL DELAY ;調(diào)用延時(shí)子程序,延時(shí)約150μs,等待A/D轉(zhuǎn)換完成IN AL, DX ;將A/D轉(zhuǎn)換的結(jié)果讀入ALMOV BL, AL ;結(jié)果存入BLMOV DX, 224H ;模擬輸入通路4的端口地址OUT DX, AL ;啟動(dòng)A/D轉(zhuǎn)換CAL DELAY ;調(diào)用延時(shí)子程序,延時(shí)約150μs,等待A/D轉(zhuǎn)換完成IN AL, DX ;將A/D轉(zhuǎn)換的結(jié)果讀入ALMOV CL, AL ;結(jié)果存入CL
例7.2A/D轉(zhuǎn)換電路如圖7-5所示,請(qǐng)編寫程序?qū)崿F(xiàn)對(duì)圖7-5中的8路模擬輸入電壓量的輪詢輸入,并把轉(zhuǎn)換結(jié)果存入DI指向的存儲(chǔ)緩沖區(qū)BUF。解程序如下:
LEA DI, BUF
;DI指向A/D轉(zhuǎn)換結(jié)果的存儲(chǔ)緩沖區(qū)
MOV CL, 8MOV DX, 220H ;模擬輸入通路0的端口地址LOP:OUT DX, AL ;啟動(dòng)A/D轉(zhuǎn)換
CALLDELAY
;調(diào)用延時(shí)子程序,延時(shí)約150μs,等待A/D轉(zhuǎn)換完成INAL, DX ;將A/D轉(zhuǎn)換的結(jié)果讀入ALMOV[DI],AL ;結(jié)果存入DI指向的緩沖區(qū)
INCDI ;DI指向緩沖區(qū)下一個(gè)單元
INC DX
;DX為下一個(gè)模擬輸入通路的端口地址
DEC CLJNZ LOP
例7.1和例7.2實(shí)現(xiàn)的A/D轉(zhuǎn)換并沒(méi)有對(duì)A/D轉(zhuǎn)換結(jié)束信號(hào)EOC進(jìn)行處理,而是采用軟件延時(shí)的方法處理A/D轉(zhuǎn)換。例7.3
設(shè)在8086/8088系統(tǒng)中ADC0809與系統(tǒng)的連接如圖7-6所示,請(qǐng)利用A/D轉(zhuǎn)換結(jié)束信號(hào)EOC作為中斷請(qǐng)求信號(hào),采用中斷方式把從IN7輸入的模擬量轉(zhuǎn)換成數(shù)字量后存入BUFFER存儲(chǔ)單元。設(shè)經(jīng)譯碼器選中ADC0809工作的端口地址為220H~227H。
解
CPU經(jīng)譯碼器選中ADC0809工作的端口地址為220H~227H,從圖7-6可知,當(dāng)CPU對(duì)端口地址為220H~227H進(jìn)行寫操作時(shí),可以啟動(dòng)ADC0809工作;當(dāng)CPU對(duì)端口地址為220H~227H進(jìn)行讀操作時(shí),可以讀取ADC0809的轉(zhuǎn)換結(jié)果。ADDA~ADDC對(duì)應(yīng)連接至地址總線的A0~A2,只有當(dāng)CPU訪問(wèn)220H~227H端口,并且對(duì)ADC0809進(jìn)行讀/寫操作時(shí),ADDA~ADDC上的地址信號(hào)才有意義,IN7的有效地址為227H。A/D轉(zhuǎn)換結(jié)束信號(hào)EOC連接系統(tǒng)的中斷請(qǐng)求線IRQ2,圖7-6ADC0809以中斷方式與CPU的連接
當(dāng)A/D轉(zhuǎn)換結(jié)束信號(hào)EOC有效時(shí),會(huì)經(jīng)過(guò)IRQ2向CPU提出中斷請(qǐng)求。在8086/8088系統(tǒng)中,IRQ2的中斷類型號(hào)是0AH(請(qǐng)參閱第3章的表3-2),可以據(jù)此設(shè)置中斷矢量。程序中采用把中斷服務(wù)程序的入口地址直接存入中斷矢量表的方法設(shè)置中斷矢量,并且由于IRQ2是為用戶保留的中斷,因此在程序結(jié)束處沒(méi)有再采取措施恢復(fù)原系統(tǒng)的中斷矢量。DATASEGMENTBUFFERDB? ;定義存放結(jié)果的緩沖區(qū)DATAENDSCODESEGMENTASSUME CS:CODE,DS:DATASTART: MOV AX, DATA MOV DS, AX CLI ;關(guān)中斷
MOV AX, 0 MOV ES, AXMOV DI,4*0AH
;DI獲得IRQ2(0AH號(hào))的中斷矢量在內(nèi)存中;的地址
MOV AX, OFFSETADCINT
;中斷服務(wù)程序的入口地址的地址偏移量
MOV ES:[DI],AX
;在中斷矢量表中設(shè)置中斷服務(wù)程序入口地址;的偏移量
MOV AX,SEGADCINT
;中斷服務(wù)程序入口地址的段地址 INC DI INC DI MOV ES:[DI],AX
;在中斷矢量表中設(shè)置中斷服務(wù)程序入口地址;的段地址
MOV SI, OFFSETBUFFER
;設(shè)置存放結(jié)果的存儲(chǔ)單元地址MOVDX, 227H ;選擇模擬通道IN7 OUT DX, AL ;發(fā)出啟動(dòng)轉(zhuǎn)換信號(hào)
STI ;開(kāi)中斷
HLT ;等待中斷
MOV AH, 4CH INT 21H ;程序結(jié)束ADCINT:CLI ;中斷服務(wù)程序入口,關(guān)中斷
MOV DX, 227H ;選擇模擬通道IN7 IN AL, DX ;輸入轉(zhuǎn)換結(jié)果
MOV [SI], AL ;轉(zhuǎn)換結(jié)果存入存儲(chǔ)單元
MOV AL, 20H OUT 20H, AL ;發(fā)中斷結(jié)束命令
STI ;開(kāi)中斷
IRET ;中斷返回CODE ENDS END START2.?ADC0809經(jīng)8255A與系統(tǒng)的連接
ADC0809芯片通過(guò)Intel8255A與PC總線連接的方法如圖7-7所示。圖7-7ADC0809通過(guò)8255A與系統(tǒng)的連接Intel8255A的端口A作為8位數(shù)據(jù)的輸入口,8255A的D7~D0連接系統(tǒng)的數(shù)據(jù)總線,ADC0809轉(zhuǎn)換后生成的數(shù)字量經(jīng)D7~D0送往8255的PA7~PA0。待轉(zhuǎn)換的模擬信號(hào)從ADC0809的IN7~I(xiàn)N0輸入。8255A的端口地址374H~377H由地址總線譯碼后產(chǎn)生。8255A的PC4~PC6輸出,與ADDA、ADDB和ADDC相連,用來(lái)選擇ADC0809模擬輸入通路。
例7.4
如圖7-7所示的電路構(gòu)成8路模擬量輸入采集系統(tǒng),設(shè)有8路模擬量輸入信號(hào),信號(hào)電壓規(guī)定在0~5V的范圍內(nèi),分別從IN0~I(xiàn)N7輸入。要求從0通路開(kāi)始,順序把8個(gè)通路輸入的模擬量轉(zhuǎn)換成數(shù)字量,存入BUF開(kāi)始的存儲(chǔ)單元中。要求以查詢傳送方式工作。解程序如下:;8255A工作于方式0,端口A和端口C的低4位輸入,端口C的高4位輸出
DATASEGMENTBUFDB8DUP(0)DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOV AX, DATA MOV DS, AXMOVAL, 10010001B
;8255A的端口A輸入,PC7~PC4輸出,;PC3~PC0輸入
MOV DX, 377H ;8255A控制字寄存器地址
OUT DX, AL MOV DI, OFFSETBUF
;設(shè)置存儲(chǔ)單元首地址MOV CX, 8 ;模擬通路個(gè)數(shù)
MOV AL, 0H
;設(shè)定開(kāi)始轉(zhuǎn)換的模擬通路IN0的地址
LP0:PUSHAL ;保護(hù)轉(zhuǎn)換的模擬通路地址ORAL, 80H ;選擇模擬通道,且發(fā)出啟動(dòng)轉(zhuǎn)換信號(hào);(PC7=1) MOV DX,376H ;端口C地址
OUT DX, AL AND AL, 7FH OUT DX, AL ;啟動(dòng)脈沖的下降沿(PC7=0)LP1:INAL,DX ;從端口C讀取數(shù)據(jù)
ANDAL, 00000l00B
;檢查PC2,確定EOC電平是否變低
JZLP1 ;EOC未變低,循環(huán)等待
LP2:IN AL, DX ;變低,再讀端口C AND AL, 00000100B
;根據(jù)PC2檢查EOC電平是否變高
JNZ LP2 ;EOC未變高,循環(huán)等待
MOV DX, 374H ;端口A地址
INAL, DX ;EOC變高,轉(zhuǎn)換結(jié)束,讀入數(shù)據(jù)MOV[DI], AL ;存入BUF存儲(chǔ)單元POPAL ;恢復(fù)當(dāng)前轉(zhuǎn)換的模擬通路地址ADDAL, 00010000B ;下一個(gè)模擬通路地址INCDI ;修改存儲(chǔ)單元地址指針LOOPLP0 ;CX-1≠0,則轉(zhuǎn)換下一個(gè)模擬通路MOVAH, 4CHINT21HCODEENDS END START
程序中通過(guò)使PC7先后為1和0產(chǎn)生START啟動(dòng)信號(hào)所需的正脈沖,正脈沖的寬度可參考時(shí)序圖要求予以考慮。EOC是A/D轉(zhuǎn)換結(jié)束信號(hào),是一個(gè)負(fù)的方波,由高電平變?yōu)榈碗娖奖硎続/D轉(zhuǎn)換開(kāi)始,整個(gè)轉(zhuǎn)換過(guò)程中保持低電平,所以第一次根據(jù)EOC判斷A/D轉(zhuǎn)換是否開(kāi)始;EOC由低電平再變到高電平,表示A/D轉(zhuǎn)換結(jié)束,所以第二次再根據(jù)EOC判斷A/D轉(zhuǎn)換是否結(jié)束。先后要進(jìn)行兩次判斷,同時(shí)還要考慮電路中EOC與PC2之間連有非門對(duì)電平的影響。7.1.416位模/數(shù)轉(zhuǎn)換芯片ADC1143簡(jiǎn)介
1.?ADC1143功能結(jié)構(gòu)模/數(shù)(A/D)轉(zhuǎn)換芯片有8位、10位、12位、16位等,一般來(lái)說(shuō),位數(shù)越多,精度越高。ADC1143是32腳DIP封裝的逐次逼近式16位高精度A/D轉(zhuǎn)換器,其內(nèi)部結(jié)構(gòu)如圖7-8所示。圖7-8ADC1143內(nèi)部結(jié)構(gòu)ADC1143的各引腳功能簡(jiǎn)述如下。Vx1、Vx2、Vx3:都是模擬電壓輸入端,但模擬電壓輸入范圍隨不同的連接而不同。Va+、Va-:分別為正負(fù)模擬電壓輸入端。Vd:數(shù)字電路電壓輸入端。D15~D0:16位并行數(shù)字量輸出端。:二進(jìn)制補(bǔ)碼輸出端,內(nèi)部有數(shù)據(jù)鎖存功能,但不是三態(tài)輸出。SO:串行輸出端,每位寬度為一個(gè)時(shí)鐘周期。RO:+10V基準(zhǔn)電壓輸出端。
RI:基準(zhǔn)電壓輸入端,如果使用片內(nèi)基準(zhǔn)電壓源,則可用一個(gè)100Ω的精密電位器把RI和RO相連,以便于增益校準(zhǔn)。
OS:偏移校正輸入端,用于0輸出校正。
TR:?jiǎn)?dòng)A/D轉(zhuǎn)換信號(hào)輸入端,啟動(dòng)脈沖寬度應(yīng)不小于1μs。ST:A/D轉(zhuǎn)換狀態(tài)輸出端,可用于判斷轉(zhuǎn)換是否結(jié)束,中斷方式中可作為中斷請(qǐng)求信號(hào)。
CO:內(nèi)部時(shí)鐘輸出引線。
AG:模擬地。
DG:數(shù)字地。2.?ADC1143在計(jì)算機(jī)系統(tǒng)中的應(yīng)用圖7-9是ADCl143在計(jì)算機(jī)系統(tǒng)中的使用方法。該電路中使用8255A作為ADC1143與CPU之間的接口。圖7-9ADCl143與CPU的連接
由于ADC1143是單路A/D轉(zhuǎn)換器,因此處理多路模擬信號(hào)輸入時(shí)需要使用外接模擬多路轉(zhuǎn)換開(kāi)關(guān),圖中使用了集成電路芯片MC14051。MC14051是CMOS8通道模擬多路轉(zhuǎn)換器。圖中使用了高速采樣保持放大器AD346。采樣保持器的作用是對(duì)輸入的模擬信號(hào)進(jìn)行保持,輔助A/D轉(zhuǎn)換器工作,以減小誤差。
ADC1143的輸出具有數(shù)據(jù)鎖存功能,但是沒(méi)有三態(tài)控制功能,所以要使用兩片三態(tài)緩沖器74LS244。7.2數(shù)/模(D/A)轉(zhuǎn)換7.2.1數(shù)/模轉(zhuǎn)換的工作原理數(shù)字量是由數(shù)字代碼按位組合起來(lái)表示的,每一個(gè)數(shù)位都有其不同的權(quán)值。把數(shù)字量轉(zhuǎn)換成模擬量的基本思想是:先把每一位數(shù)字代碼根據(jù)其權(quán)值轉(zhuǎn)換成相應(yīng)的模擬分量,然后將各模擬分量相加,得到的總和就是與數(shù)字量對(duì)應(yīng)的模擬量。例如:
1011B=1×23+0×22+1×21+1×20=11
這就是D/A轉(zhuǎn)換的基本思想(式中二進(jìn)制數(shù)各位的權(quán)值分別為23、22、21、20)。
D/A轉(zhuǎn)換器主要由邏輯電路、電子開(kāi)關(guān)、產(chǎn)生權(quán)電流或權(quán)電壓的電阻網(wǎng)絡(luò)、基準(zhǔn)電壓以及電壓或電流放大器等部分組成,如圖7-10所示。圖7-10D/A轉(zhuǎn)換器的基本組成D/A轉(zhuǎn)換器具體實(shí)現(xiàn)轉(zhuǎn)換的部分主要包括:電子開(kāi)關(guān)、電阻網(wǎng)絡(luò)和基準(zhǔn)電壓三部分。根據(jù)電阻網(wǎng)絡(luò)的不同,D/A轉(zhuǎn)換器可分為權(quán)電阻解碼D/A,R-2R電阻解碼網(wǎng)絡(luò)D/A等。其中,R-2R電阻解碼網(wǎng)絡(luò)D/A轉(zhuǎn)換器是一種被廣泛使用的D/A轉(zhuǎn)換器,這種D/A轉(zhuǎn)換器反映了一般D/A轉(zhuǎn)換器的基本工作原理。圖7-11R-2R電阻解碼網(wǎng)絡(luò)D/A轉(zhuǎn)換原理
以4位R-2R電阻解碼網(wǎng)絡(luò)D/A轉(zhuǎn)換為例,其基本原理如圖7-11所示。圖7-11中4位二進(jìn)制數(shù)D3、D2、D1、D0,每一位二進(jìn)制數(shù)對(duì)應(yīng)一位電子開(kāi)關(guān),當(dāng)該位二進(jìn)制數(shù)為“1”時(shí),與該位對(duì)應(yīng)的電子開(kāi)關(guān)經(jīng)電阻連接到參考電壓VREF端;當(dāng)該位二進(jìn)制數(shù)為“0”時(shí),電子開(kāi)關(guān)接地。為簡(jiǎn)便起見(jiàn),假設(shè)VREF=16V,根據(jù)電路原理分析可知:當(dāng)D3=1,D2=D1=D0=0時(shí),Vout=VREF/2=8V;當(dāng)D3=0,D2=2,D1=D0=0時(shí),Vout=VREF/4=4V;當(dāng)D3=D2=0,D1=1,D0=0時(shí),Vout=VREF/8=2V;當(dāng)D3=D2=D1=0,D0=1時(shí),Vout=VREF/16=1V。根據(jù)線性網(wǎng)絡(luò)的疊加原理,該R-2R網(wǎng)絡(luò)的輸出電壓為:
經(jīng)分析可知:當(dāng)D3=D2=D1=D0=1時(shí),可得到最高的輸出電壓15V;當(dāng)D3=D2=D1=D0=0時(shí),可得到最低的輸出電壓0V。對(duì)于n位的D/A轉(zhuǎn)換器,有一個(gè)n位的電子開(kāi)關(guān),D/A轉(zhuǎn)換器的輸出電壓滿足下式:7.2.2數(shù)/模轉(zhuǎn)換器的主要技術(shù)指標(biāo)數(shù)/模(D/A)轉(zhuǎn)換器的主要技術(shù)指標(biāo)反映了D/A轉(zhuǎn)換器的性能,主要包括以下四種。
1.分辨率分辨率是指D/A轉(zhuǎn)換器可輸出的模擬量的最小變化量,也就是最小輸出電壓(輸入的數(shù)字量只有D0=1)與最大輸出電壓(輸入的數(shù)字量所有位都等于1)之比。8位D/A的分辨率為=(用百分?jǐn)?shù)表示約為0.392%)
設(shè)D/A滿量程輸出電壓為5V。8位D/A所能分辨的最小電壓為
5×0.392%=19.6mV2.轉(zhuǎn)換精度轉(zhuǎn)換精度是指模擬輸出信號(hào)的實(shí)際值與理論計(jì)算值的偏差,通常用百分?jǐn)?shù)來(lái)表示。它反映了D/A轉(zhuǎn)換器把數(shù)字量轉(zhuǎn)換為模擬量的準(zhǔn)確程度。
3.建立時(shí)間建立時(shí)間是指從輸入待轉(zhuǎn)換的數(shù)字量開(kāi)始,到輸出的模擬信號(hào)幅度穩(wěn)定在額定值上下1/2LSB時(shí)所需的時(shí)間。4.輸出電平范圍輸出電平范圍是指當(dāng)D/A轉(zhuǎn)換器可輸出的最低電壓與可輸出的最高電壓的電壓差值。常用的D/A轉(zhuǎn)換器的輸出范圍是0~+5V,0~+10V,-2.5~+2.5V,-5~+5V,-10~+10V等。7.2.3數(shù)/模接口芯片DAC0832
數(shù)/模接口芯片種類很多,有通用型、高速型、高精度型等,轉(zhuǎn)換位數(shù)有8位、12位、16位等,輸出模擬信號(hào)有電流輸出型和電壓輸出型,在應(yīng)用中可根據(jù)實(shí)際需要進(jìn)行選擇。DAC0832是采用CMOS工藝制造的8位電流輸出型D/A轉(zhuǎn)換器,分辨率為8位,建立時(shí)間為1μs,功耗為20mW,數(shù)字輸入電平為TTL電平。1.?DAC0832的結(jié)構(gòu)
DAC0832的結(jié)構(gòu)如圖7-12所示。它由一個(gè)8位的輸入寄存器、一個(gè)8位的DAC寄存器和一個(gè)8位D/A轉(zhuǎn)換器以及控制電路組成。D/A轉(zhuǎn)換器中使用的是R-2R電阻網(wǎng)絡(luò)。DAC0832中的輸入寄存器和DAC寄存器可以分別控制,從而可以根據(jù)需要接成兩級(jí)輸入鎖存的雙緩沖方式,一級(jí)輸入鎖存的單緩沖方式,或接成完全直通的無(wú)緩沖方式。圖7-12DAC0832內(nèi)部結(jié)構(gòu)2.?DAC0832的引腳功能
DAC0832是有20個(gè)引腳的雙列直插式芯片,其引腳排列如圖7-13所示。20個(gè)引腳中包括與CPU系統(tǒng)連接的信號(hào)線,與外設(shè)連接的信號(hào)線以及其它引線。圖7-13DAC0832的引腳1)與CPU系統(tǒng)相連的信號(hào)線D7~D0:8位數(shù)據(jù)輸入線,用于數(shù)字量輸入。ILE:輸入鎖存允許信號(hào),高電平有效。:片選信號(hào),低電平有效,與ILE結(jié)合決定是否有效。:寫命令l,當(dāng)為低電平,且ILE和有效時(shí),把輸入數(shù)據(jù)鎖存入輸入寄存器;、ILE和三個(gè)控制信號(hào)構(gòu)成第一級(jí)輸入鎖存命令。
:寫命令2,低電平有效,該信號(hào)與配合,當(dāng)也有效時(shí),可使輸入寄存器中的數(shù)據(jù)傳送到DAC寄存器中。:傳送控制信號(hào),低電平有效,與配合,構(gòu)成第二級(jí)寄存器(DAC寄存器)的輸入鎖存命令。2)與外設(shè)相連的信號(hào)線
IOUT1:DAC電流輸出1,它是輸入數(shù)字量中邏輯電平為“1”的所有位輸出電流的總和。當(dāng)所有位邏輯電平全為“1”時(shí),IOUT1為最大值;當(dāng)所有位邏輯電平全為“0”時(shí),IOUT1為“0”。
IOUT2:DAC電流輸出2,它是輸入數(shù)字量中邏輯電平為“0”的所有位輸出電流的總和。
RFB:反饋電阻,為外部運(yùn)算放大器提供一個(gè)反饋電壓。RFB也可由外部提供。3)其它引線
VREF:參考電壓輸入端,要求外部提供精密基準(zhǔn)電壓,VREF一般在-10~+10V之間。
VCC:芯片工作電源電壓,一般為+5~+15V。
AGND:模擬地。
DGND:數(shù)字地。模擬地要連接模擬電路的公共地,數(shù)字地要連接數(shù)字電路的公共地,最后把它們匯接為一點(diǎn)接到總電源的地線上。為避免模擬信號(hào)與數(shù)字信號(hào)互相干擾,兩種不同的地線不可交叉混接。7.2.4DAC0832與系統(tǒng)的接口及應(yīng)用
1.?DAC0832與CPU的接口
DAC0832與CPU接口時(shí)要進(jìn)行數(shù)據(jù)總線、地址總線和控制總線的連接。對(duì)于8位數(shù)據(jù)總線的CPU(如Intel8088),DAC0832的數(shù)據(jù)線D7~D0可直接連至CPU的數(shù)據(jù)總線。在圖7-14的電路中,VCC、VREF和ILE都連接到+5V電源,從而使參考電壓VREF為+5V,使ILE保持有效的高電平。圖7-14DAC0832與CPU的連接
例7.5
利用圖7-14所示的DAC電路產(chǎn)生10個(gè)對(duì)稱方波,波形可通過(guò)示波器查看。假設(shè)使有效的譯碼地址為2A0H。解程序如下:
MOV CX, 10 ;循環(huán)次數(shù)
MOV DX, 2A0H ;使有效的地址LOP:MOVAL, 0;產(chǎn)生0電平的數(shù)字量
OUT DX, AL ;讓DAC進(jìn)行D/A轉(zhuǎn)換
CALL DELAY ;延時(shí)子程序
MOV AL, 0FFH ;產(chǎn)生高電平的數(shù)字量
OUT DX, AL ;讓DAC進(jìn)行D/A轉(zhuǎn)換
CALL DELAY ;延時(shí)子程序
LOOP LOP ;循環(huán)
MOV AL, 0 ;產(chǎn)生0電平的數(shù)字量
OUT DX, AL ;讓DAC進(jìn)行D/A轉(zhuǎn)換,恢復(fù)0電平2.?DAC0832經(jīng)8255A與CPU的接口經(jīng)8255A與CPU連接時(shí),DAC0832將不直接與CPU的數(shù)據(jù)總線、地址總線和控制總線進(jìn)行連接。數(shù)據(jù)總線、地址總線和控制總線應(yīng)完成的功能將由8255A來(lái)實(shí)現(xiàn)。DAC0832經(jīng)8255A與CPU的連接見(jiàn)圖7-15。圖7-15DAC0832經(jīng)8255A與CPU的連接
例7.6
如圖7-15所示電路,設(shè)8255A的端口地址為218H~21BH。利用該電路可以使D/A轉(zhuǎn)換器產(chǎn)生多種波形,可以通過(guò)示波器來(lái)查看。請(qǐng)根據(jù)該電路編寫一個(gè)產(chǎn)生鋸齒波的程序。
解產(chǎn)生鋸齒波的方法是把從0開(kāi)始逐漸遞增的數(shù)據(jù)送到D/A轉(zhuǎn)換器,逐個(gè)轉(zhuǎn)換,直到數(shù)據(jù)增至0FFH。數(shù)據(jù)再?gòu)?開(kāi)始,重復(fù)上述過(guò)程,就可得到周期性的鋸齒波電壓。用這個(gè)方法得到的鋸齒波,從0到最大值,中間要分為256個(gè)小臺(tái)階,但從宏觀上看,就是一個(gè)線性增長(zhǎng)的電壓波形。當(dāng)數(shù)據(jù)為0時(shí),D/A轉(zhuǎn)換電路輸出最低電壓;當(dāng)數(shù)據(jù)為0FFH時(shí),D/A轉(zhuǎn)換電路輸出最高電壓。實(shí)現(xiàn)鋸齒波的程序如下:
;8255A初始化
MOV DX,21BH
;8255A的控制字寄存器的端口地址
MOV AL,80H
;8255A的方式字,端口A方式0,輸出,端口B
;方式0,輸出
OUT DX,AL
;端口B發(fā)控制信號(hào),設(shè)置DAC0832工作于完全直通的無(wú)緩沖方式
MOV DX,219H ;8255A的端口B地址MOVAL,00010000B
;置DAC0832為直通工作方式
OUT DX,AL
;實(shí)現(xiàn)鋸齒波的循環(huán)
MOV DX,218H ;8255A的端口A地址
MOV AL,0H ;輸出數(shù)據(jù)從0開(kāi)始LOP:OUTDX,AL ;由DAC轉(zhuǎn)換成模擬電壓
CALL DELAY ;延時(shí)子程序
INC AL
;輸出數(shù)據(jù)加1,可使模擬電壓上升
JMP LOP
;AL將從0H~0FFH,0H~0FFH,…,循環(huán)變化
該程序?qū)崿F(xiàn)的波形如圖7-16所示。程序中控制延時(shí)子程序的延時(shí)時(shí)間,可以改變上升電壓曲線的斜率。無(wú)論要產(chǎn)生什么波形都要通過(guò)改變輸入的數(shù)字量的值以及延時(shí)時(shí)間來(lái)實(shí)現(xiàn)。圖7-16生成的鋸齒波波形
例7.7
如圖7-15所示電路,仍設(shè)8255A的端口地址為218H~21BH。設(shè)提供給DAC0832的基準(zhǔn)電壓為5V。要求產(chǎn)生最小值為1V,最大值為2.5V的鋸齒波波形,請(qǐng)編寫程序。
解如例7.6所示,當(dāng)數(shù)據(jù)為0時(shí),D/A轉(zhuǎn)換電路輸出最低電壓;當(dāng)數(shù)據(jù)為0FFH時(shí),D/A轉(zhuǎn)換電路輸出最高電壓。數(shù)據(jù)從0到最大值,中間要分為256個(gè)小臺(tái)階?;鶞?zhǔn)電壓為5V,要生成的輸出波形電壓在1~2.5V之間,因此實(shí)際選用的數(shù)據(jù)值n可用下式計(jì)算:n=×256因此對(duì)于1V電壓,有n=×256=51對(duì)于2.5V電壓,有:n=×256=128編寫程序如下:
MOVDX, 21BH
;8255A的控制字寄存器的端口地址
MOVAL,80H
;8255A的方式字,端口A方式0,輸出,端口B
;方式0,輸出
OUTDX, AL
;端口B發(fā)控制信號(hào),設(shè)置DAC0832工作于完全直通的無(wú)緩沖方式MOV DX, 219H ;8255A的端口B地址
MOV AL, 00010000B
;置DAC0832為直通工作方式
OUT DX, AL
;實(shí)現(xiàn)鋸齒波的循環(huán)
MOV DX, 218H
;8255A的端口A地址LOP:MOVAL, 51
;輸出數(shù)據(jù)從51開(kāi)始LOP1:OUTDX, AL ;由DAC轉(zhuǎn)換成模擬電壓
CALL DELAY ;延時(shí)子程序
INC AL ;輸出數(shù)據(jù)加1,可使模擬電壓上升
CMP AL, 129 ;是否超過(guò)128 JGE LOPJMP LOP1 ;AL將在51~128之間循環(huán)變化7.3實(shí)
驗(yàn)7.3.1
模/數(shù)轉(zhuǎn)換器實(shí)驗(yàn)本章實(shí)驗(yàn)的詳細(xì)實(shí)驗(yàn)環(huán)境請(qǐng)參閱附錄A。
1.實(shí)驗(yàn)?zāi)康牧私饽?數(shù)轉(zhuǎn)換的基本原理,掌握ADC0809的使用方法。
2.實(shí)驗(yàn)內(nèi)容
(1)實(shí)驗(yàn)電路原理圖如圖7-17所示。通過(guò)實(shí)驗(yàn)臺(tái)左下角電位器RW1輸出0~+5V直流電壓送入ADC0809通道0(IN0),利用DEBUG的輸出命令啟動(dòng)A/D轉(zhuǎn)換器,用輸入命令讀取轉(zhuǎn)換結(jié)果,驗(yàn)證輸入電壓與轉(zhuǎn)換后數(shù)字的關(guān)系。
圖7-17ADC0809模/數(shù)轉(zhuǎn)換電路啟動(dòng)IN0開(kāi)始轉(zhuǎn)換: MOVDX,0298HOUT?DX,AL
讀取轉(zhuǎn)換結(jié)果:IN?AL,DX(2)編程采集IN0輸入的電壓,在屏幕上顯示出轉(zhuǎn)換后的數(shù)據(jù)(用十六進(jìn)制數(shù))。
(3)編程實(shí)現(xiàn)低頻交流信號(hào)波形顯示,將JP3的1、2短接,使IN2處于雙極性工作方式,并給IN1輸入一個(gè)低頻交流信號(hào)。(幅度為±5V),編程采集這個(gè)信號(hào)數(shù)據(jù)并在屏幕上顯示波形。3.編程提示
(1)ADC0809的
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030年中國(guó)船舶租賃市場(chǎng)運(yùn)行現(xiàn)狀及發(fā)展趨勢(shì)預(yù)測(cè)報(bào)告
- 2025-2030年中國(guó)膨化食品市場(chǎng)運(yùn)營(yíng)狀況與發(fā)展策略分析報(bào)告
- 2025-2030年中國(guó)紙漿產(chǎn)業(yè)運(yùn)行狀況與前景趨勢(shì)分析報(bào)告
- 2025-2030年中國(guó)糧食烘干機(jī)械行業(yè)運(yùn)行現(xiàn)狀及發(fā)展前景預(yù)測(cè)報(bào)告
- 2025-2030年中國(guó)石灰氮行業(yè)運(yùn)行態(tài)勢(shì)及發(fā)展?jié)摿Ψ治鰣?bào)告
- 湖北汽車工業(yè)學(xué)院《信息論與信息編碼》2023-2024學(xué)年第二學(xué)期期末試卷
- 2025安徽省建筑安全員B證考試題庫(kù)及答案
- 浙江電力職業(yè)技術(shù)學(xué)院《中醫(yī)飲食保健學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 淮北師范大學(xué)《醫(yī)學(xué)細(xì)胞遺傳學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 做賬實(shí)操-保險(xiǎn)公司的賬務(wù)處理分錄
- 2024年工業(yè)廢水處理工(技師)技能鑒定理論考試題庫(kù)-上(單選題)
- 醫(yī)院CT機(jī)房裝飾改造工程施工組織設(shè)計(jì)
- 基坑監(jiān)測(cè)總結(jié)報(bào)告
- 2024年華師大版九年級(jí)數(shù)學(xué)下冊(cè)全冊(cè)教案
- 合肥市廬陽(yáng)區(qū)雙崗街道社區(qū)工作者招聘考試試題及答案2024
- JBT 106-2024 閥門的標(biāo)志和涂裝(正式版)
- 煤礦技術(shù)員必須會(huì)的知識(shí)
- (高清版)JTGT 3650-01-2022 公路橋梁施工監(jiān)控技術(shù)規(guī)程
- 2024年黑龍江建筑職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫(kù)全面
- 北京市2024小升初數(shù)學(xué)模擬試卷一
- 一年級(jí)口算題100以內(nèi)比大小
評(píng)論
0/150
提交評(píng)論