八通道串口數(shù)據(jù)采集與處理虛擬儀器系統(tǒng)設(shè)計
掃描二維碼
隨時隨地手機(jī)看文章
無線傳感器網(wǎng)絡(luò)是近幾年國際研究的熱點問題,而數(shù)據(jù)采集又是無線傳感器網(wǎng)絡(luò)系統(tǒng)性能*估、應(yīng)用的基礎(chǔ)環(huán)節(jié)。在數(shù)據(jù)采集過程中應(yīng)用虛擬儀器可以盡可能地縮短數(shù)據(jù)采集的時間,同時降低實驗成本,因此虛擬儀器在測控領(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編寫,通過串口通信實現(xiàn)了數(shù)據(jù)的實時采集,可以對采集信號進(jìn)行處理分析并顯示。
l 系統(tǒng)設(shè)計
數(shù)據(jù)采集系統(tǒng)分為下位機(jī)和上位機(jī)2部分,二者通過驅(qū)動程序組成采集系統(tǒng)。下位機(jī)是指直接控制設(shè)備獲取設(shè)備狀況的計算機(jī),一般是PLC/單片機(jī)之類;上位機(jī)是可以直接發(fā)出操控命令的計算機(jī),一般是PC,屏幕上顯示各種信號變化,如圖l所示。圖中程序部分采用Labview來實現(xiàn)。在數(shù)據(jù)采集之前,先對下位機(jī)采集板卡進(jìn)行初始化,其中處理器Buffer是下位機(jī)采集存儲的重要環(huán)節(jié)??梢圆捎猛獠坑|發(fā)(比較精確),也可采用軟件觸發(fā)(容易實現(xiàn))。由于上位機(jī)數(shù)據(jù)處理階段要對采集到的一個周期的數(shù)據(jù)進(jìn)行處理,所以系統(tǒng)采用軟件觸發(fā),每個周期采樣l024點。
1.1 下位機(jī)系統(tǒng)
下位機(jī)系統(tǒng)為數(shù)據(jù)采集硬件平臺,主要包括采集卡前端設(shè)備即傳感器電路、核心處理器(即算法實現(xiàn)電路)、電源模塊電路和通信模塊電路。
1.1.1 采集卡前端設(shè)備
前端傳感器采用飛思卡爾MMA7260加速度傳感器。相比于老式線圈式振動傳感器,MEMS傳感器具有量程大、不易溢出、受外界氣候因素影響較小等優(yōu)點。采集原理圖如圖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è)計的處理器采用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訪問和簡單的算法實現(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è)計
數(shù)據(jù)流程如圖5所示,數(shù)據(jù)經(jīng)下位機(jī)采集處理后,由通信模塊通過串口發(fā)送到上位機(jī),上位機(jī)主要包括數(shù)據(jù)讀取、數(shù)據(jù)驗證、數(shù)據(jù)處理及數(shù)據(jù)存儲4部分。
1.2.1 數(shù)據(jù)讀取
即虛擬儀器設(shè)備串口初始化,包括:串口名稱設(shè)置、超時設(shè)置、波特率設(shè)置、數(shù)據(jù)位設(shè)置、奇偶校驗設(shè)置,等等。本系統(tǒng)采用的設(shè)置為:超時l000 ms;波特率115200;數(shù)據(jù)位為8位;無奇偶校驗;其他采用默認(rèn)值。
1.2.2 數(shù)據(jù)驗證
數(shù)據(jù)驗證包括數(shù)據(jù)讀取、判斷是否是有效數(shù)據(jù)以及數(shù)據(jù)報頭是否正確。數(shù)據(jù)報頭為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)滿足采樣點位數(shù)時,置位重新讀取數(shù)據(jù)。在顯示之前對數(shù)據(jù)進(jìn)行預(yù)處理:去直流、峰值計算、濾波等等,由于Labview程序框圖中有Matlab腳本文件,所以可以和Matlab混合編程,在Labview腳本框中直接寫Matlab代碼。由于程序運(yùn)行時要調(diào)用Matlab控制臺,所以混合編程要求控制機(jī)必須裝載Matlab軟件。
1.2.4 數(shù)據(jù)存儲
當(dāng)點擊采集數(shù)據(jù)按鈕時,系統(tǒng)提示選擇存儲路徑,并存儲為后綴名為‘.lvm’的二進(jìn)制測量文件。上位機(jī)主程序如圖6所示。
2 用戶界面
將8個MEMS傳感器并排,然后拍擊桌面的信號波形圖。8個通道可獨(dú)立使用,如直接一路傳感器,其他通道數(shù)據(jù)都為0。可手動更改串口名稱、波特率、停止位、奇偶校驗、流控制、傳輸數(shù)據(jù)位和顯示信號線的線性、顏色,界面友好??筛鶕?jù)需求添加峰值顯示、頻譜顯示,傅里葉變換等復(fù)雜信號處理內(nèi)容。通道l至通道8信號波形分別用:紅、橙、黃、綠、藍(lán)、靛、紫、洋紅顯示。
3 系統(tǒng)特色
1)系統(tǒng)采用了雙緩沖技術(shù),即將計算機(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ù)據(jù)的采集,由于采用串口通信,所以設(shè)備布設(shè)簡便,方便操作。經(jīng)實際測試證明系統(tǒng)性能穩(wěn)定,信號失真度較小,很好替代了NI公司數(shù)據(jù)采集卡:同時可擴(kuò)展性強(qiáng),修改板子處理器ARM程序,采用CAN通信后,結(jié)合算法,即可用于工程需要,實時監(jiān)測待控領(lǐng)域。