??? 摘? 要: 針對無線傳感器網(wǎng)絡(luò)應(yīng)用多樣化的特點,建立了基于ZigBee技術(shù)的無線傳感器網(wǎng)絡(luò)節(jié)點與網(wǎng)關(guān)節(jié)點的模塊化軟、硬件設(shè)計方案。該硬件方案具有模塊化與集成度高的特點,軟件方案基于嵌入式操作系統(tǒng)進行多種功能的模塊化設(shè)計,具有良好擴展性以及可維護性。實現(xiàn)了一種基于單芯片平臺的傳感器節(jié)點與ARM平臺的網(wǎng)關(guān)節(jié)點,討論了當前與未來適用的各種嵌入式設(shè)計關(guān)鍵技術(shù)。?
????關(guān)鍵詞: 無線傳感器網(wǎng)絡(luò);網(wǎng)關(guān);嵌入式系統(tǒng)
?
??? 無線傳感器網(wǎng)絡(luò)WSN(Wireless Sensor Network)是用來采集部署在目標區(qū)域內(nèi)的傳感器節(jié)點所監(jiān)測數(shù)據(jù),并以無線通信方式進行數(shù)據(jù)傳輸?shù)淖越M織網(wǎng)絡(luò),通常由傳感器節(jié)點、網(wǎng)關(guān)節(jié)點(匯聚節(jié)點)、后臺數(shù)據(jù)處理中心組成[1]。隨著技術(shù)的進步與市場的發(fā)展,無線傳感器網(wǎng)絡(luò)呈現(xiàn)多樣化、復雜化的趨勢。針對目前繁多的不同WSN平臺,設(shè)計一種滿足無線傳感器網(wǎng)絡(luò)應(yīng)用的基本要求,在開源基礎(chǔ)上具有良好軟、硬件擴展特性的模塊化WSN設(shè)計方案,能夠簡化WSN的系統(tǒng)設(shè)計流程,提高軟、硬件的設(shè)計與使用效率。?
??? WSN節(jié)點往往是能量受限的[2],并且節(jié)點還可能部署在維護人員無法接近的區(qū)域,因此高效利用節(jié)點能量是傳感器網(wǎng)絡(luò)設(shè)計的一個基本要求。WSN網(wǎng)絡(luò)已發(fā)展成為涉及網(wǎng)絡(luò)通信、無線通信、傳感器技術(shù)、嵌入式系統(tǒng)、軟件技術(shù)、數(shù)據(jù)庫技術(shù)、分布式信息處理等諸多技術(shù)的綜合性科技領(lǐng)域,同時,令WSN具有良好的設(shè)計結(jié)構(gòu)性與可擴展性、可維護性等特點也開始受到重視。以往的設(shè)計應(yīng)用方案針對性強,硬件架構(gòu)不具可擴展性,軟件設(shè)計差異化巨大。鑒于此,提出了一種擴展靈活的無線傳感器網(wǎng)絡(luò)模塊化架構(gòu)。本文不考慮不同WSN應(yīng)用下具體技術(shù)細節(jié)的設(shè)計差異,如應(yīng)用于不同環(huán)境的網(wǎng)絡(luò)MAC及路由協(xié)議設(shè)計、減少通信流量的休眠與時間同步策略、網(wǎng)絡(luò)的拓撲管理實現(xiàn)方式等,它們都可以自由地嵌入這種模塊化架構(gòu)之中。?
??? 基于IEEE 802.15.4的ZigBee是一種短距離、低復雜度、低功耗、低數(shù)據(jù)速率、低成本、具有精簡協(xié)議棧的無線通信技術(shù),本文所做的論述全部基于ZigBee標準。?
1 設(shè)計概念?
??? 系統(tǒng)設(shè)計包括硬件設(shè)計與軟件設(shè)計。硬件設(shè)計主要考慮WSN的功能兼容性及應(yīng)用的可配置性,并限定WSN系統(tǒng)在各工作模式下的最大功耗;軟件設(shè)計則考慮代碼模塊化、應(yīng)用接口規(guī)范化以及執(zhí)行效率等因素,并考慮如何動態(tài)地降低WSN能量消耗。?
??? 傳感器節(jié)點的功能是采集數(shù)據(jù)并將其逐跳傳輸給網(wǎng)關(guān)節(jié)點。由于傳感器節(jié)點功耗平均占WSN系統(tǒng)工作總功耗的90%左右,所以需要盡量簡化其硬件結(jié)構(gòu),以降低硬件功耗及系統(tǒng)開銷;網(wǎng)關(guān)節(jié)點要面對復雜多樣的應(yīng)用環(huán)境與設(shè)計要求,必須考慮可配置的多功能平臺設(shè)計。?
??? 本系統(tǒng)軟件全部建立在開源嵌入式操作系統(tǒng)之上。操作系統(tǒng)可以獲取所有應(yīng)用程序的性能需求并能直接控制底層硬件資源,負責調(diào)度給定的任務(wù)集合使其滿足各自的時間和性能需求,可以在性能和功耗控制之間進行按需折中,采用統(tǒng)一的規(guī)范管理及擴展當前應(yīng)用。?
??? 網(wǎng)關(guān)是建立在傳輸層之上的協(xié)議轉(zhuǎn)換器,網(wǎng)關(guān)節(jié)點還用以匯聚傳感器節(jié)點的數(shù)據(jù)信息并下發(fā)操作命令。由于本設(shè)計網(wǎng)關(guān)節(jié)點通信覆蓋范圍廣且采用有源供電,將協(xié)議轉(zhuǎn)換與數(shù)據(jù)匯聚功能由網(wǎng)關(guān)節(jié)點統(tǒng)一實現(xiàn),避免了單一匯聚功能的網(wǎng)關(guān)節(jié)點由于工作負荷遠遠大于普通節(jié)點而導致的節(jié)點快速消亡,簡化了網(wǎng)關(guān)節(jié)點自組織選舉算法的設(shè)計?;谏鲜龈拍畹臒o線傳感器網(wǎng)絡(luò)系統(tǒng)結(jié)構(gòu)如圖1所示。網(wǎng)關(guān)節(jié)點具有模塊化的WSN本地化管理、MANET[3]、多協(xié)議轉(zhuǎn)換、本地化數(shù)據(jù)庫以及Web Server遠程訪問功能。這些模塊已經(jīng)或?qū)⒁獞?yīng)用到WSN之中,它們是未來不同WSN應(yīng)用中不可或缺的重要部分。本文實現(xiàn)的WSN方案給出了一種面向這些關(guān)鍵技術(shù)的模塊化設(shè)計。?
?

?
2 傳感器節(jié)點的設(shè)計?
??? 傳感器節(jié)點硬件結(jié)構(gòu)包括電源、電源管理、處理器、傳感器、無線通信、天線、Balun匹配、存儲器以及擴展接口幾部分。傳感器節(jié)點采用PCB微帶天線、體積能量比高的鋰聚合物電池、便攜式電源管理以及集成無線通信、存儲器、處理器功能的面向ZigBee通信標準芯片 CC2431進行設(shè)計,擁有豐富的接口控制器資源,如ADC、RTC、IIC、SPI、IO等。圖2為基于CC2431設(shè)計的無線傳感器節(jié)點設(shè)計示意圖,它擁有豐富的系統(tǒng)資源及優(yōu)良的功耗特性。?
?

?
??? 節(jié)點中將傳感器模塊設(shè)計為板載EEPROM的子板。SPI、IIC以及模擬輸出為目前大部分傳感采集器的輸出接口,這些接口在CC2431中可以統(tǒng)一控制。設(shè)計者只需將不同類型的傳感器按接口標準設(shè)計為子板擴展使用,并在EEPROM中正確設(shè)置傳感器配置信息表即可兼容所有傳感器模組,CC2431在每次上電運行時讀取EEPROM中的內(nèi)容并對傳感器模塊進行識別與配置。配置信息表包括數(shù)據(jù)類型、接口方式、地址邏輯、控制邏輯信息。?
??? 在采用休眠機制的無線傳感器網(wǎng)絡(luò)中,空閑運行與休眠狀態(tài)功耗約占節(jié)點工作總功耗的30%,無線通信收發(fā)過程功耗約占60%[3]。受限于當前半導體技術(shù),所有設(shè)計都很難降低無線通信時的功耗,降低休眠及空閑運行功耗成為硬件設(shè)計中實現(xiàn)節(jié)能的有效策略。經(jīng)測試,對于休眠占空比高的無線傳感器網(wǎng)絡(luò),本節(jié)點的功耗特性具有優(yōu)勢。表1列出節(jié)點在不同工作條件下功耗等參數(shù)與目前各主流無線傳感器節(jié)點的比較。?
?

?
??? 無線傳感器網(wǎng)絡(luò)操作系統(tǒng)與軟件設(shè)計應(yīng)滿足代碼簡單、功耗低、并發(fā)操作、系統(tǒng)健壯等要求,而大多數(shù)應(yīng)用對數(shù)據(jù)的實時性要求不高[5],在TinyOS、BTnodeOS、Nut/OS等眾多非搶占式操作系統(tǒng)中,本節(jié)點將TinyOS2.X移植于傳感器節(jié)點之上。其輕量級線程、主動消息通信與組件化編程技術(shù)能有效提高傳感器節(jié)點工作效率;兩層調(diào)度方式、事件驅(qū)動模式能降低系統(tǒng)運行功耗;最短通信距離與最小開銷確認機制使ZigBee通信效率得到提高;高度模塊化結(jié)構(gòu)為各種MAC層、網(wǎng)絡(luò)層協(xié)議提供高度可移植。為將TinyOS 2.0.2移植到CC2431的MCS51內(nèi)核中,在編譯工具鏈中用IAR代替GCC。將通過nesC編譯器生成的APP.C文件進行IAR可編譯格式重寫,最后經(jīng)過IAR編譯器生成HEX文件。?
??? TinyOS 2.X中將物理硬件抽象為三層結(jié)構(gòu),硬件描述層(HPL)、硬件抽象層(HAL)、硬件獨立層(HIL),操作系統(tǒng)在底層硬件操作或響應(yīng)觸發(fā)事件后建立任務(wù)于FIFO任務(wù)隊列[7]。由于會有多個任務(wù)同時訪問同一硬件資源,應(yīng)用軟件在使用該層的組件前要經(jīng)過資源器進行仲裁,節(jié)點按圖3所示的模塊化組織系統(tǒng)軟件結(jié)構(gòu)。?
?

?
3 網(wǎng)關(guān)節(jié)點的設(shè)計?
??? 在圖4所示的網(wǎng)關(guān)節(jié)點的硬件結(jié)構(gòu)中,網(wǎng)關(guān)節(jié)點顯示部分采用SHARP LQ084系列LCD屏,基于CC2431的可定位設(shè)計可實現(xiàn)WSN多功能本地化管理。MANET應(yīng)用模式用以應(yīng)對某些應(yīng)用網(wǎng)關(guān)節(jié)點無法實現(xiàn)Internet網(wǎng)有線接入的環(huán)境,選擇SIMCOM內(nèi)置TCP/IP協(xié)議的SIM300 GPRS通信模塊實現(xiàn)Internet雙模式接入。?
?

?
??? 網(wǎng)關(guān)處理器選擇NXP基于ARM7TDMI內(nèi)核ARM LPC2468作為網(wǎng)關(guān)節(jié)點的主控制器。LPC2468集成10/100 Mb/s自適應(yīng)以太網(wǎng)MAC控制器,提供外部SDRAM控制器以及豐富的外部接口資源以便功能擴展。選擇支持幀處理、數(shù)據(jù)緩沖、突發(fā)傳輸、數(shù)據(jù)加密、數(shù)據(jù)鑒權(quán)、空閑頻道檢測、連接質(zhì)量指示以及幀定時信息功能的ZigBee/IEEE 802.15.4射頻收發(fā)器CC2520為無線通信控制器,CC2520內(nèi)部集成PA可使網(wǎng)關(guān)節(jié)點的最大數(shù)據(jù)傳輸距離達400 m,從而擴大傳感器子網(wǎng)的物理范圍,優(yōu)化WSN網(wǎng)絡(luò)結(jié)構(gòu)。?
??? 由于ARM7TDMI內(nèi)核不集成MMU控制器,設(shè)計網(wǎng)關(guān)節(jié)點基于內(nèi)核定制、具有高度靈活性且源碼開放的μClinux2.6.X內(nèi)核操作系統(tǒng)。網(wǎng)關(guān)提供HTTP服務(wù)將管理接口轉(zhuǎn)化成Web Server,用戶可以使用瀏覽器訪問嵌入式設(shè)備。Web Server采用μClinux下BOA單任務(wù)小型HTTP服務(wù)實現(xiàn),可省去以往應(yīng)用中的專用管理軟件;采用可移植于μClinux下的簡潔TCP/IP協(xié)議棧LwIP,LwIP支持多網(wǎng)絡(luò)接口下的IP轉(zhuǎn)發(fā)、TCP快速轉(zhuǎn)發(fā)、ICMP協(xié)議、擴展UDP、DHCP協(xié)議,支持動態(tài)分配節(jié)點地址;嵌入式數(shù)據(jù)庫采用基于模塊化設(shè)計的SQLite,它依據(jù)SQL92標準實現(xiàn)SQL語句解析,能夠?qū)崿F(xiàn)事務(wù)管理、數(shù)據(jù)同步、數(shù)據(jù)備份和恢復等功能,對實際數(shù)據(jù)的訪問功能則需結(jié)合硬件驅(qū)動實現(xiàn)。SQLite用ANSI C編寫,能與μClinux嵌入式操作系統(tǒng)內(nèi)核一同編譯;對于Web Server應(yīng)用中數(shù)據(jù)的 XML歸檔及傳輸處理,本網(wǎng)關(guān)節(jié)點采用基于哈夫曼編碼格式的Bzip2壓縮算法對網(wǎng)關(guān)節(jié)點與數(shù)據(jù)中心所交換的數(shù)據(jù)進行編解碼。對于處理大量強相關(guān)性的WSN監(jiān)控與通信數(shù)據(jù),Bzip2具有10倍以上的壓縮比,能有效節(jié)省網(wǎng)關(guān)節(jié)點通信開銷與功耗。?
??? 將網(wǎng)關(guān)節(jié)點按圖5所示軟件結(jié)構(gòu)進行四層劃分。數(shù)據(jù)采集層:依既定工作機制采集傳感器節(jié)點數(shù)據(jù)與信息;節(jié)點管理層:依工作模式、拓撲管理原則配置WSN;數(shù)據(jù)解析層:對匯聚到網(wǎng)關(guān)節(jié)點的數(shù)據(jù)進行數(shù)據(jù)分析處理,這些數(shù)據(jù)包括節(jié)點信息、網(wǎng)絡(luò)信息與網(wǎng)關(guān)操作信息等;應(yīng)用層:主要面向數(shù)據(jù)處理中心與本地化管理的各項用戶操作,提供軟件接口。圖5中將諸如Bzip2、協(xié)議棧、協(xié)議轉(zhuǎn)換等工作進行模塊化設(shè)計,以最小化WSN異構(gòu)設(shè)計開銷。其中的操作信息處理、節(jié)點信息處理、傳感器數(shù)據(jù)采集三個模塊共享嵌入式數(shù)據(jù)庫,但需設(shè)置互斥量進行資源仲裁。?
?

?
??? 網(wǎng)關(guān)節(jié)點實現(xiàn)了透明雙向協(xié)議轉(zhuǎn)換,用戶可以不關(guān)心出入網(wǎng)關(guān)節(jié)點的具體協(xié)議類型。如圖6所示,將網(wǎng)關(guān)網(wǎng)絡(luò)協(xié)議的轉(zhuǎn)換分為兩層,即控制層與數(shù)據(jù)層。控制層通過不同配置字對協(xié)議轉(zhuǎn)換進行控制,由監(jiān)控模塊實現(xiàn)對工作過程中的TCP/IP、ZigBee數(shù)據(jù)包收發(fā)以及協(xié)議轉(zhuǎn)換狀態(tài)的監(jiān)控,通過配置接口API生成配置字上傳或接收相應(yīng)配置字并下發(fā)給各模塊執(zhí)行。?
?

?
??? 數(shù)據(jù)層主要實現(xiàn)協(xié)議轉(zhuǎn)換的具體工作,設(shè)計中采取中斷服務(wù)程序的形式實現(xiàn)。當有數(shù)據(jù)包需要進行相應(yīng)的協(xié)議轉(zhuǎn)換時,系統(tǒng)要求首先生成服務(wù)請求,同時對轉(zhuǎn)換請求以及轉(zhuǎn)換服務(wù)進行注冊記錄,以監(jiān)控工作狀態(tài)。TCP/IP與ZigBee編解碼部分實現(xiàn)對兩格式數(shù)據(jù)包以及預(yù)訂義數(shù)據(jù)格式的解包和打包。網(wǎng)關(guān)節(jié)點所傳遞的信息除了需交付后臺數(shù)據(jù)中心處理的傳感監(jiān)控數(shù)據(jù)外,還包括用于定位以及無線傳感器網(wǎng)絡(luò)管理的數(shù)據(jù)流量負載、節(jié)點位置與網(wǎng)絡(luò)狀態(tài)信息等[6]。在μClinux中采用兩個進程分別對協(xié)議轉(zhuǎn)換的數(shù)據(jù)層及控制層分別控制,以加強控制層的操作響應(yīng);對數(shù)據(jù)層的控制進程采用多線程程序并行處理。?
??? 如圖7所示,數(shù)據(jù)處理層采用操作表以記錄提交給數(shù)據(jù)中心及從數(shù)據(jù)中心收到的數(shù)據(jù)與命令的處理情況;數(shù)據(jù)解析部分實現(xiàn)對數(shù)據(jù)的預(yù)定義格式編解碼;數(shù)據(jù)壓縮部分處理Bzip2壓縮解壓工作;本層數(shù)據(jù)庫實現(xiàn)對數(shù)據(jù)與應(yīng)答的查詢、控制記錄的存儲。?
?

?
??? 節(jié)點管理層實現(xiàn)無線傳感器網(wǎng)絡(luò)的管理,通過它將來自數(shù)據(jù)中心的Web查詢請求分配到具體各個節(jié)點并等待反饋信息。節(jié)點管理層在μClinux下將每一次查詢請求以時間為單元生成ID,并進行優(yōu)先級隊列管理與記錄;利用各節(jié)點提供的定位位置信息可以實現(xiàn)應(yīng)用層的定位管理功能,還可通過LCD實現(xiàn)所見即所得的操作模式。本層數(shù)據(jù)庫主要記錄傳感器節(jié)點與網(wǎng)絡(luò)運行信息。?
??? 數(shù)據(jù)采集層的用途即數(shù)據(jù)傳輸,它包括輸入、輸出隊列管理以及響應(yīng)查詢表三部分。由于節(jié)點一般采用基于能量有效的睡眠運行模式,在網(wǎng)關(guān)節(jié)點進行查詢的過程中,所設(shè)定的命令在其生命周期內(nèi)不一定能夠得到響應(yīng),因此采用響應(yīng)表來記錄與WSN網(wǎng)內(nèi)眾多節(jié)點通信的狀態(tài)與結(jié)果。輸入輸出隊列對基于TCP/IP與ZigBee協(xié)議棧的數(shù)據(jù)采集信息進行管理,對數(shù)據(jù)進行Database中的ADD、DEL操作。?
??? 本文提出的WSN設(shè)計方案以低功耗與高擴展性為基本要求,基于當前相關(guān)前沿技術(shù)與應(yīng)用需求進行模塊化設(shè)計,并介紹了一種可行的傳感器與網(wǎng)關(guān)節(jié)點實現(xiàn)方案。它具有軟硬件重組靈活、代碼可重用性高、API接口規(guī)范統(tǒng)一、可維護性高等特點,為WSN的廣泛商用提供了新的設(shè)計模式。在未來的研究工作中,隨著科技的不斷進步,WSN的結(jié)構(gòu)有可能會進一步演進,例如符合IEEE 1451.X新標準的ZigBee標準上的WSN結(jié)構(gòu)平臺設(shè)計[7],甚至不含后臺PC的WSN新架構(gòu)。?
參考文獻?
[1] ROMER K,MATTERN F.The design space of wireless sensor networks.IEEE Wireless Communications,2004(11):54-61.?
[2] SMITH G A J,Wicker S B.Design challenges for energy?constrained adhoc wireless network.IEEE wireless communications,2002.?
[3] JENKINS A,HENKEL D.Sensor data collection through?gateways in a highly mobile mesh network.WCNC 2007?proceedings,2007.?
[4] DEBORAH E.Sensor network protocols.Wireless sensor?networks tutorial,2002.?
[5] HILL J,SZEWCZYK R,WOO A.System architecture direction for network sensors.International conference on architectural support for programming languages and operating?systems,2000.?
[6] GIGAN G,ATKINSON I.Sensor abstraction layer:A?unique software interface to effectively manage sensor?networks.IEEE ISSNIP2007,2007.?
[7] RANDAL V T.Software development environment for prototyping IEEE 1451 smart sensors.IEEE Sensors Applications,2007.?
