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