A/D轉(zhuǎn)換典型芯片ADC0809
8位8通道逐次逼近式A/D轉(zhuǎn)換器,CMOS工藝,可實(shí)現(xiàn)8路模擬信號(hào)的分時(shí)采集,片內(nèi)有8路模擬選通開關(guān),以及相應(yīng)的通道地址鎖存用譯碼電路,其轉(zhuǎn)換時(shí)間為100us左右。
1.ADC0809的內(nèi)部邏輯結(jié)構(gòu)
ADC 0809內(nèi)部邏輯結(jié)構(gòu)如圖10.1所示。
圖10.1 ADC0809的內(nèi)部邏輯結(jié)構(gòu)
圖中多路開關(guān)可選通8個(gè)模擬通道,允許8路模擬量分時(shí)輸入,共用一個(gè)A/D轉(zhuǎn)換器進(jìn)行轉(zhuǎn)換。地址鎖存與譯碼電路完成對(duì)A、B、C三個(gè)地址位進(jìn)行鎖存和譯碼,其譯碼輸出用于通道選擇。
2.芯片引腳
ADC0809芯片為28引腳雙列直插式封裝,其引腳排列見圖10.2。
對(duì)ADC0809主要信號(hào)引腳的功能說明如下:
ü IN0~I(xiàn)N7—模擬量輸入通道信號(hào)單極性,電壓范圍0-5V,若信號(hào)過小還需進(jìn)行放大。模擬量輸入在A/D轉(zhuǎn)換過程中,其值不應(yīng)當(dāng)變化,對(duì)變化速度快的模擬量,在輸入前應(yīng)增加采樣保持電路。
ü A、B、C地址線
A為低位地址,C為高位地址,模擬通道的選擇信號(hào),引腳圖中為ADDA、ADDB和ADDC。其地址狀態(tài)與通道對(duì)應(yīng)關(guān)系見表10.2。
圖10.2 ADC0809引腳排列圖
表10.2選擇的通道
√ ALE 地址鎖存允許信號(hào)
對(duì)應(yīng)ALE上跳沿,A、B、C地址狀態(tài)送入地址鎖存器中。
√ START 轉(zhuǎn)換啟動(dòng)信號(hào)
START上跳沿時(shí),所有內(nèi)部寄存器清“0”;START下跳沿時(shí),開始進(jìn)行A/D轉(zhuǎn)換;在A/D轉(zhuǎn)換期間,START應(yīng)保持低電平。本信號(hào)有時(shí)簡寫為ST。
√ D7~D0 數(shù)據(jù)輸出線
為三態(tài)緩沖輸出形式,可以和單片機(jī)的數(shù)據(jù)線直接相連。D0為最低位,D7為最高位。
√ OE 輸出允許信號(hào)
用于控制三態(tài)輸出鎖存器向單片機(jī)輸出轉(zhuǎn)換得到的數(shù)據(jù)。
OE=0,輸出數(shù)據(jù)線呈高電阻;
OE=1,輸出轉(zhuǎn)換得到的數(shù)據(jù)。
√ CLK 時(shí)鐘信號(hào)
ADC 0809的內(nèi)部沒有時(shí)鐘電路,所需時(shí)鐘信號(hào)由外界提供。通常使用頻率為500kHz的時(shí)鐘信號(hào)。
√ EOC 轉(zhuǎn)換結(jié)束信號(hào)
EOC=0,正在進(jìn)行轉(zhuǎn)換;
EOC=1,轉(zhuǎn)換結(jié)束。
使用中該狀態(tài)信號(hào)既可作為查詢的狀態(tài)標(biāo)志,又可以作為中斷請(qǐng)求信號(hào)使用。
√ Vcc +5V電源
√ Vref 參考電源
參考電壓用來與輸入的模擬信號(hào)進(jìn)行比較,作為逐次逼近的基準(zhǔn)。其典型值為+5V(Vref(+)=+5V,Vref(一)=0V)。
1. 單片機(jī)與ADC0809接口
需解決三個(gè)問題:
①要給START線送一個(gè)100ns寬的起動(dòng)正脈沖,如圖10.3、10.4所示;
②獲取EOC線上的狀態(tài)信息,因?yàn)樗茿/D轉(zhuǎn)換的結(jié)束標(biāo)志,如圖10.5所示;
③要經(jīng)“三態(tài)輸出鎖存器”輸出一個(gè)端口地址,也就是給OE端送一個(gè)輸出轉(zhuǎn)換得到數(shù)據(jù)的信號(hào),如圖10.5所示。
圖10.3 ADC0809的部分信號(hào)連接
圖10.4 信號(hào)的時(shí)間配合
圖10.5 AT89S52和ADC0809的接口
AT89S52和ADC接口通??梢圆捎枚〞r(shí)、查詢和中斷三種方式。
√ 定時(shí)傳送方式
對(duì)于每種A/D轉(zhuǎn)換器,轉(zhuǎn)換時(shí)間作為一項(xiàng)技術(shù)指標(biāo),是已知的和固定的。如ADC0809的轉(zhuǎn)換時(shí)間為128us。可以設(shè)計(jì)一個(gè)延時(shí)子程序,當(dāng)啟動(dòng)轉(zhuǎn)換后,CPU調(diào)用該延時(shí)子程序或用定時(shí)器定時(shí),延時(shí)時(shí)間或定時(shí)時(shí)間稍大于A/D轉(zhuǎn)換所需時(shí)間。等時(shí)間一到,轉(zhuǎn)換已經(jīng)完成,就可以從“三態(tài)輸出鎖存器”讀取數(shù)據(jù)。
特點(diǎn):電路連接簡單,但CPU費(fèi)時(shí)較多。
√ 查詢方式
采用查詢法就是將轉(zhuǎn)換結(jié)束信號(hào)接到I/O接口的某一位,或經(jīng)過三態(tài)門接到單片機(jī)數(shù)據(jù)總線上。A/D轉(zhuǎn)換開始之后,CPU就查詢轉(zhuǎn)換結(jié)束信號(hào),即查詢EOC引腳的狀態(tài):若它為低電平,表示A/D轉(zhuǎn)換正在進(jìn)行,則MCS-51應(yīng)當(dāng)繼續(xù)查詢;若查詢到EOC變?yōu)楦唠娖?,則給OE線送一個(gè)高電平,以便從線上提取A/D轉(zhuǎn)換后的數(shù)字量。
特點(diǎn):占用CPU時(shí)間,但設(shè)計(jì)程序比較簡單。
√ 中斷方式
采用中斷方式傳送數(shù)據(jù)時(shí),將轉(zhuǎn)換結(jié)束信號(hào)接到單片機(jī)的中斷申請(qǐng)端,當(dāng)轉(zhuǎn)換結(jié)束時(shí)申請(qǐng)中斷,CPU響應(yīng)中斷后,通過執(zhí)行中斷服務(wù)程序,使OE引腳變高電平,以提取A/D轉(zhuǎn)換后的數(shù)字量。
特點(diǎn):在A/D轉(zhuǎn)換過程中不占用CPU的時(shí)間,且實(shí)時(shí)性強(qiáng)。