文獻標識碼: A
文章編號: 0258-7998(2014)10-0049-04
0 引言
數據采集是指從傳感器和其他待測設備等模擬和數字被測單元中自動采集非電量或者電量信號,送到上位機中進行分析、處理。傳統數據采集系統大部分是基于有線的通用微型計算機數據采集系統。雖然有線數據采集系統采集精度高,能夠實現同步數據采集,但也存在布線繁瑣、耗材多、造價高、功耗大、擴展性能差等不足之處。本設計針對有線數據采集系統的不足,在保證數據的同步采集和允許誤差范圍前提下,提出了以單片機C8051F020微處理器為核心的無線分布式同步數據采集系統。
1 系統方案設計
本分布式無線同步數據采集系統的設計包括通信控制中心與多個無線數據采集單元,系統總體框圖如圖1所示。通信控制中心主要由上位機和無線模塊組成,無線模塊與上位機之間通過USB接口連接。整個系統由上位機控制,可以遠程實時配置系統參數,控制無線數據采集單元實現數據的采集、接收、存儲和處理。
2 系統硬件設計
由圖1可知,系統硬件電路設計主要包括通信控制電路和無線數據采集單元的設計。
2.1 通信電路控制電路設計
通信控制電路的主要功能是將上位機發出的控制命令轉發給各無線數據采集單元,并接收無線數據采集單元回傳的數據,發送到上位機進行數據后期處理。系統通信電路主要由上位機與無線模塊之間的通信電路設計以及無線通信模塊與各無線數據采集單元之間的通信電路設計兩部分組成。
2.1.1 上位機與無線模塊電路設計
上位機與無線模塊之間采用USB轉串口的通信連接,通過Silicon Laboratories公司的USB接口與RS232串口轉換器CP2102芯片實現[1]。USB轉RS-232串口電路設計如圖2所示。通過轉換電路,實現了USB端口的數據傳輸端(D-和D+)與RS-232串口的數據通信端(TXD和RXD)之間的通信。
無線模塊選用美國DIGI公司的XBee-PRO RF模塊,該模塊操作在ISM 2.4 GHz,低功耗,低成本,高性能,而且使用簡易。數據輸出DOUT接至CP2102的串口接收RXD,數據輸入DIN連接至CP2102的串口發送TXD。電路設計如圖3所示。
2.1.2 無線模塊與無線模塊通信
在數據采集系統中使用無線模塊的透明傳輸模式,它起到替代串口線的作用。所有通過DIN引腳接收到的UART數據依次由RF模塊發送。收到RF數據時,數據被直接送出到DOUT腳。相鄰無線模塊之間可以自組網,以此拓寬無線通信的傳輸距離[2]。
2.2 無線數據采集單元設計
無線數據采集單元電路設計框圖如圖4所示,主控制單元為無線數據采集單元的核心,它控制采集系統的A/D轉換、GPS模塊和無線模塊。GPS模塊為系統提供位置信息、時鐘信息和秒脈沖PPS信號,與主控單元通過異步串行端口進行通信,實現時鐘、位置信息的接收,秒脈沖輸出PPS引腳接入主控單元的外部中斷源/INT0,控制無線數據采集系統同步采集[3]。
3 系統軟件設計
為了使程序編寫、調試方便以及結構清晰,軟件開發采用模塊化設計,整個數據采集系統主要包括以下幾個模塊:主程序設計、數據采集程序設計、GPS程序設計和無線通信程序設計[4]。
3.1 主程序設計
系統主程序流程框圖如圖5所示。系統上電進入初始化后,處于等待上位機下發命令狀態。各數據采集單元收到上位機下發的命令后進行ID號匹配,只有ID號與上位機下發的ID號匹配才開始解析上位機下發的命令。解析成功之后執行相應的指令。
3.2 數據采集程序設計
系統數據采集部分由地震檢波器將地震波信號轉換成電信,經過調理電路放大、濾波等處理后,經差分輸入接入A/D轉換,進行模數轉換得到數字信號。A/D采集程序流程圖如圖6所示。系統通過GPS模塊的PPS信號使個數據采集單元進行同步采集。
3.3 GPS程序設計
GPS數據接收程序流程圖如圖7所示,圖中GPS_RX為GPS接收數據計數器。當無線數據采集單元接收到上傳GPS命令時,主程序中使能GPS數據接收,串口0中斷服務程序中接收GPS數據,首先檢測GPS數據幀頭開始“$”,檢測到“$”后,開始接收串口0的數據,接收到6個數據時,判斷數據幀頭其余數據是否正確,正確的數據幀頭為“GPGGA”。如果數據幀頭接收正確,則其后的數據幀均接收到接收緩存數組;如果數據幀頭接收不正確,則清零GPS接收數據計數器GPS_RX,重新開始GPS數據接收。NMEA-0183標準語句格式幀結束為CR+LF,當接收到0x0d和0x0a時,說明GPS數據已接收完。
3.4 無線通信程序設計
為了保證無線數據采集單元能接收到上位機發送的命令,串口1一直處于打開狀態。命令接收程序流程圖如圖8所示。上位機下發命令為8 B,其中前4個字節為數據幀頭“$DZD”,第5個字節為ID號,第6個字節為命令字,第7、8個字節為參數。如果數據幀頭接收正確,則其后的數據幀均接收到串口1接收數據數組;如果數據幀頭不正確,則清零命令接收計數器CMD_RX,重新開始命令接收[5]。
無線數據采集單元上傳的數據包括GPS數據、數據采集單元狀態數據和有效數據。主控單元通過串口1將要上傳的數據發送給無線模塊,無線模塊轉發給上位機。GPS數據、狀態數據和有效數據上傳程序設計思想類似。
上傳回上位機的有效數據包含觸發坐標、起始時刻和有效數據,3組數據之間通過回車符分開,3組數據的幀頭分別為“$CFZB”、“$QSSK”和“$YXSJ”, 每組數據幀頭后增加ID號,再發送有效數據。
4 系統測試
無線同步數據采集系統的測試分為兩個階段進行。第一個階段為電路板測試,測試系統各部分功能是否正常;第二個階段為現場測試,測試系統在真實地理環境中數據采集的精確度、穩定性和可靠性。
4.1 電路板測試
系統單個無線數據采集單元調試中,測試電路ID號為2號,系統上電后處于待機狀態,調試軟件選擇COM口,配置波特率為57 600 b/s,測試上傳GPS和查詢狀態命令結果如圖9所示,左側窗口為ASCII碼顯示,右側窗口為16進制顯示。通過調試端口發送上傳GPS命令, 命令16進制顯示為“24 44 5A 44 02 12 00 00”,收到上傳的GPS數據,包括ID號02、時間信息、經緯度信息等;再發送查詢狀態命令“24 44 5A 44 02 44 00 00”,返回02號單元處于12命令狀態。通過測試1說明,通信控制中心與無線數據采集單元之間的無線通信正常,無線數據采集單元上傳GPS命令和查詢狀態命令工作正常。
系統采集數據的測試結果如圖10所示。等待GPS模塊信號穩定后,發送啟動采集命令“24 44 5A 44 02 77 00 00”,再發送查詢狀態命令,返回數據表明02號單元處于采集狀態77,狀態正確,等待震動觸發。若沒有觸發信號,則發送上傳有效數據命令,返回數據“NODATA”。若敲擊02號單元產生震動信號,則發送上傳有效數據命令,返回起始時刻,觸發坐標,還有200個(系統默認上傳有效數據個數為200)有效數據。通過測試2說明系統采集部分工作正常。
系統設置參數的測試結果如圖11所示。上位機發送有效數據長度設置命令“24 44 5A 44 02 66 00 64”,命令中66為命令字,參數為2 B,修改有效數據長度為100,十六進制表示為64。接著查詢狀態,返回02號單元處于參數設置狀態66。然后再進行數據采集,觀察有效數據長度是否已修改,由返回數據可見,有效數據長度參數設置成功,返回有效數據100個。通過測試3說明系統參數設置程序工作正常,能夠實現參數的遠程配置。
4.2 現場測試
系統進行了現場實地測試,測試多個無線數據采集單元能否實現數據的同步采集。將6個無線數據采集單元在1 m范圍內排布成圓形,以保證無線數據采集單元能夠采集到震動信號。通信控制中心距離無線數據采集單元5 m的地方。實驗開始后,首先打開電源開關,上傳GPS信號,配置比較電壓值為100,有效數據長度為200。發送采集數據命令,查詢系統狀態,6個無線數據采集單元處于采集狀態,在圓形中央人工激發震動,上位機下發上傳有效數據命令,接收有效數據。將接收的有效數據利用上位機測試軟件繪制成波形,如圖12所示。
分析采集數據波形圖可知,6個無線數據采集單元的有效數據都接收完整,大于比較電壓的數據為震動觸發數據,在圖中為波形起伏部分。波形左側為單元ID號,起始時刻和觸發坐標。采集單元距離震源遠近不同,從圖中數據可以看出觸發坐標相差1~2個點。6個采集單元的起始時刻完全相同,都為“24907”,說明起始時刻為2點49分07秒,07秒6個單元同步采集數據。為了驗證系統的可靠性,現場做了多次觸發采集,結果基本相同。說明系統能夠完成數據的無線同步采集,達到了預期設計目標。
5 結論
實驗證明,該分布式無線同步數據采集系統能夠達到數據的同步采集和數據的無線傳輸。系統工作穩定,操作簡單,具有較高的工程使用價值,給基于分布式的系統設計提供了參考。
參考文獻
[1] 劉妍,馬艷娥,陳思.一種基于單片機串口的數據采集系統設計[J].電子測試,2011,9(9):59-60.
[2] 詹新生,張江偉.基于AT89S51的無線數據采集系統設計[J].實驗室研究與探索,2011,30(4):201-202.
[3] 堯鵬,謝志江,余中云.一種高精度數據采集無線傳輸系統硬件設計[J].重慶大學學報(自然科學版),2006,29(4):9-10.
[4] 陳湘平,房莉.基于ZigBee的數據采集系統設計[J].測控自動化,2009,25(4-1):99-100.
[5] 朱衛華.基于單片機射頻收發器的無線數據采集系統設計[J].南華大學學報(理工版),2003,17(4):51-52.