接口-第9章 AD與DA轉(zhuǎn)換器接口_第1頁
接口-第9章 AD與DA轉(zhuǎn)換器接口_第2頁
接口-第9章 AD與DA轉(zhuǎn)換器接口_第3頁
接口-第9章 AD與DA轉(zhuǎn)換器接口_第4頁
接口-第9章 AD與DA轉(zhuǎn)換器接口_第5頁
已閱讀5頁,還剩51頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第9章A/D與D/A轉(zhuǎn)換器接口9.1模擬量接口

在計算機應(yīng)用系統(tǒng)中,采集對象往往是連續(xù)變化的物理量,因此需要對連接變化的物理量進行采樣、保持,再把模擬量轉(zhuǎn)換為數(shù)字量交給計算機處理。計算機輸出的數(shù)字量有時需要轉(zhuǎn)換為模擬量去控制某些執(zhí)行元件。

A/D轉(zhuǎn)換器完成模擬量→數(shù)字量的轉(zhuǎn)換

D/A轉(zhuǎn)換器完成數(shù)字量→模擬量的轉(zhuǎn)換下圖是一個實時控制系統(tǒng):控制對象微機系統(tǒng)傳感器執(zhí)行部件ADCDAC功放運放模擬量模擬量數(shù)字量數(shù)字量下圖是一個分時數(shù)據(jù)傳輸系統(tǒng):模擬輸入模擬輸出ADCDAC驅(qū)動器接收器多路掃描器多路掃描器傳輸線9.1A/D轉(zhuǎn)換器

A/D轉(zhuǎn)換器就是把模擬量轉(zhuǎn)換成數(shù)字量的過程。數(shù)字量便于計算機的處理,是自動控制過程的重要步驟。

A/D轉(zhuǎn)換的原理很多,常見的有雙積分式、逐次逼近式、計數(shù)式等。輸出碼制有二進制、BCD碼等;輸出數(shù)據(jù)寬度(二進制)有8位、12位、16位、20位等。1、A/D轉(zhuǎn)換器的主要技術(shù)指標分辨率

指A/D轉(zhuǎn)換器能夠把模擬量轉(zhuǎn)換成二進制的位數(shù)。例:用1個10位ADC轉(zhuǎn)換一個滿量程為5V的電壓,則可能分辨的最小電壓率為5000mV/1024=5mV。若模擬輸入值小于5mV,則ADC無反映,輸出保持不變??梢姡珹DC的數(shù)字量輸出位數(shù)越多,其分辨率就越高。當(dāng)分辯率大于微機系統(tǒng)數(shù)據(jù)總線寬度時,每次轉(zhuǎn)換都需要兩次數(shù)據(jù)的傳輸。

轉(zhuǎn)換時間

從轉(zhuǎn)換啟動開始到轉(zhuǎn)換結(jié)束,得到穩(wěn)定的數(shù)字量輸出所需要的時間。轉(zhuǎn)換時間的快慢將會影響ADC接口與CPU交換數(shù)據(jù)的方式。對于低中速的ADC一般采用查詢或中斷方式,對于高速的ADC應(yīng)采用DMA方式。2、A/D轉(zhuǎn)換器的外部特性任何一種A/D轉(zhuǎn)換器一般具有以下信號線:模擬信號輸入線,有單通道與多通道之分。數(shù)字量輸出線,線的數(shù)目決定了分辨率。

轉(zhuǎn)換啟動線(輸入),每次啟動只能轉(zhuǎn)換一次數(shù)據(jù)。轉(zhuǎn)換結(jié)束線(輸出),表示ADC作一次轉(zhuǎn)換結(jié)束的狀態(tài)。9.3A/D轉(zhuǎn)換器與CPU接口的原理和方法1、A/D轉(zhuǎn)換器與CPU的連接

ADC的啟動信號有脈沖啟動和電平啟動兩種。

ADC的輸入信號

有單通道和多通道之分。

ADC的輸出信號

ADC輸出是否有鎖存;

ADC的分辨率是否與系統(tǒng)數(shù)據(jù)總線一致。

ADC的轉(zhuǎn)換結(jié)束信號

作為查詢和中斷的依據(jù)。2、A/D轉(zhuǎn)換器數(shù)據(jù)傳輸數(shù)據(jù)的傳送可采用查詢、中斷和DMA方式。不同的方式的電路組成和編程方法不同。A/D采集的速度取決于:A/D轉(zhuǎn)換器的轉(zhuǎn)換時間T;將數(shù)據(jù)存入內(nèi)存所需要的數(shù)據(jù)傳輸時間。

則采集數(shù)據(jù)的頻率上限為:

f0=1/(T+)上述幾種方法采集數(shù)據(jù)的速度是:查詢中斷DMA方式高低9.4A/D轉(zhuǎn)換器接口設(shè)計1、A/D轉(zhuǎn)換器接口設(shè)計方案的分析

①ADC的模擬量輸入是否是多通道?②ADC分辨率是否大于系統(tǒng)數(shù)據(jù)總線的寬度?③ADC內(nèi)部是否有三態(tài)輸出鎖存?④ADC的啟動是電平啟動還是脈沖啟動?⑤ADC轉(zhuǎn)換的數(shù)據(jù)采用哪種傳輸方式?⑥ADC轉(zhuǎn)換的數(shù)據(jù)要進行怎么樣的處理?⑦ADC接口采用什么元器件組成?2、A/D轉(zhuǎn)換器的接口設(shè)計例9.1查詢方式的ADC接口電路設(shè)計要求利用ADC0804采集100個數(shù)據(jù),采集的數(shù)據(jù)以查詢方式傳輸?shù)絻?nèi)存BUFR區(qū)。接口電路采用普通IC芯片組成。分析

ADC0804是單個模擬量輸入;

ADC0804的分辨率為8位,并具有三態(tài)輸出鎖存器;

ADC0804的啟動方式為脈沖啟動;數(shù)據(jù)傳輸方式為查詢方式。

硬件電路:

軟件流程圖:程序如下:DATASEGMENT START_PEQU310H ;轉(zhuǎn)換啟動端口

STATE_PEQU311H ;狀態(tài)端口

DATA_PEQU310H ;數(shù)據(jù)端口

BUFRDB100(0)DATAENDSCODESEGMENT ASSUMECS:CODE,DS:DATABEGIN:MOVAX,DATA MOVDS,AX MOVSI,OFFSETBUFR ;緩沖區(qū)指針

MOVCX,100 ;采樣次數(shù)START:MOVDX,START_P ;啟動轉(zhuǎn)換

MOVAL,00H ;(可以是其它值)

OUTDX,AL ;使CS和WR同時有效

WAIT1:MOVDX,STATE_P ;查轉(zhuǎn)換結(jié)束

INAL,DX ANDAL,80H ;查D7=0(INTR=0?)

JNZWAIT1 ;未結(jié)束,等待

MOVDX,DATA_P ;已結(jié)束,讀數(shù)據(jù)

INAL,DX MOV[SI],AL ;數(shù)據(jù)傳輸?shù)紹UFR區(qū)

INCSI ;緩沖區(qū)地址加1 DECCX ;采樣次數(shù)減1 JNZSTART ;未完,繼續(xù)啟動

MOVAX,4C00H ;已完,退出

INT21HCODEENDSENDBEGIN例9.2中斷方式的ADC接口設(shè)計要求采用ADC0809,從通道7采集100個數(shù)據(jù),采集的數(shù)據(jù)以中斷方式傳輸?shù)絻?nèi)存緩沖區(qū),并將轉(zhuǎn)換結(jié)束信號EOC連到IRQ4上,請求中斷。分析要實現(xiàn)上述設(shè)計要求,至少有3個方面的問題需要考慮:被控對象ADC0809的特性;接口電路結(jié)構(gòu)形式;中斷處理。①ADC0809外部特性ADC0809內(nèi)部邏輯原理圖CLOCK

START通道選擇開關(guān)通道地址鎖存和譯碼定時和控制逐次逼近寄存器輸出三態(tài)鎖存器開關(guān)樹組比較器IN0IN1

IN7ADDAADDBADDCALEVR(+)VR(-)D0D1D7EOCOE

模擬輸入

數(shù)字輸出A/D

轉(zhuǎn)換結(jié)束

啟動轉(zhuǎn)換

輸出允許

通道選擇地址

通道地址鎖存ADC0809的時序圖②接口電路結(jié)構(gòu)形式采用可編程接口芯片82C55A③

中斷處理本例題是利用微機系統(tǒng)的中斷資源,故不需做中斷系統(tǒng)的硬件連接和82C59A的初始化。只需做兩件事:中斷向量的修改(IRQ4);

開放IRQ4的中斷和CPU中斷。

硬件設(shè)計。本接口電路應(yīng)能提供如下信號:ADC0809模擬量通道號選擇信號啟動信號讀數(shù)據(jù)允許信號

EOC的中斷請求:直接連到系統(tǒng)總線的IRQ4上。82C55A的4個端口地址是:300H(A口)、301H(B口)、302H(C口)、

303H(命令口)。

由82C55A接口芯片實現(xiàn)中斷方式的ADC接口電路原理

軟件設(shè)計通道7的數(shù)據(jù)采集相關(guān)程序段:

MOV DX,303H ;82C55初始化,A口輸出(為鎖地址)

MOV AL,80H OUT DX,AL MOV AL,0EH ;置PC7=0,使START和ALE無效

OUT DX,AL MOV AL,0CH ;置PC6=0,使OE無效

OUT DX,AL

MOV DX,300H ;鎖通道地址

MOV AL,07H OUT DX,AL MOV AX,350CH

;獲取IRQ4的中斷向量并保存

INT 21H MOV OLD_OFF,BX MOV BX,ES MOV OLD_SEG,BX CLI MOV AX,250CH

;置新中斷向量

MOV DX,SEGA_D MOV DS,DX MOV DX,OFFSETA_D INT 21H

MOV AX,DATA ;恢復(fù)數(shù)據(jù)段

MOV DS,AX STI IN AL,21H ;開放IRQ4 AND AL,0EFH OUT 21H,AL MOV CX,100 ;設(shè)置采集字節(jié)數(shù)

MOV SI,OFFSETBUFF ;設(shè)置內(nèi)存指針

MOV DX,303H ;82C55初始化,A口輸入

MOV AL,90H OUT DX,ALBEGIN:

MOV DX,303H ;啟動轉(zhuǎn)換

MOV AL,0FH ;產(chǎn)生ALE鎖存信號

OUT DX,AL

NOP NOP MOV AL,0EH ;產(chǎn)生START啟動脈沖信號

OUT DX,AL STI ;開中斷

HLT ;等待中斷

DEC CX ;采樣次數(shù)減1 JNZ BEGIN ;沒完,繼續(xù) CLI ;已完,關(guān)中斷

MOV AX,250CH

;恢復(fù)IRQ4的原中斷向量

MOV DX,OLD_SEG MOV DS,DX MOV DX,OLD_OFF INT 21H MOV AX,DATA ;恢復(fù)數(shù)據(jù)段

MOV DS,AX STI

IN AL,21H OR AL,10H ;屏蔽IRQ4 OUT 21H,AL MOV AX,4C00H ;返回DOS INT 21HA_D PROC FAR ;中斷服務(wù)程序

PUSH AX ;保護現(xiàn)場

PUSH DX CLI ;關(guān)中斷

MOV DX,303H ;打開三態(tài)鎖存器

MOV AL,0DH OUT DX,AL ;置PC6=1高

MOV DX,300H IN AL,DX ;從PA口讀數(shù)據(jù)

MOV [SI],AL ;存取數(shù)據(jù)

INC SI ;內(nèi)存地址指針加1 MOV DX,303H

;關(guān)閉三態(tài)鎖存器

MOV AL,0CH

OUT DX,AL

;置PC6=0低

MOV AL,20H ;發(fā)中斷結(jié)束命令

OUT 20H,AL POP DX ;恢復(fù)現(xiàn)場

POP AX STI ;開中斷

IRET ;中斷返回

A_D ENDP例9.4DMA方式的ADC接口電路設(shè)計電路初始化編程根據(jù)題意只涉及以下幾個寄存器的操作:①選定傳送通道及工作方式(工作方式寄存器)。②設(shè)置DMA屏蔽字(屏蔽寄存器),端口=0BH。③設(shè)定傳輸?shù)目傋止?jié)數(shù)(字節(jié)數(shù)寄存器),端口

=03H(通道1)④設(shè)定傳送的存儲器地址(地址寄存器),端口

=02H(通道1)⑤寫清除先/后觸發(fā)器,端口=0CH。返回程序清單:

CLI ;關(guān)中斷

MOVAL,04H ;命令字,禁止82C37A工作

OUT08H,ALMOVAL,01000101B

;工作方式:單一傳輸方式, ;地址加1,非自動預(yù)置, ;DMA寫,通道1OUT0BH,AL ;送入工作方式寄存器

OUT0CH,AL ;清先/后觸發(fā)器(軟命令)MOVAL,03H ;頁面地址(最高4位地址)

OUT83H,AL ;寫入DMA頁面地址寄存器

MOVAL,00H ;基地址低8位

OUT02H,AL ;低8位地址寫入通道1的基與 ;當(dāng)前地址寄存器

MOVAL,04H ;基地址高8位

OUT02H,AL ;高8位地址寫入通道1的基與 ;當(dāng)前地址寄存器MOVAL,0FFH ;字節(jié)數(shù)低8位

OUT03H,AL ;字節(jié)數(shù)低8位寫入通道1的基與 ;當(dāng)前字節(jié)計數(shù)器

MOVAL,0FH ;字節(jié)數(shù)高8位

OUT03H,AL ;字節(jié)數(shù)高8位寫入通道1的基與 ;當(dāng)前字節(jié)計數(shù)器

STI ;CPU開中斷

MOVAL,01H ;清通道1的屏蔽位,允許DREQ1OUT0AH,AL ;開通道1,接收DREQ1的到來9.5D/A轉(zhuǎn)換器1、D/A轉(zhuǎn)換器的主要技術(shù)指標分辨率指DAC能夠把多少位二進制數(shù)轉(zhuǎn)換成模擬量。例:DAC0832能夠把8位二進制數(shù)轉(zhuǎn)換成電流,所以DAC0832的分辨率是8位。轉(zhuǎn)換時間從數(shù)字量輸入到DAC完成轉(zhuǎn)換所需要的時間。2、D/A轉(zhuǎn)換器的外部特性DAC的外部信號線包括:①數(shù)字信號輸入線;②模擬信號輸出線;③CS信號線和WR(或WR1,WR2)信號線(用于形成DAC的啟動轉(zhuǎn)換信號);④數(shù)據(jù)輸入鎖存控制線;⑤模擬量輸出通道地址線。9.6D/A轉(zhuǎn)換器與CPU接口的原理和方法1、D/A轉(zhuǎn)換器與CPU的連接

DAC與CPU的接口包括硬件連接和軟件編程。DAC與CPU之間的數(shù)據(jù)傳輸是無條件傳輸。DAC接口電路的結(jié)構(gòu)形式也有下列幾種:采用中小規(guī)模邏輯芯片;利用可編程并行I/O接口芯片;采用GAL器件。2、D/A轉(zhuǎn)換器接口的主要任務(wù)D/A與A/D有很多不同之處,表現(xiàn)在:DAC一般不需要專門的控制信號去觸發(fā),只要

CPU把數(shù)據(jù)送到它的輸入端,就開始轉(zhuǎn)換。DAC不提供轉(zhuǎn)換結(jié)束狀態(tài)信號。DAC主要解決的是:CPU與DAC之間的數(shù)據(jù)緩沖問題;當(dāng)D/A轉(zhuǎn)換器的分辯率大于數(shù)據(jù)總線的寬度時,CPU必須分兩次傳送和同時選通。3、D/A轉(zhuǎn)換器的設(shè)計方案分析①DAC的模擬量輸出是否是多通道?②DAC的分辨率是否大于系統(tǒng)數(shù)據(jù)總線的寬度?③DAC芯片內(nèi)部是否有三態(tài)輸入鎖存器?④DAC的啟動方式,只有脈沖觸發(fā)一種。DAC不設(shè)專門的轉(zhuǎn)換啟動信號,是利用CS和IOW共同進行假寫操作,來實現(xiàn)脈沖啟動的。

⑤DAC的數(shù)據(jù)傳輸方式,只有無條件傳輸一種。⑥D(zhuǎn)AC接口電路采用什么元器件組成?9.7D/A轉(zhuǎn)換器接口電路設(shè)計例9.5DAC0832接口電路設(shè)計要求通過DAC0832產(chǎn)生鋸齒波和三角波,按任意鍵,停止輸出。分析DAC0832是單通道模擬量輸出,不需通道選擇;DAC0832有兩級緩沖鎖存器,它有3種工作方式:

雙緩沖方式、單緩沖方式和直通方式。8位輸入寄存器8位DAC寄存器8位D/A轉(zhuǎn)換器DI7~DI0ILELE1LE2CSWR1WR2XFERVREFIOUT2IOUT1RFBAGND(模擬地)&&&DGND(數(shù)字地)VCCDAC0832引腳及內(nèi)部結(jié)構(gòu):DAC0832有三種工作方式:(1)雙緩沖方式(LE1和LE2分別控制)(2)單緩沖方式(其中LE1和LE2有一個直通)(3)直通方式(LE1和LE2均為直通)1:輸出隨輸入變化0:鎖存注:在DAC實際連接中,要注意區(qū)分“模擬地”和“數(shù)字地”的連接,為了避免信號串?dāng)_,數(shù)字量部分只能連接到數(shù)字地,而模擬量部分只能連接到模擬地。

硬件設(shè)計硬件設(shè)計的方案很多,本例采用8255做CPU與DAC的接口,并DAC工作在直通方式DAC0832DI0-7ILECSWR1WR2XFER8255APA0-7PB4PB3PB2PB1PB0CPURfbIO1IO2-++至示波器B口輸出做控制信號

軟件設(shè)計以下程序是產(chǎn)生三角波的程序;8255初始化

MOVDX,303H ;8255的命令口

MOVAL,10000000B

;8255的方式字

OUTDX,AL ;指定B口控制DAC的轉(zhuǎn)換

MOVDX,301H ;8255A的B口地址

MOVAL,00010000B ;置DAC0832為直通工作方式

OUTDX,AL

;生成三角波的循環(huán)

MOVDX,300H ;8255A的A口地址

MOVAL,0H ;輸出數(shù)據(jù)從0開始L1:OUTDX,ALINCAL ;輸出數(shù)據(jù)加1JNZL1 ;AL是否加滿?未滿繼續(xù)

MOVAL,0FFH ;已滿,AL置全1L2:OUTDX,ALDECAL ;輸出數(shù)據(jù)減1JNZL2 ;AL是否減到0?不為0繼續(xù)

JMPL1 ;為0,AL加1

0FFHDAC0832雙緩沖方式的典型用法:多目標的同時控制CPUDAC0832DAC0832控制點控制點被控對象DAC0832最適合要求多片DAC同時轉(zhuǎn)換的系統(tǒng),下圖的時序關(guān)系表示,兩個數(shù)據(jù)分別用CS1和CS2鎖存到兩個DAC0832的輸入寄存器中,最后用XFER信號的上升沿將它們同時鎖存到各自的DAC寄存器中。數(shù)據(jù)1數(shù)據(jù)2數(shù)據(jù)1輸入到數(shù)據(jù)2輸入到1#鎖存2#鎖存DAC寄存器鎖存DATABUSCS1CS2WR1WR2XFER用來進行同時多點的控制方法例9.6DAC1210接口電路設(shè)計要求通過ADC1210產(chǎn)生并輸出50個方波分析

ADC1210的分辨率是12位,且內(nèi)部有三態(tài)鎖存,數(shù)據(jù)要分兩次傳送。DAC1210的3個端口的地址分別為:

316H(y0):鎖存高8位數(shù)據(jù)端口;

317H(y1):鎖存低4位數(shù)據(jù)端口;

318H(y2):第2級鎖存端口。8位輸入鎖存器4位輸入鎖存器12位DAC存儲器12位相乘型D/A轉(zhuǎn)換器LELELELSBMSBDI1115DI1016DI917DI818DI719DI620DI54DI45DI36DI27DI18DI09BYTE123/BYTE2CS1WR12XFER21WR22210Vref14Iout213Iout111Rfb24Vcc3AGND24DGNDDAC1210內(nèi)部結(jié)構(gòu)有兩種數(shù)據(jù)對齊格式:

“右對齊”:從低位對齊(先送低,后送高)

“左對齊

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論