A/D轉(zhuǎn)換器芯片及接口電路
1.8位A/D轉(zhuǎn)換器芯片ADC0809
ADC0809是CMOS單片型逐次逼近式A/D轉(zhuǎn)換器,ADC0809的主要特性:
● 它是具有8路模擬量輸入、8位數(shù)字量輸出功能的A/D轉(zhuǎn)換器。
● 轉(zhuǎn)換時(shí)間為100μs。
● 模擬輸入電壓范圍為0V~+5V,不需零點(diǎn)和滿刻度校準(zhǔn)。
● 低功耗,約15mW。
(1)ADC0809結(jié)構(gòu)框圖及引腳說明
圖4.24ADC0809的結(jié)構(gòu)框圖和引腳
通道選擇開關(guān)
通道地址鎖存和譯碼
逐次逼近A/D轉(zhuǎn)換器
8位鎖存器和三態(tài)門
(2)ADC0809的工作過程
對ADC0809的控制過程是:
① 首先確定ADDA、ADDB、ADDC三位地址,決定選擇哪一路模擬信號(hào);
② 使ALE端接受一正脈沖信號(hào),使該路模擬信號(hào)經(jīng)選擇開關(guān)到達(dá)比較器的輸入端;
③ 使START端接受一正脈沖信號(hào),START的上升沿將逐次逼近寄存器復(fù)位,下降沿啟動(dòng)A/D轉(zhuǎn)換;
④ EOC輸出信號(hào)變低,指示轉(zhuǎn)換正在進(jìn)行。
⑤ A/D轉(zhuǎn)換結(jié)束,EOC變?yōu)楦唠娖?,指示A/D轉(zhuǎn)換結(jié)束。此時(shí),數(shù)據(jù)已保存到8位三態(tài)輸出鎖存器中。此時(shí)CPU就可以通過使OE信號(hào)為高電平,打開ADC0809三態(tài)輸出,由ADC0809輸出的數(shù)字量傳送到CPU。
(3)CPU讀取A/D轉(zhuǎn)換器數(shù)據(jù)的方法
① 查詢法
優(yōu)點(diǎn):接口電路設(shè)計(jì)簡單。
缺點(diǎn):A/D轉(zhuǎn)換期間獨(dú)占CPU,致使CPU運(yùn)行效率降低。
② 定時(shí)法:
優(yōu)點(diǎn):接口電路設(shè)計(jì)比查詢法簡單,不必讀取EOC的狀態(tài)。
缺點(diǎn):A/D轉(zhuǎn)換期間獨(dú)占CPU,致使CPU運(yùn)行效率降低;另外還必須知道A/D轉(zhuǎn)換器的轉(zhuǎn)換時(shí)間。
CPU讀取A/D轉(zhuǎn)換器數(shù)據(jù)的方法
③ 中斷法
優(yōu)點(diǎn):A/D轉(zhuǎn)換期間CPU可以處理其它的程序,提高CPU的運(yùn)行效率。圖4.25ADC0809接口電路
缺點(diǎn):接口電路復(fù)雜。
(4)ADC0809接口電路
圖 4. 25ADC0809接口電路
[例4.1]利用圖4.25,采用無條件傳送方式,編寫一段輪流從IN0~I(xiàn)N7采集8路模擬信號(hào),并把采集到的數(shù)字量存入0100H開始的8個(gè)單元內(nèi)的程序。
程序如下:
MOV DI, 0100H;設(shè)置存放數(shù)據(jù)的首址
MOV BL,08H;采集8次計(jì)數(shù)器
MOV AH,00H;選0通道
AA1∶MOV AL,AH
MOV DX,ADPORT;設(shè)置ADC0809芯片地址
OUT DX,AL;使ALE、START有效,選擇模擬通道,見圖10.18
MOV CX, 0050H
WAIT∶LOOP WAIT;延時(shí),等待A/D轉(zhuǎn)換
IN AL,DX;使OUTPUTENABLE有效,輸入數(shù)據(jù),見圖10.18
MOV[DI],AL;保存數(shù)據(jù)
INC AH;換下一個(gè)模擬通道
INC DI;修改數(shù)據(jù)區(qū)指針
DEC BL
JNZ AA1
2.12位A/D轉(zhuǎn)換器AD574
AD574是美國模擬器件公司的產(chǎn)品,是較先進(jìn)的高集成度、低價(jià)格的逐次逼近式轉(zhuǎn)換器。
AD574由兩片大規(guī)模集成電路構(gòu)成。一片為D/A轉(zhuǎn)換器AD565,另一片集成了逐次逼近寄存器SAR、轉(zhuǎn)換控制電路、時(shí)鐘電路、總線接口電路和高分辨比較器電路。
(1)AD574的結(jié)構(gòu)框圖及引腳說明
圖 4. 26 AD574的結(jié)構(gòu)框圖
引腳信號(hào)說明如下:
12/8:數(shù)據(jù)輸出方式選擇信號(hào),高電平時(shí)輸出12位數(shù)據(jù),低電平時(shí)與A0信號(hào)配合輸出高8位或低4位數(shù)據(jù)。信號(hào)不能用TTL電平控制,必須直接接至+5V或數(shù)字地。
A0:轉(zhuǎn)換數(shù)據(jù)長度選擇控制信號(hào)。在轉(zhuǎn)換狀態(tài),A0為低電平可使AD574進(jìn)行12位轉(zhuǎn)換,A0為高電平時(shí)可使AD574進(jìn)行8位轉(zhuǎn)換。在讀數(shù)狀態(tài),如果為低電平,當(dāng)A0為低電平時(shí),則輸出高8位數(shù)據(jù),而A0為高電平時(shí),則輸出低4位數(shù)據(jù);如果為高電平,則A0的狀態(tài)不起作用。
(2)AD574的工作過程
AD574的工作過程分為啟動(dòng)轉(zhuǎn)換和轉(zhuǎn)換結(jié)束后讀出數(shù)據(jù)兩個(gè)過程。
啟動(dòng)轉(zhuǎn)換時(shí),首先使/CS、CE信號(hào)有效,AD574處于轉(zhuǎn)換工作狀態(tài),且A0為1或?yàn)?,根據(jù)所需轉(zhuǎn)換的位數(shù)確定,然后使R/C=0,啟動(dòng)AD574開始轉(zhuǎn)換。視為選中AD574的片選信號(hào),為啟動(dòng)轉(zhuǎn)換的控制信號(hào)。轉(zhuǎn)換結(jié)束,STS由高電平變?yōu)榈碗娖???赏ㄟ^查詢法,讀入STS線端的狀態(tài),判斷轉(zhuǎn)換是否結(jié)束。
(2)AD574的工作過程
輸出數(shù)據(jù)時(shí),首先根據(jù)輸出數(shù)據(jù)的方式,即是12位并行輸出,還是分兩次輸出,以確定是接高電平還是接低電平;然后在CE=1、/CS=0、R/C=1的條件下,確定A0的電平。若為12位并行輸出,A0端輸入電平信號(hào)可高可低;若分兩次輸出12位數(shù)據(jù),A0=0,輸出12位數(shù)據(jù)的高8位,A0=1,輸出12位數(shù)據(jù)的低4位。由于AD574輸出端有三態(tài)緩沖器,所以D0~D11數(shù)據(jù)輸出線可直接接在CPU數(shù)據(jù)總線上。
(3)AD574接口電路
圖4.27 12位AD574與8088CPU的接口電路圖
啟動(dòng)A/D轉(zhuǎn)換并采用查詢方式,采集數(shù)據(jù)的程序如下:
MOV DX,278H
OUT DX,AL; 啟動(dòng)轉(zhuǎn)換,R/C=0、CS=0、CE=1,A0=0
MOV DX,27AH; 設(shè)置三態(tài)門地址
AA1∶IN AL,DX; 讀取STS狀態(tài)
TEST AL,80H; 測試STS電平
JNE AA1;STS=1 等待,STS=0向下執(zhí)行
MOV DX,278H
IN AL,DX; 讀高8位數(shù)據(jù),R/C=1,CS=0,CE=1,A0=1,CE=1
MOV AH,AL; 保存高8位數(shù)據(jù)
MOV DX,279H
IN AL,DX; 讀低4位數(shù)據(jù),R/C=1, CS=0,A0=1,CE=1
評(píng)論