文獻標識碼: A
文章編號: 0258-7998(2013)12-0025-03
無線傳感器網絡WSN(Wireless Sensor Networks)是由部署在監測區域內的大量傳感器節點通過無線通信以自組織方式形成的以信息獲取為目的的網絡系統[1]。WSN具有強大的信息獲取功能,可以極大地擴展人們感知客觀世界的區域,提高人們認識客觀世界的能力,具有十分廣闊的應用前景。水下無線傳感器網絡UWSN(Underwater Wireless Sensor Networks)是無線傳感器網絡在海洋等水下環境中的應用特例[1],它繼承了無線傳感器網絡的許多成熟技術,最大區別在于通信方式的不同,WSN主要使用無線通信方式,而UWSN主要采用水聲通信方式[2-4]。
在無線傳感器網絡的某些應用環境中可能會存在短距離無線通信頻率共存或強電磁干擾,從而導致無線通信的不穩定甚至通信中斷。為解決以上問題,參考水下無線傳感器網絡所使用的水聲通信技術,提出了一種可用于無線傳感器網絡的短距離聲通信技術,在對相關理論進行研究的基礎上,設計了一種以ARM為主處理器、FPGA作為協處理器的具有短距離聲通信功能的傳感器節點,并進行了測試。
1 系統總體結構和實現原理
1.1 硬件系統結構
傳感器節點是無線傳感器網絡的基本組成單元,無線傳感器網絡是由數量眾多的傳感器節點通過自組織方式組成的通信網絡。傳感器節點通過所攜帶的某一種或多種傳感器來獲取外界特定的物理信息數據,所獲取的監測數據通過無線傳感器網絡上傳給用戶節點。該設計增加了聲通信作為協通信方式,設計出一種新型的傳感器節點,其結構框圖如圖1所示。該傳感器節點將射頻無線通信方式作為主通信方式,當遇到強電磁干擾不能正常通信時,可以使用聲通信作為協通信方式來進行通信。由該傳感器節點組成的無線傳感器網絡能夠很好地解決在某些特殊環境中的短距離無線通信“擁堵”或強電磁干擾所致的通信不穩定甚至通信中斷問題。
1.2 傳感器節點的聲通信實現原理
為在傳感器節點上實現短距離聲通信,聲通信模塊為設計的最重要部分。考慮到物理層的需要,設計聲通信模塊的原理框圖如圖2所示。該設計主要包括傳感器節點的處理器模塊(ARM)、協處理器模塊(FPGA)、放大模塊和換能器,通過這些模塊的協調工作來實現通過聲信號進行數據發送和接收。
發送數據時,CPU首先開啟A/D模塊,并通知控制邏輯準備發送數據,控制邏輯根據A/D模塊采集到的數據進行空閑信道評估,判斷信道是否空閑。如果信道空閑,則通知CPU可以發送數據,CPU將待發送數據發送到發送數據FIFO中,并使能D/A模塊。控制邏輯對接收到的數據進行編幀及差分編碼等一系列處理后,將數據發送給聲信號調制單元進行DPSK調制,D/A模塊將調制好的數據流轉換成模擬信號,經發送放大電路放大后驅動電聲換能器發送聲信號。
接收數據時,CPU先啟動控制邏輯和A/D模塊,控制邏輯根據A/D采集到的數據進行聲信道能量檢測,判斷聲信道中是否有其他節點在發送信號,若有則控制聲信號解調單元進行DPSK解調,經過計算獲取最終數據,并通知CPU準備接收解調數據。如果CPU不忙,則將數據發送到解調數據FIFO,CPU從FIFO中讀取接收到的數據。
2 硬件構成
傳感器節點中主要包括處理器模塊、無線通信模塊、換能器、放大模塊、傳感器模塊、存儲器模塊及供電模塊等。本文設計的短距離聲通信傳感器節點的重要部分為聲通信模塊,由處理器模塊、放大模塊及換能器組成。
2.1 處理器模塊
聲通信傳感器節點的處理器包括主處理器ARM和協處理器FPGA。主處理器使用的是意法半導體(ST)公司推出的基于ARM Cortex-M3的系列中最高配置芯片STM32F103ZE,負責對傳感器節點工作流程的控制和對監測數據的初步處理。該處理器片上集成了512 KB的Flash和64 KB的靜態SRAM,具有2個12位ADC可用來采集數據,具有實時性能優異、功耗控制方便、外設豐富、易于開發等優點[5-6]。協處理器采用可編程邏輯器件FPGA,主要用于聲通信的調制與解調,進行較為復雜的數據處理,如監測數據的壓縮等。使用Altera公司CycloneⅡ系列中的EP2C35F484,該型號FPGA芯片具有豐富的邏輯資源,有較多的I/O端口和大容量的內部RAM,能很好地滿足設計要求。
2.2 換能器
電聲換能器是完成電-聲轉換和聲-電轉換的器件。壓電式換能器在電聲轉換效率、頻率特性、體積、造價等方面都有一定的優勢。壓電換能器分為發射型換能器(蜂鳴器、揚聲器等)和接收型換能器(拾音器、微音器等)。該設計中傳聲換能器及發聲換能器均選用壓電式換能器來完成聲信號的發送和接收。
2.3 放大模塊
聲通信的放大模塊包括聲信號輸出放大電路和聲信號接收放大電路。同時聲信號的采集過程中存在環境噪聲的干擾,需要在放大完成之后加上帶通濾波電路,以去掉環境噪聲,得到系統所需要的聲信號。
由于壓電發聲換能器(壓電揚聲器)的驅動要求有高壓擺幅,而傳感器節點基本都采用電池供電,因此需要采用必要的升壓措施。設計中選擇了升壓型的D類放大器PAM8902。PAM8092還具有通過檢查INP的輸入信號大小來自動開啟或停止與信號放大相關電路的功能,可很好地節省電池能量。
傳感器節點間進行聲通信的過程中,節點間的距離不定,換能器接收到的聲信號比較微弱,需要對換能器轉換得到的微弱電信號進行放大,以方便后期的數字信號處理和信號的解調。設計采用了兩級放大,放大倍數接近1 000倍,第一級放大器選用AD623,放大倍數設為10倍,第二級選用放大器LM324,放大倍數設為100倍,根據實際測試結果,可以對放大倍數做進一步的調整。
2.4 電源管理模塊
鋰電池具有可重復充電、能量密度高、無記憶效應、放電平緩等優點,本設計使用3.7 V鋰離子電池供電。電源管理模塊是為了合理利用電能而設計的,根據傳感器節點的工作狀態,由處理器控制電源管理模塊開啟或關閉各個模塊的電源,實現對電能的管理。節點在設計時處理器平時采用低功耗模式,射頻模塊采用掉電模式,直到有數據處理或收發時激活各個模塊。
2.5 傳感器節點其他模塊
除了以上模塊,傳感器節點的硬件構成還包括無線通信模塊、傳感器模塊和存儲器模塊。
節點中無線通信模塊使用了單片收發且功耗低的nRF24L01芯片,它在2.4~2.5 GHz的世界通用ISM頻段工作。該芯片還具有自動應答和自動重發功能,能減少處理器的工作量[6]。
傳感器模塊根據無線傳感器網絡的應用目的而具體選擇。傳感器模塊將監測對象的物理信息轉化為模擬電信號,經過放大調理后進行A/D轉換得到數字信號,由處理器處理或存儲到存儲器。
處理器模塊內部的存儲器空間有限,為滿足大量數據的存儲,設計了存儲器模塊,選用存儲空間為256 KB×16的SRAM芯片IS61LV51216。
3 軟件設計
與聲通信相關的ARM程序(C程序)和FPGA中控制邏輯部分(VHDL程序)的工作流程都是根據傳感器節點的聲通信實現原理設計的。圖3為ARM程序的流程圖,圖4為FPGA控制邏輯部分的流程圖。
3.1 ARM程序設計
ARM程序主要包括發送數據和接收數據兩部分,是根據聲通信的實現原理來設計的,具體的工作流程如圖3所示。在程序的設計過程中充分考慮了傳感器節點對電能的合理利用,僅在每次發送或接收數據時通過給電源管理模塊發送開啟協處理器模塊和放大模塊電源控制信息來接通協處理器模塊和放大模塊電源,而在發送或接收數據完成后又發送相關控制信息將這兩個模塊的電源關閉。
3.2 FPGA程序設計
FPGA的VHDL程序設計包括了控制邏輯部分、聲信號調制部分、聲信號解調部分、發送數據FIFO和接收數據FIFO等。控制邏輯部分的設計是與聲通信相關的VHDL程序的核心控制部分,控制邏輯部分需要與ARM程序協調工作才能實現聲通信。控制邏輯部分的流程圖如圖4所示,主要分為發送和接收數據兩部分。通過接收ARM指令來實現接收數據或發送數據,包括準備發送數據指令、發送數據指令和接收數據指令3條指令。發送數據時根據工作流程控制聲信號調制模塊工作進行數據流的調制,聲信號調制模塊再發送數據到ARM的D/A模塊;接收數據是聲信號解調模塊從ARM的A/D模塊讀取數據進行解調,再將解調的數據流送入控制邏輯。
4 系統測試結果與應用
對設計好的傳感器節點進行兩節點間的聲通信測試。綜合考慮壓電換能器的頻率響應特性及所處環境中空氣的聲信號特性,為達到較好的聲通信效果,DPSK信號設定載波頻率為2 940 Hz。
使用Matlab軟件對兩節點發出的聲信號和接收的聲信號數據進行分析比較并計算出誤碼率。為了更好地
測試出聲通信的效果,測試在室內和室外兩種不同環境中進行:(1)室內環境:大小為9.5 m×7 m×3.2 m的辦公室,環境音量約50 dB;(2)室外環境:大小約為110 m×60 m的廣場,環境音量約40 dB。表1為在不同的通信距離下兩傳感器節點之間的通信誤碼率。
從統計結果可以看出,在室外環境中聲通信的質量要好于室內環境,這是由于室外環境噪音干擾相對沒有室內嚴重。該測試表明短距離內該傳感器節點的聲通信具有較低的誤碼率,驗證了短距離聲通信在無線傳感器網絡中的可行性。同時從表1可以看出,傳感器節點間聲通信的距離還比較短,為增大傳感器節點間聲通信的距離,必須進一步優化節點硬件和軟件的設計。
參考水下無線傳感器網絡的水聲通信技術,提出了可用于無線傳感器網絡的短距離聲通信方案。設計了一種具有短距離聲通信功能的傳感器節點并對其進行聲通信測試。測試結果表明,短距離聲通信在無線傳感網絡中具有一定的應用前景。
參考文獻
[1] 汪丹丹.礦用無線傳感器網絡的研究與設計[D].合肥:合肥工業大學,2007.
[2] SHMULIK M G,GANNOT S,COHEN I.Distributed multiple constraints generalized sidelobe canceler for fully connected wireless acoustic sensor networks[J].IEEE Transactions on Audio Speech and Language Processing,2013,21(2):343-356.
[3] 郭忠文,羅漢江,洪鋒,等.水下無線傳感器網絡的研究 進展[J].計算機研究與發展,2010,47(3):377-389.
[4] EDELMANN C F,ZAJIC A C.Feasibility study of under water acoustic communications between buried and bottom mounted sensor network nodes[J].IEEE Journal of Oceanic Engineering,2013,38(1):109-116.
[5] 李云娟,方彥君,譚濤.一種水下無線傳感器網絡節點設 計及其ARM實現[J].計算機自動測量與控制,2011,19(5):1236-1238.
[6] 王宗,劉敬彪,蔡文郁.基于STM32的海洋浮標無線通信網絡設計[J].電子技術應用,2011,37(7):42-47.