在日常實(shí)驗(yàn)中,經(jīng)常使用單片機(jī)系統(tǒng)實(shí)現(xiàn)數(shù)據(jù)采集功能,即實(shí)現(xiàn)實(shí)驗(yàn)數(shù)據(jù)連續(xù)精確的數(shù)模轉(zhuǎn)換。ADC0809是該類單片機(jī)數(shù)據(jù)采集系統(tǒng)中使用最為頻繁的數(shù)模轉(zhuǎn)換芯片之一。但是,在許多介紹ADC0809芯片的文獻(xiàn)中,該數(shù)模轉(zhuǎn)換芯片使用時(shí)往往還需要較多的輔助芯片,硬件電路和軟件編寫(xiě)都比較復(fù)雜,相應(yīng)成本偏高。因此本文給出一種方法,只需2片ADC0809數(shù)模轉(zhuǎn)換芯片、1片741s74觸發(fā)器芯片,就能實(shí)現(xiàn)簡(jiǎn)潔、快捷、精確的16通道實(shí)時(shí)數(shù)據(jù)采集。
1.硬件介紹
ADC0809是一個(gè)典型的8位8通道逐次逼近式數(shù)模轉(zhuǎn)換芯片,可實(shí)現(xiàn)8路模擬信號(hào)的分時(shí)采集,外接時(shí)鐘頻率一般不高于640KHz,一次數(shù)據(jù)轉(zhuǎn)換時(shí)間大約為100us。ADC0809數(shù)據(jù)采集方式有3種:延時(shí),查詢,中斷。它們?cè)陔娐愤B接和程序編寫(xiě)中都有所不同。在實(shí)驗(yàn)中可以選擇其中的一種或多種,本文中的電路連接和程序都采用查詢方式。ADC0809為一種輸出型芯片,管腳A,B,C為地址,用于選通IN0~IN7上的一路模擬量輸入。通常單片機(jī)通過(guò)A,B,C將二進(jìn)制的3位地址數(shù)據(jù)輸入到ADC0809中,ADC0809采集相應(yīng)通道的數(shù)據(jù)并通過(guò)8位數(shù)據(jù)線傳回到單片機(jī)中。引腳A,B,C選擇通道的二進(jìn)制地址數(shù)據(jù)如表1所示。
741s74是一種上升沿觸發(fā)的邊沿觸發(fā)器,該芯片中包含2個(gè)相同的、相互獨(dú)立的邊沿觸發(fā)D觸發(fā)器電路。每一個(gè)D觸發(fā)器的輸出信號(hào)的頻率為輸入信號(hào)的頻率的1/2,如果將2個(gè)D觸發(fā)器串聯(lián),就可以形成一個(gè)四分頻的延時(shí)器。
2.系統(tǒng)設(shè)計(jì)
2.1ADC0809與51單片機(jī)
在大多數(shù)文獻(xiàn)中,ADC0809與51單片機(jī)連接方式分為3種,如圖1~圖3所示。
圖1連接方式1
圖2連接方式2
圖3連接方式3
3種連接方式都為連接1片ADC0809的數(shù)據(jù)采集電路圖,除需要分頻芯片外,還需要外加1片~2片其他的芯片,其中,圖3只能適合使用1片ADC0809。如要連接多片ADC0809,則外加芯片更多。
圖4為本次實(shí)驗(yàn)所設(shè)計(jì)的簡(jiǎn)單的連接方式,把第1片ADC0809的8位數(shù)據(jù)線與51單片機(jī)的一組I/O直接相連,取該組I/O的低3位為ADC0809采集通道的地址線。同理,第2片ADC0809的8位數(shù)據(jù)線與地址線同接在另一組I/O13中。這種連接方式可以省去外加的芯片,簡(jiǎn)化電路,減少了電路板的空間,節(jié)省成本。
圖4ADC0809與51單片機(jī)的簡(jiǎn)單連接
2.2采樣保持濾波電路
ADC0809對(duì)輸入模擬量要求如下:信號(hào)單極性,電壓范圍為0~5;若信號(hào)太小,則必須進(jìn)行放大;輸入的模擬量在轉(zhuǎn)換過(guò)程中應(yīng)該保持不變,如若模擬量變化太快,則需在輸入前增加采樣保持;為避免通道之間的信號(hào)相互干擾,在模擬電壓信號(hào)進(jìn)入ADC0809之前,先進(jìn)行濾波處理。圖5為在信號(hào)進(jìn)入ADC0809之前進(jìn)行的放大采樣保持濾波處理,IN端接待采集的電流信號(hào),OUT端接ADC0809的8個(gè)模擬電壓信號(hào)輸入口之一。如果待采集信號(hào)為電壓信號(hào),電阻R1要略去。
6
圖5采樣保持濾波電路
2.3時(shí)鐘電路
ADC0809的內(nèi)部沒(méi)有時(shí)鐘電路,所需時(shí)鐘信號(hào)必須由外界提供,其正常工作頻率為500kHz-640kHz。通常為ADC0809提供外部時(shí)鐘信號(hào)有2種方式:(1)可以利用外部晶振頻率為其單獨(dú)提供;(2)可以借助單片機(jī)的時(shí)鐘信號(hào)。很明顯,第2種方式更為簡(jiǎn)單方便。51系列單片機(jī)的ALE腳在不訪問(wèn)片外程序存儲(chǔ)器時(shí),可作為對(duì)外輸出的時(shí)鐘信號(hào),其提供時(shí)鐘頻率為2MHz。該時(shí)鐘頻率在經(jīng)由741s74的2個(gè)D觸發(fā)器進(jìn)行四分頻之后,轉(zhuǎn)換為500kHz,符合ADC0809正常工作允許的頻率范圍。
3.程序設(shè)計(jì)
在圖4的連接方式下,程序設(shè)計(jì)比較簡(jiǎn)單,只需按照“選通道一啟動(dòng)采集一等待轉(zhuǎn)換結(jié)束一讀數(shù)據(jù)”4個(gè)步驟循環(huán)進(jìn)行,就可以依次讀取到16個(gè)通道采集的數(shù)據(jù)。以下是以C語(yǔ)言為基礎(chǔ)編寫(xiě)的采集程序的核心語(yǔ)句。
for(i=0;i《8;i++)
{
P2=0xf8+i;//通道地址
ST2=0;//啟動(dòng)采集
ST2=I;
ST2=0;
whiIe(EOc2==0);//等待轉(zhuǎn)換完畢
OE2=l;
addata[i]=P2;//ADC0809的l通道~8通道的數(shù)據(jù)
OE2=0;
}
for(i=8;i《16;i++)
{
P0=0xf8+i;
STI=0;
STI=I;
ST1=0:
while(EOC1==O):
OE1=1;
ad_data[i]=P1;
P2=ad_data[i];//ADC0809的9通道~1O通道的數(shù)據(jù)
}
上述程序并沒(méi)有設(shè)置采集頻率,ADC0809的時(shí)鐘頻率是500kHz,轉(zhuǎn)換一次需要64個(gè)時(shí)鐘脈沖,即進(jìn)行一次模數(shù)轉(zhuǎn)換需要時(shí)間0.128ms。命令語(yǔ)句一行用時(shí)約2us,與轉(zhuǎn)換時(shí)間相比可以忽略不計(jì)。由計(jì)算可知,1s內(nèi)約可采集7812個(gè)數(shù)據(jù)。利用定時(shí)器或軟件延時(shí)可以靈活控制數(shù)據(jù)采集的頻率,理論上采樣頻率的范圍可以控制在lHz~78l2Hz。在實(shí)際測(cè)試時(shí),由于各方面的原因往往達(dá)不到理論結(jié)果,一般采用的范圍為1Hz~50Hz時(shí),采集結(jié)果最佳。
4.實(shí)驗(yàn)結(jié)果與分析
把一個(gè)可變電阻的電壓輸出端接在ADC0809的模擬通道上。在0~5V范圍內(nèi)調(diào)節(jié)可變電阻的電壓輸出值,檢測(cè)采集系統(tǒng)的各個(gè)通道的采集結(jié)果,16個(gè)通道均能正常工作,誤差范圍為0-4%。根據(jù)分析,產(chǎn)生誤差的原因有以下幾方面:
(1)電源電壓輸入不穩(wěn)定,導(dǎo)致ADC0809的供電電壓不穩(wěn)定,即ADC0809數(shù)模轉(zhuǎn)換的參考電壓值不穩(wěn)定,影響了轉(zhuǎn)換結(jié)果;
(2)電壓表測(cè)試精度低,存在測(cè)試誤差;
(3)雖然進(jìn)行了濾波處理,但是不能完全消除待采集電壓信號(hào)的干擾。
改進(jìn)上述問(wèn)題只能在最大程度上減小誤差,不可能根本消除。例如,可以采取在電源輸入端、輸入電壓端增加高精度濾波電路或用軟件濾波等方法減小誤差。
如果在實(shí)際中要用到多片ADC0809,還有一種電路連接方法,如把每一片ADC0809的數(shù)據(jù)輸出線都連接在單片機(jī)的同一組I/O口上,并將ADC0809的引腳ST,EOC,OE連接在單片機(jī)相同的引腳上,但是每一片ADC0809的地址線A,B,C要分開(kāi)連接在單片機(jī)不同的引腳上。
結(jié)束語(yǔ)
該系統(tǒng)采用ADC0809與單片機(jī)之間電路相連接的方法,與現(xiàn)有方法相比,其具有電路簡(jiǎn)單、制作成本低、程序編寫(xiě)簡(jiǎn)易、信號(hào)穩(wěn)定等優(yōu)點(diǎn),可以實(shí)現(xiàn)16通道及更多通道的實(shí)時(shí)數(shù)據(jù)采集。實(shí)驗(yàn)結(jié)果表明,該系統(tǒng)采集精度較高,采集頻率范圍廣,采集速度較快。由于采用的芯片等級(jí)較低,因此該系統(tǒng)的采集速率有限,這也是下一步需要改進(jìn)的地方。
責(zé)任編輯人:CC
-
51單片機(jī)
+關(guān)注
關(guān)注
274文章
5702瀏覽量
123618 -
ADC0809
+關(guān)注
關(guān)注
4文章
144瀏覽量
38829 -
數(shù)據(jù)采集系統(tǒng)
+關(guān)注
關(guān)注
4文章
254瀏覽量
30902
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論