(江蘇省如皋職業(yè)教育中心校,江蘇 如皋 226500)
計(jì)算機(jī)技術(shù)在飛速發(fā)展,微機(jī)應(yīng)用日益普及,微機(jī)在通信自動(dòng)化、工業(yè)自動(dòng)控制、電子測(cè)量、信息管理和信息系統(tǒng)等方面得到廣泛的應(yīng)用。在冶金、化工、醫(yī)學(xué)和電氣性能測(cè)試等許多應(yīng)用場(chǎng)合需要同時(shí)對(duì)多通道的模擬信號(hào)進(jìn)行采集、預(yù)處理、暫存和向上位機(jī)傳送,再由上位機(jī)進(jìn)行數(shù)據(jù)分析處理、自動(dòng)報(bào)表生成、信號(hào)波形顯示和輸出打印等處理[1]。模擬系統(tǒng)存在對(duì)大動(dòng)態(tài)信號(hào)處理線性差,因而存在精度低、信號(hào)不可記錄等缺點(diǎn)。在數(shù)字電子技術(shù)領(lǐng)域中,由于使用了包括模數(shù)轉(zhuǎn)換器件在內(nèi)的數(shù)字器件,因而在精度、簡(jiǎn)化電路結(jié)構(gòu)、靈活、方便等方面取得了很大的進(jìn)步[2]。傳統(tǒng)獲取現(xiàn)場(chǎng)數(shù)據(jù)的方法,效率低、誤差大,難以輸入計(jì)算機(jī)。而數(shù)據(jù)采集器是一種具有現(xiàn)場(chǎng)實(shí)時(shí)數(shù)據(jù)采集、處理功能的自動(dòng)化設(shè)備,具備實(shí)時(shí)采集、自動(dòng)存儲(chǔ)、即時(shí)顯示、即時(shí)反饋、自動(dòng)處理、自動(dòng)傳輸功能。它為現(xiàn)場(chǎng)數(shù)據(jù)的真實(shí)性、有效性、實(shí)時(shí)性、可用性提供了保證,并能方便地輸入計(jì)算機(jī),已廣泛應(yīng)用在工業(yè)、農(nóng)業(yè)、商業(yè)、交通、物流、倉(cāng)儲(chǔ)等行業(yè)。
工業(yè)上使用的數(shù)據(jù)采集與處理系統(tǒng)大致分為以下五種:1)基于通用微型計(jì)算機(jī)(如PC機(jī))的數(shù)據(jù)采集與處理系統(tǒng),這種系統(tǒng)可以利用微機(jī)系統(tǒng)強(qiáng)大的軟件計(jì)算能力和豐富的硬件資源來(lái)支持系統(tǒng)進(jìn)行工作,同時(shí)也方便對(duì)系統(tǒng)進(jìn)行二次開(kāi)發(fā)。但系統(tǒng)的成本較高。2)基于單片機(jī)的數(shù)據(jù)采集與處理系統(tǒng),由單片機(jī)及其一些外圍芯片構(gòu)成的數(shù)據(jù)采集與處理系統(tǒng),是近幾十年來(lái)單片機(jī)技術(shù)快速發(fā)展的結(jié)果。它的計(jì)算能力相對(duì)較弱,但價(jià)格很便宜。系統(tǒng)開(kāi)發(fā)時(shí)可根據(jù)應(yīng)用的需求選擇合適的單片機(jī),由于直接對(duì)硬件進(jìn)行操作,所以能充分利用單片機(jī)的資源,具有很高的性價(jià)比。不過(guò)系統(tǒng)成型之后,二次開(kāi)發(fā)和擴(kuò)展性會(huì)受到部分限制。3)基于DSP的數(shù)據(jù)采集與處理系統(tǒng),數(shù)字信號(hào)處理器(DSP)是數(shù)字信號(hào)處理理論與超大規(guī)模集成電路(VLSI)技術(shù)融合的結(jié)晶。DSP與單片機(jī)相比,DSP多采用時(shí)鐘倍頻做主頻,CPU采用哈佛結(jié)構(gòu),支持流水線操作,在運(yùn)行速度上有很大程度的提高,具有高效的數(shù)字信號(hào)處理功能。因此在需要高速數(shù)據(jù)采集和處理的場(chǎng)合,基于DSP的數(shù)據(jù)采集與處理系統(tǒng)現(xiàn)今得到了大量應(yīng)用。4)基于專用處理器的數(shù)據(jù)采集與處理系統(tǒng),這種系統(tǒng)集成度高,功能強(qiáng)大,但一般價(jià)格較高。它們是專為特定的應(yīng)用而設(shè)計(jì)的,一般來(lái)說(shuō)系統(tǒng)的可擴(kuò)展性不強(qiáng)。5)混合式的數(shù)據(jù)采集與處理系統(tǒng),這種系統(tǒng)一般為上下位機(jī)結(jié)構(gòu)。下位機(jī)一般由單片機(jī)及外圍器件構(gòu)成,它主要運(yùn)行在工業(yè)現(xiàn)場(chǎng),將采集來(lái)的數(shù)據(jù)處理之后通過(guò)標(biāo)準(zhǔn)總線(如RS-232,RS-485,CAN等)傳送給上位機(jī)進(jìn)行數(shù)據(jù)處理、分析和存儲(chǔ),它也可以接收來(lái)自上位機(jī)的指令去執(zhí)行控制操作。
從以上對(duì)數(shù)據(jù)采集系統(tǒng)分類可知,對(duì)于以單片機(jī)為核心的系統(tǒng),由于混合式的系統(tǒng)配置靈活,易構(gòu)成各種大中型測(cè)控系統(tǒng)。擴(kuò)展性強(qiáng),只要具有統(tǒng)一的總線接口,上、下位機(jī)就可以有多種組合方式。同時(shí)上位機(jī)有微機(jī)、單片機(jī)系統(tǒng)構(gòu)成,可以對(duì)下位機(jī)進(jìn)行管理或?qū)ο挛粰C(jī)發(fā)來(lái)的數(shù)據(jù)進(jìn)行計(jì)算,通過(guò)總線發(fā)出控制指令或計(jì)算結(jié)果送還下位機(jī)。基于如上考慮,本系統(tǒng)設(shè)計(jì)的工作就是設(shè)計(jì)一個(gè)以單片機(jī)STC90C58為核心處理器、STC90C58內(nèi)部自帶的八路十位A/D轉(zhuǎn)換、串口通信、高精度信號(hào)調(diào)理電路構(gòu)成的串行數(shù)據(jù)采集傳輸系統(tǒng),使它能充分利用上位機(jī)對(duì)下位機(jī)具有良好的事務(wù)管理能力,并可應(yīng)用于通用數(shù)據(jù)采集處理系統(tǒng)。圖1為下位機(jī)硬件方框圖。

圖1 硬件方框圖
由圖1可知本系統(tǒng)共分為6大部分組成:
a.傳感器:將被測(cè)量轉(zhuǎn)換成電信號(hào)。
b.信號(hào)調(diào)理電路:將傳過(guò)來(lái)的測(cè)量信號(hào)進(jìn)行適當(dāng)放大或衰減,轉(zhuǎn)換成A/D轉(zhuǎn)換能識(shí)別的信號(hào)幅度,且增益能夠受單片機(jī)控制,實(shí)現(xiàn)單片機(jī)量程選擇。
c.AD轉(zhuǎn)換:將模擬量測(cè)量數(shù)據(jù)進(jìn)行數(shù)字化,能夠讓單片機(jī)進(jìn)行處理和向上位機(jī)PC機(jī)傳輸。
d.單片機(jī)控制電路:能根據(jù)上位機(jī)發(fā)送的命令對(duì)AD轉(zhuǎn)換電路做出控制處理。
e.RS232:TTL電平與PC機(jī)串行數(shù)據(jù)電平互轉(zhuǎn)。
f.報(bào)警顯示:主要負(fù)責(zé)對(duì)A/D狀態(tài)顯示,及能夠根據(jù)設(shè)定值自動(dòng)報(bào)警顯示。
系統(tǒng)功能設(shè)計(jì):
根據(jù)實(shí)際需要,決定設(shè)計(jì)8通道的數(shù)據(jù)采集器,8個(gè)通道可以單獨(dú)采集不同的物理量,也可以采集相同的物理量。選擇哪幾個(gè)通道進(jìn)行采集是由用戶決定的,用戶可以任意選擇不同的通道進(jìn)行采集。每個(gè)通道可以獨(dú)立的設(shè)定輸入量程(輸入量程是與增益一一對(duì)應(yīng)的)。
由于傳感器的規(guī)格千奇百態(tài),感應(yīng)出的信號(hào)的強(qiáng)弱也不一,所以必須設(shè)計(jì)信號(hào)調(diào)理電路,且設(shè)計(jì)時(shí)就應(yīng)該考慮到能夠適應(yīng)多種傳感器要求,即信號(hào)調(diào)理電路應(yīng)具有增益調(diào)節(jié)功能。
該數(shù)據(jù)采集系統(tǒng)的下位機(jī)軟件主要負(fù)責(zé)實(shí)現(xiàn)單片機(jī)控制功能實(shí)現(xiàn),接收上位機(jī)指令、A/D轉(zhuǎn)換、報(bào)警與運(yùn)行狀態(tài)顯示、通道選擇、增益控制、硬件看門狗、發(fā)送采集數(shù)據(jù)給上位PC機(jī)等功能。
下位機(jī)軟件流程如圖2所示。

圖2 軟件流程圖
本系統(tǒng)通信采用串行中斷方式,圖3為串行中斷流程圖。

圖3 串行通信中斷流程圖
該數(shù)據(jù)采集系統(tǒng)上位PC機(jī)主要完成通道控制、采集控制、人機(jī)界面、數(shù)據(jù)存儲(chǔ)、波形顯示、數(shù)據(jù)分析、打印等功能。上位機(jī)利用Visual Basic 6.0編程。用VB6.0開(kāi)發(fā)串行通信程序有兩種方法,一種是利用Windows的API函數(shù);另一種采用VB6.0的通信控件MSComm。本系統(tǒng)采用MSComm事件驅(qū)動(dòng)方式進(jìn)行串口通信設(shè)計(jì),設(shè)計(jì)了上位機(jī)通信界面,設(shè)置命令按鈕,如接收、設(shè)置、存儲(chǔ)、瀏覽數(shù)據(jù);設(shè)置信息窗口,用于輸入需從下位機(jī)讀取的記錄個(gè)數(shù)和用于顯示下位機(jī)發(fā)送來(lái)的數(shù)據(jù)等;進(jìn)行數(shù)據(jù)通信的單片機(jī)和串行通信口的選擇通過(guò)兩組單選按鈕完成。在接收命令按鈕的Click事件中,將通信指令通過(guò)串行口發(fā)送給下位機(jī)。界面如圖4所示。

圖4 上位機(jī)界面圖
本設(shè)計(jì)方案可實(shí)現(xiàn)上下位機(jī)的通信,上位機(jī)能夠?qū)ο挛粰C(jī)進(jìn)行指令控制,以及接收下位機(jī)發(fā)送的數(shù)據(jù);下位機(jī)根據(jù)上位機(jī)發(fā)送的指令進(jìn)行控制數(shù)據(jù)采集。本系統(tǒng)可實(shí)時(shí)、非實(shí)時(shí)數(shù)據(jù)采集、數(shù)據(jù)分析和存儲(chǔ),可以獲得穩(wěn)定、可靠的數(shù)據(jù)采集及通信。
[1]張淑清,姜萬(wàn)錄.單片微型計(jì)算機(jī)接口技術(shù)及其應(yīng)用[M].北京:國(guó)防工業(yè)出版社,1999,1-38.
[2]馮建華,趙亮.單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)與產(chǎn)品開(kāi)發(fā)[M].北京:人民郵電出版社,2000,89-100.