ADC0809和51單片機(jī)的多路數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)方案
掃描二維碼
隨時(shí)隨地手機(jī)看文章
“數(shù)據(jù)采集”是指將溫度、壓力、流量、位移等模擬物理量采集并轉(zhuǎn)換成數(shù)字量后,再由計(jì)算機(jī)進(jìn)行存儲(chǔ)、處理、顯示和打印的過(guò)程,相應(yīng)的系統(tǒng)稱(chēng)為數(shù)據(jù)采集系統(tǒng)。
本文的主要任務(wù)是對(duì)0~5V的直流電壓進(jìn)行測(cè)量并送到遠(yuǎn)端的PC機(jī)上進(jìn)行顯示。由于采集的是直流信號(hào),對(duì)于緩慢變化的信號(hào)不必加采樣保持電路,因此選用市面上比較常見(jiàn)的逐次逼近型ADC0809芯片,該芯片轉(zhuǎn)換速度快,價(jià)格低廉,可以直接將直流電壓轉(zhuǎn)換為計(jì)算機(jī)可以處理的數(shù)字量。同時(shí)選用低功耗的LCD顯示器件來(lái)滿(mǎn)足其在終端顯示采集結(jié)果的需求。終端鍵盤(pán)控制采用盡可能少的鍵來(lái)實(shí)現(xiàn)控制功能,為了防止鍵盤(pán)不用時(shí)的誤操作,設(shè)計(jì)時(shí)還設(shè)置了鎖鍵功能,在鍵盤(pán)的輸入消抖方面,則采用軟件消抖方法來(lái)降低硬件開(kāi)銷(xiāo),提高系統(tǒng)的抗干擾能力。軟件設(shè)計(jì)方面則采用功能模塊化的設(shè)計(jì)思想;鍵盤(pán)模數(shù)轉(zhuǎn)換等采用中斷方式來(lái)實(shí)現(xiàn),從而大大提高了單片機(jī)的效率以及實(shí)時(shí)處理能力。
1 數(shù)據(jù)采集系統(tǒng)的硬件結(jié)構(gòu)
數(shù)據(jù)采集系統(tǒng)的硬件結(jié)構(gòu)一般由信號(hào)調(diào)理電路、多路切換電路、采樣保持電路、A/D轉(zhuǎn)換器以及單片機(jī)等組成。本文主要完成功能的系統(tǒng)硬件框圖如圖1所示。
圖1 數(shù)據(jù)采集系統(tǒng)硬件設(shè)計(jì)框圖
2 ADC0809模數(shù)轉(zhuǎn)換器簡(jiǎn)介
2.1 ADC0809的結(jié)構(gòu)功能
本數(shù)據(jù)采集系統(tǒng)采用計(jì)算機(jī)作為處理器。電子計(jì)算機(jī)所處理和傳輸?shù)亩际遣贿B續(xù)的數(shù)字信號(hào),而實(shí)際中遇到的大都是連續(xù)變化的模擬量,模擬量經(jīng)傳感器轉(zhuǎn)換成電信號(hào)后,需要模/數(shù)轉(zhuǎn)換將其變成數(shù)字信號(hào)才可以輸入到數(shù)字系統(tǒng)中進(jìn)行處理和控制,因此,把模擬量轉(zhuǎn)換成數(shù)字量輸出的接口電路,即A/D轉(zhuǎn)換器就是現(xiàn)實(shí)信號(hào)轉(zhuǎn)換的橋梁。
目前,世界上有多種類(lèi)型的A/D轉(zhuǎn)換器,如并行比較型、逐次逼近型、積分型等。本文采用逐次逼近型A/D轉(zhuǎn)換器,該類(lèi)A/D轉(zhuǎn)換器轉(zhuǎn)換精度高,速度快,價(jià)格適中,是目前種類(lèi)最多,應(yīng)用最廣的A/D轉(zhuǎn)換器。逐次逼近型A/D轉(zhuǎn)換器一般由比較器、D/A轉(zhuǎn)換器、寄存器、時(shí)鐘發(fā)生器以及控制邏輯電路組成。
ADC0809就是一種CMOS單片逐次逼近式A/D轉(zhuǎn)換器,其內(nèi)部結(jié)構(gòu)如圖2所示。該芯片由8路模擬開(kāi)關(guān)、地址鎖存與譯碼器、比較器、8位開(kāi)關(guān)樹(shù)型D/A轉(zhuǎn)換器、逐次逼近寄存器、三態(tài)輸出鎖存器等電路組成。因此,ADC0809可處理8路模擬量輸入,且有三態(tài)輸出能力。該器件既可與各種微處理器相連,也可單獨(dú)工作。其輸入輸出與TTL兼容。
ADC0809是8路8位A/D轉(zhuǎn)換器(即分辨率8位),具有轉(zhuǎn)換起??刂贫?,轉(zhuǎn)換時(shí)間為100μs采用單+5V電源供電,模擬輸入電壓范圍為0~+5V,且不需零點(diǎn)和滿(mǎn)刻度校準(zhǔn),工作溫度范圍為-40~+85℃功耗可抵達(dá)約15mW。
ADC0809芯片有28條引腳,采用雙列直插式封裝,圖3所示是其引腳排列圖。各引腳的功能如下:
圖3 ADC0809的引腳排列圖
IN0~I(xiàn)N7:8路模擬量輸入端;
D0~D7:8位數(shù)字量輸出端;
ADDA、ADDB、ADDC:3位地址輸入線,用于選通8路模擬輸入中的一路;
ALE:地址鎖存允許信號(hào),輸入,高電平有效;
START:A/D轉(zhuǎn)換啟動(dòng)信號(hào),輸入,高電平有效;
EOC:A/D轉(zhuǎn)換結(jié)束信號(hào),輸出,當(dāng)A/D轉(zhuǎn)換結(jié)束時(shí),此端輸出一個(gè)高電平(轉(zhuǎn)換期間一直為低電平);
OE:數(shù)據(jù)輸出允許信號(hào),輸入,高電平有效。當(dāng)A/D轉(zhuǎn)換結(jié)束時(shí),此端輸入一個(gè)高電平才能打開(kāi)輸出三態(tài)門(mén),輸出為數(shù)字量;
CLK:時(shí)鐘脈沖輸入端。要求時(shí)鐘頻率不高640kHz;
REF(+)、REF(-):基準(zhǔn)電壓;
Vcc:電源,單一+5V;
GND:地。
ADC0809工作時(shí),首先輸入3位地址,并使ALE為1,以將地址存入地址鎖存器中。此地址經(jīng)譯碼可選通8路模擬輸入之一到比較器。START上升沿將逐次逼近寄存器復(fù)位;下降沿則啟動(dòng)A/D轉(zhuǎn)換,之后,EOC輸出信號(hào)變低,以指示轉(zhuǎn)換正在進(jìn)行,直到A/D轉(zhuǎn)換完成,EOC變?yōu)楦唠娖剑甘続/D轉(zhuǎn)換結(jié)束,并將結(jié)果數(shù)據(jù)存入鎖存器,這個(gè)信號(hào)也可用作中斷申請(qǐng)。當(dāng)OE輸入高電平時(shí),ADC的輸出三態(tài)門(mén)打開(kāi),轉(zhuǎn)換結(jié)果的數(shù)字量可輸出到數(shù)據(jù)總線。
A/D轉(zhuǎn)換器的位數(shù)決定著信號(hào)采集的精度和分辨率。對(duì)于8通道的輸入信號(hào),其分辨率為0.5%。8位A/D轉(zhuǎn)換器的精度為:
2.2 ADC0809的工作時(shí)序
圖4所示是ADC0809的工作時(shí)序圖。從該時(shí)序圖可以看出,地址鎖存信號(hào)ALE在上升沿將三位通道地址鎖存,相應(yīng)通道的模擬量經(jīng)過(guò)多路模擬開(kāi)關(guān)送到A/D轉(zhuǎn)換器。啟動(dòng)信號(hào)START上升沿復(fù)位內(nèi)部電路,START的下降沿啟動(dòng)轉(zhuǎn)換,此時(shí)轉(zhuǎn)換結(jié)束信號(hào)EOC呈低電平狀態(tài),由于逐位逼近需要一定過(guò)程,所以,在此期間,模擬輸入量應(yīng)維持不變,比較器要一次次比較,直到轉(zhuǎn)換結(jié)束,此時(shí)變?yōu)楦唠娖?。若CPU發(fā)出輸出允許信號(hào)OE(輸出允許為高電平),則可讀出數(shù)據(jù)。另外,ADC0809具有較高的轉(zhuǎn)換速度和精度,同時(shí)受溫度影響也較小。
2.3 ADC0809與MCS-51單片機(jī)的接口電路
ADC0809與MCS-51系列單片機(jī)的接口電路如圖5所示。圖中,74LS373輸出的低3位地址A2、A1、A0加到通道選擇端A、B、C,可作為通道編碼。其通道基本地址為0000H~0007H。8051的WR與P2.7經(jīng)過(guò)或非門(mén)后,可接至ADC0809的START及ALE引腳。8051的RD與P2.7經(jīng)或非門(mén)后則接至ADC0809的OE端。ADC0809的EOC經(jīng)反相后接到8051單片機(jī)的P3.3(INT1)。
3 單片機(jī)與PC機(jī)的互連
目前的串行通信接口標(biāo)準(zhǔn)都是在RS-232標(biāo)準(zhǔn)的基礎(chǔ)上經(jīng)過(guò)改進(jìn)而形成的。RS-323C標(biāo)準(zhǔn)是美國(guó)EIA(電子工業(yè)聯(lián)合會(huì))與BELL等公司一起開(kāi)發(fā)通信協(xié)議。它適合于數(shù)據(jù)傳輸速率在0~20000b/s范圍內(nèi)的通信。這個(gè)標(biāo)準(zhǔn)對(duì)串行通信接口(如信號(hào)線功能、電器)特性都作了明確規(guī)定。由于通行設(shè)備廠商都生產(chǎn)與RS-232C制式兼容的通信設(shè)備,因此,它作為一種標(biāo)準(zhǔn),目前已在微機(jī)通信接口中廣泛采用。
3.1 電氣特性
EIA-RS-232C對(duì)電器特性、邏輯電平和各種信號(hào)線功能都作了規(guī)定。在TxD和RxD上,邏輯1(MARK)電平為-3V~-15V,邏輯0(SPACE)電平為+3~+15V;而在RTS、CTS、DSR、DTR和DCD等控制線上,信號(hào)有效(接通,ON狀態(tài),正電壓)電壓為+3V~+15V,信號(hào)無(wú)效(斷開(kāi),OFF狀態(tài),負(fù)電壓)電壓為-3V~-15V。
以上規(guī)定說(shuō)明了RS-323C標(biāo)準(zhǔn)對(duì)邏輯電平的定義。對(duì)于數(shù)據(jù)(信息碼):邏輯“1”(傳號(hào))的電平低于-3V,邏輯“0”(空號(hào))的電平高于+3V;對(duì)于控制信號(hào);接通狀態(tài)(ON)即信號(hào)有效的電平高于+3V,斷開(kāi)狀態(tài)(OFF)即信號(hào)無(wú)效的電平低于-3V,也就是說(shuō),當(dāng)傳輸電平的絕對(duì)值大于3V時(shí),電路才可以有效地檢查出來(lái),介于-3~+3V之間的電壓無(wú)意義。低于-15V或高于+15V的電壓也認(rèn)為無(wú)意義,因此,實(shí)際工作時(shí),應(yīng)保證電平在±(3~15)V之間。
對(duì)于EIA-RS-232C與TTL的轉(zhuǎn)換,由于EIARS-232C是用正負(fù)電壓來(lái)表示邏輯狀態(tài),它與TTL以高低電平表示邏輯狀態(tài)的規(guī)定不同。因此,為了能夠同計(jì)算機(jī)接口或與終端的TTL器件連接,就必須在EIA-RS-232C與TTL電路之間進(jìn)行電平和邏輯關(guān)系的變換。實(shí)現(xiàn)這種變換的方法可用分立元件,也可用集成電路芯片。
3.2 DB-9連接器
DB-9連接器作為提供多功能I/O卡或主板上COM1和COM2兩個(gè)串行接口的連接器。它只提供異步通信的9個(gè)信號(hào)。由于DB-9型連接器的引腳分配與DB-25型引腳信號(hào)完全不同。因此,若要與配接DB-25型連接器的DCE設(shè)備進(jìn)行連接,就必須使用專(zhuān)門(mén)的電纜線。
設(shè)計(jì)時(shí)對(duì)電纜長(zhǎng)度的要求是在通信速率低于20kb/s時(shí),RS-232C所直接連接的最大物理距離應(yīng)為15m(50英尺)。
根據(jù)RS-232C標(biāo)準(zhǔn)規(guī)定,若不使用MODEM,在碼元畸變小于4%的情況下,DTE和DCE之間的最大傳輸距離為15m(50英尺)。由于這個(gè)最大距離是在碼元畸變小于4%的前提下給出的。因此,為了保證碼元畸變小于4%的要求,本接口標(biāo)準(zhǔn)在電氣特性中規(guī)定,驅(qū)動(dòng)器的負(fù)載電容應(yīng)小于2500pF。
3.3 單片機(jī)與MAX232的連接
MAX232是一種雙組驅(qū)動(dòng)器/接收器,該芯片可完成TTL←→EIA雙向電平轉(zhuǎn)換。其片內(nèi)含有一個(gè)電容性電壓發(fā)生器,可以在單+5V伏電壓供電時(shí)提供EIA/TIA-232-E電平。每個(gè)接收器都應(yīng)將EIA/TIA-232-E電平轉(zhuǎn)換為5VTTL/CMOS電平。這些接收器具有1.3V的典型門(mén)限值及0.5V的典型遲滯,而且可以接收30V輸入。每個(gè)驅(qū)動(dòng)器都應(yīng)將TTL/CMOS輸入電平轉(zhuǎn)換為EIA/TIA-232-E電平。所有的驅(qū)動(dòng)器,接收器及電壓發(fā)生器都可以在德州儀器公司的元件庫(kù)中得到標(biāo)準(zhǔn)單元。MAX232的工作溫度范圍為0~70℃。
圖6所示是MAX232芯片的工作電路圖。在實(shí)際應(yīng)用中,該器件對(duì)電源的噪聲很敏感。圖中的四個(gè)取同樣數(shù)值的電解電容(1.0μF/16V),用以提高抗干擾能力。本設(shè)計(jì)可從MAX232芯片中的兩路發(fā)送接收器中選用一路作為接口,但設(shè)計(jì)時(shí)應(yīng)注意發(fā)送與接收的對(duì)應(yīng)。
4 結(jié)束語(yǔ)
本文給出了一個(gè)基于AD0809和單片機(jī)的多路數(shù)據(jù)采集系統(tǒng)的硬件實(shí)現(xiàn)方法,該方法在終端采用8051單片機(jī)為核心來(lái)控制數(shù)據(jù)采集及數(shù)據(jù)上傳工作,并通過(guò)A/D轉(zhuǎn)換器將0~5V的直流電壓轉(zhuǎn)換為計(jì)算機(jī)可以進(jìn)行處理的數(shù)字信號(hào),然后經(jīng)過(guò)單片機(jī)對(duì)其進(jìn)行處理,從而完成在終端顯示以及將數(shù)據(jù)上傳等功能。系統(tǒng)中的上位機(jī)完成對(duì)所采集的數(shù)據(jù)進(jìn)行顯示及對(duì)下位機(jī)的控制等功能。