八通道串口數(shù)據(jù)采集與處理虛擬儀器系統(tǒng)設(shè)計(jì)
掃描二維碼
隨時隨地手機(jī)看文章
摘要:為解決TI公司提供的數(shù)據(jù)采集卡的成本過高問題,設(shè)計(jì)一套代替NI采集卡的數(shù)據(jù)采集系統(tǒng)。前端采集下位機(jī)硬件部分為基于LPC2378處理器的數(shù)據(jù)采集電路板,采用雙緩存技術(shù)存儲數(shù)據(jù);上位機(jī)軟件部分用Labview8.5虛擬儀器設(shè)計(jì)平臺編寫,采用循環(huán)和事件結(jié)構(gòu),界面友好,操作簡便,實(shí)現(xiàn)了八通道數(shù)據(jù)的采集與處理。經(jīng)實(shí)際運(yùn)行測試證明,具有數(shù)據(jù)同時采集、實(shí)時顯示、存儲與管理、信號處理等功能,保證了數(shù)據(jù)準(zhǔn)確性,同時采集設(shè)備的成本下降2~5倍。
關(guān)鍵詞:無線傳感器網(wǎng)絡(luò);數(shù)據(jù)采集;串口通信;LPC2378;Labview8.5
無線傳感器網(wǎng)絡(luò)是近幾年國際研究的熱點(diǎn)問題,而數(shù)據(jù)采集又是無線傳感器網(wǎng)絡(luò)系統(tǒng)性能評估、應(yīng)用的基礎(chǔ)環(huán)節(jié)。在數(shù)據(jù)采集過程中應(yīng)用虛擬儀器可以盡可能地縮短數(shù)據(jù)采集的時間,同時降低實(shí)驗(yàn)成本,因此虛擬儀器在測控領(lǐng)域得到越來越廣泛的應(yīng)用。傳統(tǒng)的前端數(shù)據(jù)采集設(shè)備都是,TI公司的數(shù)據(jù)采集卡,成本高且維修不便。本系統(tǒng)下位機(jī)采用NXP公司LPC2378為依托的數(shù)據(jù)采集電路板,上位機(jī)操作系統(tǒng)基于La-bview8.5編寫,通過串口通信實(shí)現(xiàn)了數(shù)據(jù)的實(shí)時采集,可以對采集信號進(jìn)行處理分析并顯示。
l 系統(tǒng)設(shè)計(jì)
數(shù)據(jù)采集系統(tǒng)分為下位機(jī)和上位機(jī)2部分,二者通過驅(qū)動程序組成采集系統(tǒng)。下位機(jī)是指直接控制設(shè)備獲取設(shè)備狀況的計(jì)算機(jī),一般是PLC/單片機(jī)之類;上位機(jī)是可以直接發(fā)出操控命令的計(jì)算機(jī),一般是PC,屏幕上顯示各種信號變化,如圖l所示。圖中程序部分采用Labview來實(shí)現(xiàn)。在數(shù)據(jù)采集之前,先對下位機(jī)采集板卡進(jìn)行初始化,其中處理器Buffer是下位機(jī)采集存儲的重要環(huán)節(jié)??梢圆捎猛獠坑|發(fā)(比較精確),也可采用軟件觸發(fā)(容易實(shí)現(xiàn))。由于上位機(jī)數(shù)據(jù)處理階段要對采集到的一個周期的數(shù)據(jù)進(jìn)行處理,所以系統(tǒng)采用軟件觸發(fā),每個周期采樣l024點(diǎn)。
1.1 下位機(jī)系統(tǒng)
下位機(jī)系統(tǒng)為數(shù)據(jù)采集硬件平臺,主要包括采集卡前端設(shè)備即傳感器電路、核心處理器(即算法實(shí)現(xiàn)電路)、電源模塊電路和通信模塊電路。
1.1.1 采集卡前端設(shè)備
前端傳感器采用飛思卡爾MMA7260加速度傳感器。相比于老式線圈式振動傳感器,MEMS傳感器具有量程大、不易溢出、受外界氣候因素影響較小等優(yōu)點(diǎn)。采集原理圖如圖2所示,在采集信號放大之前進(jìn)行抗混疊濾波,有效濾除了高頻干擾。需要注意的是,探頭需要提供+5 V供電才能穩(wěn)定工作。本系統(tǒng)采集傳感器Z軸數(shù)據(jù),對探頭安裝位置沒有特殊要求;若要采集X軸數(shù)據(jù),必須注意探頭X軸方向與地面平行,否則信號會發(fā)生畸變。
1.1.2 核心處理器
從價格、操作系統(tǒng)、接口類型、內(nèi)存大小等條件考慮,該系統(tǒng)設(shè)計(jì)的處理器采用LPC2378,它是一款基于ARM的微處理器,包含10/100 Ethernet MAC、USB 2.0全速接口、4個UART、2路CAN通道、1個SPI接口、2個同步串行端口(SSP)、3個I2C接口、1個I2S接口和MiniBus(8位數(shù)據(jù)/16位地址并行的總線)。工作頻率為72 MHz,ARM局部總線上有32 KB的SRAM,可以進(jìn)行高性能CPU訪問和簡單的算法實(shí)現(xiàn)。
1.1.3 電源模塊
考慮到MEMS傳感器最佳工作電壓為5 V,所以系統(tǒng)采用ZY2405WHBD-3W型DC-DC變換器,輸入電壓9~36V,輸出電壓為5V。其他部分主要起穩(wěn)壓作用,其電源模塊電路如圖3所示。
1.1.4 通信模塊
系統(tǒng)采用串口通信。利用處理器內(nèi)部的10位D/A轉(zhuǎn)換器,將采集到的模擬信號轉(zhuǎn)換成數(shù)字信號,再經(jīng)過調(diào)理電路后送由MiniBus采用RS2-32協(xié)議送達(dá)上位機(jī)。另外采集板集成了一塊單CAN高速隔離收發(fā)器CTMl050,可以通過網(wǎng)口通信。串口通信需注意的問題是轉(zhuǎn)換電平,數(shù)據(jù)采集端供電電平為+5 V,而處理器能接受的電平是+3.3 V,因此系統(tǒng)采用MAX3221電平轉(zhuǎn)換器,以達(dá)到處理器要求。另外系統(tǒng)上位機(jī)串口名稱與下位機(jī)一定要設(shè)置為同一名稱,否則數(shù)據(jù)不能成功送到上位機(jī),如圖4所示。
1.2 上位機(jī)系統(tǒng)設(shè)計(jì)
數(shù)據(jù)流程如圖5所示,數(shù)據(jù)經(jīng)下位機(jī)采集處理后,由通信模塊通過串口發(fā)送到上位機(jī),上位機(jī)主要包括數(shù)據(jù)讀取、數(shù)據(jù)驗(yàn)證、數(shù)據(jù)處理及數(shù)據(jù)存儲4部分。
1.2.1 數(shù)據(jù)讀取
即虛擬儀器設(shè)備串口初始化,包括:串口名稱設(shè)置、超時設(shè)置、波特率設(shè)置、數(shù)據(jù)位設(shè)置、奇偶校驗(yàn)設(shè)置,等等。本系統(tǒng)采用的設(shè)置為:超時l000 ms;波特率115200;數(shù)據(jù)位為8位;無奇偶校驗(yàn);其他采用默認(rèn)值。
1.2.2 數(shù)據(jù)驗(yàn)證
數(shù)據(jù)驗(yàn)證包括數(shù)據(jù)讀取、判斷是否是有效數(shù)據(jù)以及數(shù)據(jù)報(bào)頭是否正確。數(shù)據(jù)報(bào)頭為8個FE,然后緊跟數(shù)據(jù)包。程序判斷讀取8個FE時開始讀數(shù)并顯示。
1.2.3 數(shù)據(jù)處理
系統(tǒng)為8通道,一次循環(huán)讀取16位的數(shù)組,將數(shù)組第O個元素作為第1通道的低位,第1個元素作為第l通道的高位……,第15個元素作為第八通道的高位,分別顯示:當(dāng)滿足采樣點(diǎn)位數(shù)時,置位重新讀取數(shù)據(jù)。在顯示之前對數(shù)據(jù)進(jìn)行預(yù)處理:去直流、峰值計(jì)算、濾波等等,由于Labview程序框圖中有Matlab腳本文件,所以可以和Matlab混合編程,在Labview腳本框中直接寫Matlab代碼。由于程序運(yùn)行時要調(diào)用Matlab控制臺,所以混合編程要求控制機(jī)必須裝載Matlab軟件。
1.2.4 數(shù)據(jù)存儲
當(dāng)點(diǎn)擊采集數(shù)據(jù)按鈕時,系統(tǒng)提示選擇存儲路徑,并存儲為后綴名為‘.lvm’的二進(jìn)制測量文件。上位機(jī)主程序如圖6所示。
2 用戶界面
將8個MEMS傳感器并排,然后拍擊桌面的信號波形圖。8個通道可獨(dú)立使用,如直接一路傳感器,其他通道數(shù)據(jù)都為0??墒謩痈拇诿Q、波特率、停止位、奇偶校驗(yàn)、流控制、傳輸數(shù)據(jù)位和顯示信號線的線性、顏色,界面友好??筛鶕?jù)需求添加峰值顯示、頻譜顯示,傅里葉變換等復(fù)雜信號處理內(nèi)容。通道l至通道8信號波形分別用:紅、橙、黃、綠、藍(lán)、靛、紫、洋紅顯示。
3 系統(tǒng)特色
1)系統(tǒng)采用了雙緩沖技術(shù),即將計(jì)算機(jī)Buffer分為2個相同區(qū)域Bufferl和Buffer2,數(shù)據(jù)先存往Bufferl,當(dāng)Bufferl存滿時,標(biāo)志位置位,數(shù)據(jù)繼續(xù)存往Buffer2,同時將Bufferl中的數(shù)據(jù)送往處理器進(jìn)行處理,完畢后,Bufferl存數(shù),Buffer2發(fā)送,如此循環(huán),注意正確設(shè)置存儲速度和處理速度之間的關(guān)系,以保證數(shù)據(jù)無遺漏。
2)Labview編程與Matlab編程相結(jié)合進(jìn)行數(shù)據(jù)處理分析。對于Labview中沒有的數(shù)據(jù)處理功能可直接調(diào)用Matlab腳本文件,功能更加強(qiáng)大。
3)上位機(jī)程序采用條件循環(huán)結(jié)構(gòu)和事件結(jié)構(gòu)設(shè)置,前面板和程序框圖同時執(zhí)行,最大程度地節(jié)省了CPU資源。界面友好,具有良好的可操作性。
4 結(jié)論
本系統(tǒng)主要用于實(shí)驗(yàn)數(shù)據(jù)的采集,由于采用串口通信,所以設(shè)備布設(shè)簡便,方便操作。經(jīng)實(shí)際測試證明系統(tǒng)性能穩(wěn)定,信號失真度較小,很好替代了NI公司數(shù)據(jù)采集卡:同時可擴(kuò)展性強(qiáng),修改板子處理器ARM程序,采用CAN通信后,結(jié)合算法,即可用于工程需要,實(shí)時監(jiān)測待控領(lǐng)域。