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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第9章A/D與D/A轉換器接口9.1模擬量接口

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

A/D轉換器完成模擬量→數字量的轉換

D/A轉換器完成數字量→模擬量的轉換下圖是一個實時控制系統:控制對象微機系統傳感器執行部件ADCDAC功放運放模擬量模擬量數字量數字量下圖是一個分時數據傳輸系統:模擬輸入模擬輸出ADCDAC驅動器接收器多路掃描器多路掃描器傳輸線9.1A/D轉換器

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

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

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

轉換時間

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

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

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

ADC的輸入信號

有單通道和多通道之分。

ADC的輸出信號

ADC輸出是否有鎖存;

ADC的分辨率是否與系統數據總線一致。

ADC的轉換結束信號

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

則采集數據的頻率上限為:

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

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

ADC0804是單個模擬量輸入;

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

ADC0804的啟動方式為脈沖啟動;數據傳輸方式為查詢方式。

硬件電路:

軟件流程圖:程序如下:DATASEGMENT START_PEQU310H ;轉換啟動端口

STATE_PEQU311H ;狀態端口

DATA_PEQU310H ;數據端口

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

MOVCX,100 ;采樣次數START:MOVDX,START_P ;啟動轉換

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

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

WAIT1:MOVDX,STATE_P ;查轉換結束

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

JNZWAIT1 ;未結束,等待

MOVDX,DATA_P ;已結束,讀數據

INAL,DX MOV[SI],AL ;數據傳輸到BUFR區

INCSI ;緩沖區地址加1 DECCX ;采樣次數減1 JNZSTART ;未完,繼續啟動

MOVAX,4C00H ;已完,退出

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

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

IN7ADDAADDBADDCALEVR(+)VR(-)D0D1D7EOCOE

模擬輸入

數字輸出A/D

轉換結束

啟動轉換

輸出允許

通道選擇地址

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

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

開放IRQ4的中斷和CPU中斷。

硬件設計。本接口電路應能提供如下信號:ADC0809模擬量通道號選擇信號啟動信號讀數據允許信號

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

303H(命令口)。

由82C55A接口芯片實現中斷方式的ADC接口電路原理

軟件設計通道7的數據采集相關程序段:

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 ;恢復數據段

MOV DS,AX STI IN AL,21H ;開放IRQ4 AND AL,0EFH OUT 21H,AL MOV CX,100 ;設置采集字節數

MOV SI,OFFSETBUFF ;設置內存指針

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

MOV AL,90H OUT DX,ALBEGIN:

MOV DX,303H ;啟動轉換

MOV AL,0FH ;產生ALE鎖存信號

OUT DX,AL

NOP NOP MOV AL,0EH ;產生START啟動脈沖信號

OUT DX,AL STI ;開中斷

HLT ;等待中斷

DEC CX ;采樣次數減1 JNZ BEGIN ;沒完,繼續 CLI ;已完,關中斷

MOV AX,250CH

;恢復IRQ4的原中斷向量

MOV DX,OLD_SEG MOV DS,DX MOV DX,OLD_OFF INT 21H MOV AX,DATA ;恢復數據段

MOV DS,AX STI

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

PUSH AX ;保護現場

PUSH DX CLI ;關中斷

MOV DX,303H ;打開三態鎖存器

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

MOV DX,300H IN AL,DX ;從PA口讀數據

MOV [SI],AL ;存取數據

INC SI ;內存地址指針加1 MOV DX,303H

;關閉三態鎖存器

MOV AL,0CH

OUT DX,AL

;置PC6=0低

MOV AL,20H ;發中斷結束命令

OUT 20H,AL POP DX ;恢復現場

POP AX STI ;開中斷

IRET ;中斷返回

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

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

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

CLI ;關中斷

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

OUT08H,ALMOVAL,01000101B

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

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

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

MOVAL,00H ;基地址低8位

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

MOVAL,04H ;基地址高8位

OUT02H,AL ;高8位地址寫入通道1的基與 ;當前地址寄存器MOVAL,0FFH ;字節數低8位

OUT03H,AL ;字節數低8位寫入通道1的基與 ;當前字節計數器

MOVAL,0FH ;字節數高8位

OUT03H,AL ;字節數高8位寫入通道1的基與 ;當前字節計數器

STI ;CPU開中斷

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

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

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

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

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

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

軟件設計以下程序是產生三角波的程序;8255初始化

MOVDX,303H ;8255的命令口

MOVAL,10000000B

;8255的方式字

OUTDX,AL ;指定B口控制DAC的轉換

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

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

OUTDX,AL

;生成三角波的循環

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

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

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

JMPL1 ;為0,AL加1

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

ADC1210的分辨率是12位,且內部有三態鎖存,數據要分兩次傳送。DAC1210的3個端口的地址分別為:

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

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

318H(y2):第2級鎖存端口。8位輸入鎖存器4位輸入鎖存器12位DAC存儲器12位相乘型D/A轉換器LELELELSBMSBDI1115DI1016DI917DI818DI719DI620DI54DI45DI36DI27DI18DI09BYTE123/BYTE2CS1WR12XFER21WR22210Vref14Iout213Iout111Rfb24Vcc3AGND24DGNDDAC1210內部結構有兩種數據對齊格式:

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

“左對齊

溫馨提示

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

評論

0/150

提交評論