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