新聞中心

        EEPW首頁 > 測試測量 > 設計應用 > 八通道串口數據采集與處理虛擬儀器系統設計

        八通道串口數據采集與處理虛擬儀器系統設計

        作者: 時間:2012-05-23 來源:網絡 收藏
        1.1.4 通信模塊

        本文引用地址:http://www.104case.com/article/193840.htm

          系統采用串口通信。利用處理器內部的10位D/A轉換器,將采集到的模擬信號轉換成數字信號,再經過調理電路后送由MiniBus采用RS2-32協議送達上位機。另外采集板集成了一塊單CAN高速隔離收發器CTMl050,可以通過網口通信。串口通信需注意的問題是轉換電平,端供電電平為+5 V,而處理器能接受的電平是+3.3 V,因此系統采用MAX3221電平轉換器,以達到處理器要求。另外系統上位機串口名稱與下位機一定要設置為同一名稱,否則數據不能成功送到上位機,如圖4所示。

          

          1.2 上位機

          數據流程如圖5所示,數據經下位機采集處理后,由通信模塊通過串口發送到上位機,上位機主要包括數據讀取、數據驗證、數據處理及數據存儲4部分。

          

          1.2.1 數據讀取

          即設備串口初始化,包括:串口名稱設置、超時設置、波特率設置、數據位設置、奇偶校驗設置,等等。本系統采用的設置為:超時l000 ms;波特率115200;數據位為8位;無奇偶校驗;其他采用默認值。

          1.2.2 數據驗證

          數據驗證包括數據讀取、判斷是否是有效數據以及數據報頭是否正確。數據報頭為8個FE,然后緊跟數據包。程序判斷讀取8個FE時開始讀數并顯示。

          1.2.3 數據處理

          系統為8通道,一次循環讀取16位的數組,將數組第O個元素作為第1通道的低位,第1個元素作為第l通道的高位……,第15個元素作為第八通道的高位,分別顯示:當滿足采樣點位數時,置位重新讀取數據。在顯示之前對數據進行預處理:去直流、峰值計算、濾波等等,由于Labview程序框圖中有Matlab腳本文件,所以可以和Matlab混合編程,在Labview腳本框中直接寫Matlab代碼。由于程序運行時要調用Matlab控制臺,所以混合編程要求控制機必須裝載Matlab軟件。

          1.2.4 數據存儲

          當點擊采集數據按鈕時,系統提示選擇存儲路徑,并存儲為后綴名為‘.lvm’的二進制測量文件。上位機主程序如圖6所示。

          

          2 用戶界面

          將8個MEMS傳感器并排,然后拍擊桌面的信號波形圖。8個通道可獨立使用,如直接一路傳感器,其他通道數據都為0??墒謩痈拇诿Q、波特率、停止位、奇偶校驗、流控制、傳輸數據位和顯示信號線的線性、顏色,界面友好??筛鶕枨筇砑臃逯碉@示、頻譜顯示,傅里葉變換等復雜信號處理內容。通道l至通道8信號波形分別用:紅、橙、黃、綠、藍、靛、紫、洋紅顯示。

          3 系統特色

          1)系統采用了雙緩沖技術,即將計算機Buffer分為2個相同區域Bufferl和Buffer2,數據先存往Bufferl,當Bufferl存滿時,標志位置位,數據繼續存往Buffer2,同時將Bufferl中的數據送往處理器進行處理,完畢后,Bufferl存數,Buffer2發送,如此循環,注意正確設置存儲速度和處理速度之間的關系,以保證數據無遺漏。

          2)Labview編程與Matlab編程相結合進行數據處理分析。對于Labview中沒有的數據處理功能可直接調用Matlab腳本文件,功能更加強大。

          3)上位機程序采用條件循環結構和事件結構設置,前面板和程序框圖同時執行,最大程度地節省了CPU資源。界面友好,具有良好的可操作性。

          4 結論

          本系統主要用于實驗數據的采集,由于采用串口通信,所以設備布設簡便,方便操作。經實際測試證明系統性能穩定,信號失真度較小,很好替代了NI公司卡:同時可擴展性強,修改板子處理器ARM程序,采用CAN通信后,結合算法,即可用于工程需要,實時監測待控領域。


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 岗巴县| 巍山| 绥江县| 房产| 扬州市| 长阳| 万山特区| 余姚市| 阿图什市| 长沙市| 延庆县| 长垣县| 龙门县| 定兴县| 龙岩市| 大厂| 宁安市| 衡山县| 镇平县| 汶川县| 南充市| 隆子县| 延庆县| 理塘县| 洱源县| 平乐县| 茂名市| 武宁县| 当涂县| 宁晋县| 册亨县| 湖口县| 承德县| 明溪县| 手游| 十堰市| 沙湾县| 翼城县| 台州市| 乃东县| 永昌县|