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