劉康麗1,朱元元,吳曉曄1,畢 碩1,谷 靜
(1.北京航天測控技術(shù)有限公司,北京 100041; 2.北京航天長征飛行器研究所,北京 100076)
兵器試驗(yàn)靶場目前急需解決“異常彈”和散布大的彈箭的彈著點(diǎn)定位問題,因此急需研制出實(shí)用化靶場分布式測試微型無線傳感器網(wǎng)絡(luò)系統(tǒng),滿足靶場試驗(yàn)找彈、靶場安全的需要,提升靶場網(wǎng)絡(luò)化、數(shù)字化試驗(yàn)?zāi)芰Φ哪康摹?/p>
無線網(wǎng)絡(luò)技術(shù)具有自組織、部署靈活、成本低等優(yōu)勢,使其應(yīng)用范圍越來越廣,搭載于無線網(wǎng)絡(luò)的傳感器網(wǎng)絡(luò)便是其中重要的應(yīng)用場景。為了實(shí)現(xiàn)網(wǎng)絡(luò)化智能傳感器的智能性,IEEE提出了IEEE1451協(xié)議族,IEEE 1451作為業(yè)內(nèi)公認(rèn)的通用接口標(biāo)準(zhǔn)對無線傳感器網(wǎng)絡(luò)傳輸中通訊命令、尋址方式、數(shù)據(jù)結(jié)構(gòu)和接口都做了相應(yīng)的規(guī)定,實(shí)現(xiàn)了智能化傳感器的兼容性、互換性以及互操作性。其中1451.5專門針對無線通訊網(wǎng)絡(luò)提出了無線通信與變送器電子數(shù)據(jù)表格式(Wireless Communicationand Transducer Electronic DataShee(TEDS)Formats)。本文在目前通用協(xié)議棧(TI STACK協(xié)議棧)基礎(chǔ)上,完成了TEDS表格,實(shí)現(xiàn)了傳感器網(wǎng)絡(luò)的智能識別。
為保證無線傳感器網(wǎng)絡(luò)鏈路的高效可靠及傳感器數(shù)據(jù)采集中信息傳輸規(guī)范化問題,本文采用了基于ZigBee、WiFi、TCP/IP多種通信協(xié)議的異構(gòu)分簇網(wǎng)絡(luò)構(gòu)建方法,重點(diǎn)研究ZigBee與IEEE 1451標(biāo)準(zhǔn)相結(jié)合,完成了基于IEEE 1451.5 TEDS格式的網(wǎng)絡(luò)參數(shù)電子數(shù)據(jù)傳送,為系統(tǒng)的未來擴(kuò)展和與其他網(wǎng)絡(luò)的兼容提供條件和基礎(chǔ)。
鑒于傳感器節(jié)點(diǎn)數(shù)量眾多,為避免出現(xiàn)網(wǎng)絡(luò)擁堵和無線射頻干擾,系統(tǒng)采用了異構(gòu)分簇的系統(tǒng)網(wǎng)絡(luò)結(jié)構(gòu),以便實(shí)現(xiàn)網(wǎng)絡(luò)進(jìn)行分時(shí)控制以及系統(tǒng)維護(hù),進(jìn)而保證無線通信順暢。
靶場分布式測試微型無線傳感器網(wǎng)絡(luò)系統(tǒng)結(jié)構(gòu)如圖1所示。系統(tǒng)主要由傳感器節(jié)點(diǎn),簇頭節(jié)點(diǎn)、網(wǎng)關(guān)以及監(jiān)控終端組成。在上位機(jī)終端安裝網(wǎng)絡(luò)監(jiān)測程序,可實(shí)時(shí)監(jiān)測和配置網(wǎng)絡(luò)的工作狀態(tài)。終端通過以太網(wǎng)連接至網(wǎng)關(guān),網(wǎng)關(guān)與10個(gè)簇頭之間通過WiFi連接。每個(gè)簇頭連接20個(gè)傳感器節(jié)點(diǎn),通過Zigbee進(jìn)行網(wǎng)絡(luò)連接,傳感器節(jié)點(diǎn)接口符合IEEE 1451網(wǎng)絡(luò)接口協(xié)議。
圖1 異構(gòu)分簇?zé)o線傳感器網(wǎng)絡(luò)結(jié)構(gòu)圖
作為無線傳感網(wǎng)絡(luò)的通訊載體,當(dāng)前主流的無線通信技術(shù)主要為:Zigbee、Wifi、藍(lán)牙三種。結(jié)合傳感器網(wǎng)絡(luò)中涉及的通信速度、網(wǎng)絡(luò)容量、傳輸距離以及網(wǎng)絡(luò)結(jié)構(gòu)等參數(shù)對比,總結(jié)出Wi-Fi適用于短距離、多點(diǎn)、大數(shù)據(jù)量通信;Zigbee在傳輸速率以及傳輸距離方面做了均衡,適合中長距離傳輸,且網(wǎng)絡(luò)容量較大,適合節(jié)點(diǎn)數(shù)量眾多的場合。同時(shí),Zigbee節(jié)點(diǎn)還具有功耗低,成本低,控制能力突出的優(yōu)勢,一定程度上有利于大規(guī)模運(yùn)用。
因此,本系統(tǒng)在無線網(wǎng)絡(luò)構(gòu)建中引入了Zigbee協(xié)議和WiFi通訊協(xié)議。將基于WiFi通訊協(xié)議的節(jié)點(diǎn)設(shè)計(jì)為簇頭節(jié)點(diǎn),由簇頭節(jié)點(diǎn)組成的骨干數(shù)據(jù)傳輸網(wǎng)絡(luò)承擔(dān)了回收各簇節(jié)點(diǎn)數(shù)據(jù)的任務(wù),其數(shù)據(jù)傳輸速度高,解決了大規(guī)模非異構(gòu)網(wǎng)絡(luò)中的數(shù)據(jù)擁塞問題。測試子網(wǎng)由大量性能較低的測試節(jié)點(diǎn)組成,每個(gè)測試節(jié)點(diǎn)采用Zigbee協(xié)議。該協(xié)議能夠確保無線設(shè)備在低成本、低功耗和低數(shù)據(jù)速率網(wǎng)絡(luò)中的互操作性。
ZigBee網(wǎng)絡(luò)搭建在Chipcon公司推出的CC2530 Zigbee開發(fā)套件和Z-STACK協(xié)議棧基礎(chǔ)上,實(shí)現(xiàn)1個(gè)簇頭和20個(gè)節(jié)點(diǎn)的星形無線傳感器網(wǎng)絡(luò)傳輸,在通訊命令、尋址方式、數(shù)據(jù)結(jié)構(gòu)和接口等方面需符合1451標(biāo)準(zhǔn)。實(shí)現(xiàn)設(shè)計(jì)節(jié)點(diǎn)工作模式,包括主動(dòng)發(fā)送模式、觸發(fā)模式、空閑模式[4-10]。
為避免簇頭之間、傳感節(jié)點(diǎn)之間的無線干擾,子網(wǎng)(簇頭)之間采用頻分多址的方案,每個(gè)子網(wǎng)指定一個(gè)唯一的頻率通道,根據(jù)Zigbee模塊CC2530有16個(gè)頻率通道可選的特性,CC2530頻率載波可以通過編程位于FREQCTRL.FREQ[6:0]的7 位頻率字設(shè)置。支持載波頻率范圍是2 394 MHz 到2 507 MHz。以MHz 為單位的操作頻率fc 由下式表示:fC = 2394 + FREQCTRL.FREQ[6:0]) MHz,以1 MHz 為步長,是可編程的。IEEE802.15.4-2006 指定16 個(gè)通道,它們位于2.4 GHz 頻段之內(nèi)。步長為5 MHz,編號為11~26。具體方案為十個(gè)簇頭01~10號分別采用11~20頻率通道。具體的根據(jù)簇頭CC2530協(xié)調(diào)器PAN ID進(jìn)行設(shè)計(jì),簇頭01~10的PAN ID分配如表1所示。
表1 簇頭資源分配表
每個(gè)子網(wǎng)內(nèi)部,傳感節(jié)點(diǎn)采用時(shí)分多址的方式,每個(gè)傳感節(jié)點(diǎn)分配唯一指定的時(shí)隙與簇頭間進(jìn)行信息交互。網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)為星型連接。
簇頭節(jié)點(diǎn)的功能框圖如圖2所示。
圖2 簇頭節(jié)點(diǎn)的功能框圖
無線傳感器網(wǎng)絡(luò)簇頭節(jié)點(diǎn)的硬件結(jié)構(gòu)主要包括:MSP430微處理器、FPGA、GPS模塊、Zigbee模塊、Wi-Fi模塊、電源模塊、功率放大器、天線等,其總體設(shè)計(jì)方案如圖3所示。
圖3 簇頭節(jié)點(diǎn)硬件結(jié)構(gòu)框圖
微處理器選用MSP430超低功耗16位單片機(jī)主要是出于降低簇頭節(jié)點(diǎn)功耗的考慮,MSP430F1611采用1.8~3.6 V低電源電壓供電,工作電流僅為μA級,提供5種低功耗工作模式,喚醒時(shí)間小于6 μs,16位RISC結(jié)構(gòu),125 ns指令周期。其片內(nèi)資源豐富,擁有10K RAM,48K Flash,6個(gè)八位并行I/O口,12位AD轉(zhuǎn)換器,16位定時(shí)器,硬件乘法器,以及SPI、I2C、UART接口等[11]。
GPS模塊的主要功能是為了獲取簇頭節(jié)點(diǎn)的定位信息,以及接收GPS輸出的秒脈沖信號,利用其自身的精確授時(shí)功能,通過時(shí)鐘觸發(fā)的方式獲取同步信息,保證多個(gè)簇頭節(jié)點(diǎn)分時(shí)有序地工作。
基于IEEE 802.11無線通信子規(guī)范,采用Wi-Fi模塊實(shí)現(xiàn)簇頭節(jié)點(diǎn)與網(wǎng)關(guān)之間的無線通信,所有簇頭節(jié)點(diǎn)將數(shù)據(jù)匯聚到網(wǎng)關(guān)后,再通過網(wǎng)關(guān)與上位機(jī)進(jìn)行數(shù)據(jù)交換。由于簇頭與網(wǎng)關(guān)之間的距離相對較遠(yuǎn),正常條件下Wi-Fi模塊的傳輸距離不足百米,難以滿足長距離傳輸?shù)脑O(shè)計(jì)要求,因此采用借助功率放大器和架高天線來實(shí)現(xiàn)Wi-Fi模塊的遠(yuǎn)距離通信。
基于Zigbee無線通信子規(guī)范,選用Zigbee芯片以及功放芯片設(shè)計(jì)出Zigbee收發(fā)模塊。該模塊主要用于簇頭節(jié)點(diǎn)與分布式傳感器節(jié)點(diǎn)之間的無線通信,其最遠(yuǎn)傳輸距離需要達(dá)到上千米,而普通Zigbee模塊的傳輸距離為100米左右,因此同樣需要增加功放來提高傳輸距離來滿足設(shè)計(jì)要求。
考慮到整個(gè)無線傳感器網(wǎng)絡(luò)的低功耗設(shè)計(jì)要求,簇頭節(jié)點(diǎn)的電源模塊由太陽能電池板進(jìn)行供電,其供電電路的原理框圖如圖4所示。
圖4 供電電路的原理框圖
此外,為了保證天線信號的接收效果,需要將GPS模塊天線、Zigbee模塊天線以及Wi-Fi模塊配套的天線都架設(shè)在一個(gè)金屬桿支架上,以實(shí)現(xiàn)無線信號的遠(yuǎn)距離傳輸。
簇頭節(jié)點(diǎn)電路板實(shí)物如圖5所示。
圖5 簇頭節(jié)點(diǎn)電路板實(shí)物
網(wǎng)關(guān)節(jié)點(diǎn)主要用于將遠(yuǎn)端控制室通過LAN傳來的信號轉(zhuǎn)換成Wi-Fi無線網(wǎng)絡(luò)信號,廣播給簇頭節(jié)點(diǎn),同時(shí)收集每個(gè)簇頭節(jié)點(diǎn)上傳的數(shù)據(jù),最終轉(zhuǎn)發(fā)給遠(yuǎn)端控制室。其功能框圖及硬件結(jié)構(gòu)如圖6所示。
圖6 網(wǎng)關(guān)功能框圖
其硬件組成主要由網(wǎng)卡芯片,處理器,Wifi模塊構(gòu)成。其中網(wǎng)卡芯片與微處理器采用SPI總線通信,微處理器與Wifi模塊之間采用了串口通信方式。其硬件結(jié)構(gòu)如圖7所示。
圖7 網(wǎng)關(guān)硬件結(jié)構(gòu)框圖
網(wǎng)關(guān)節(jié)點(diǎn)電路實(shí)物如圖8所示。
圖8 網(wǎng)關(guān)節(jié)點(diǎn)樣機(jī)的電路板實(shí)物
簇頭節(jié)點(diǎn)移動(dòng)站各個(gè)單元集成在一個(gè)鋁合金手提箱內(nèi),具體封裝結(jié)構(gòu)如圖9所示。其中太陽能電池板內(nèi)嵌在手提箱蓋子的內(nèi)壁上,當(dāng)需要正常工作時(shí),打開手提箱蓋子,將電池板暴露在太陽光下,電池板將不斷地對鉛酸蓄電池進(jìn)行充電,直至蓄電池電量飽和,此時(shí)充電保護(hù)電路將切斷充電線路,停止對蓄電池充電。為了方便外置天線的架設(shè),在手提箱內(nèi)特別設(shè)計(jì)了一塊控制面板,面板上設(shè)有電源開關(guān)、GPS天線接口、Wi-Fi天線接口、Zigbee天線接口、電池充電接口、PC設(shè)置接口、以及多個(gè)狀態(tài)指示燈等,整體布局如圖所示。在控制面板的正下方是PCB電路板,方便各種接口的接線以及狀態(tài)顯示。鑒于鉛酸電池體積比較大、重量大,故將電池安裝在箱體的底部,保證整個(gè)箱體穩(wěn)固。
圖9 簇頭節(jié)點(diǎn)移動(dòng)站封裝結(jié)構(gòu)示意圖
圖10 簇頭節(jié)點(diǎn)移動(dòng)站控制面板效果圖
本系統(tǒng)中實(shí)現(xiàn)了IEEE1451標(biāo)準(zhǔn)中定義的8種TEDS格式中的Meta TEDS、Channel TEDS和Calibration TEDS,其邏輯格式和內(nèi)容遵照1451標(biāo)準(zhǔn)中的TEDS規(guī)范。TEDS中包含傳感器節(jié)點(diǎn)屬性信息描述,存儲于傳感器節(jié)點(diǎn)微處理芯片內(nèi),并可以按照要求上傳給服務(wù)端或者由用戶直接進(jìn)行修改、存取和校正操作。
對于IEEE 1451協(xié)議的實(shí)現(xiàn),是基于TI提供的Z-STACK協(xié)議棧實(shí)現(xiàn)。IEEE 1451協(xié)議的最終實(shí)現(xiàn)形式如圖11所示。其中應(yīng)用層、應(yīng)用支持層、網(wǎng)絡(luò)層、媒體訪問層、物理層都是直接應(yīng)用TI的ZIGBEE解決方案,IEEE1451是作為Z-STACK中的一種應(yīng)用實(shí)現(xiàn)。
圖11 IEEE1451協(xié)議的實(shí)現(xiàn)形式
對于系統(tǒng)的軟件設(shè)計(jì)已經(jīng)在以上章節(jié)已經(jīng)給予了說明,在系統(tǒng)的200個(gè)節(jié)點(diǎn)和10個(gè)簇頭端都需要按照IEEE1451智能接口標(biāo)準(zhǔn)設(shè)計(jì),在服務(wù)器端通過TCP/IP協(xié)議可以查看到10個(gè)簇頭和200個(gè)節(jié)點(diǎn)的TEDS信息,并且可以查看到節(jié)點(diǎn)上的數(shù)據(jù)信息。對于系統(tǒng)的軟件設(shè)計(jì)而言,節(jié)點(diǎn)端Z-STACK是整個(gè)軟件系統(tǒng)的核心,在Z-STACK系統(tǒng)平臺下設(shè)計(jì)驅(qū)動(dòng)程序?qū)崿F(xiàn)各傳感器的控制和讀寫,存儲TEDS信息以完成IEEE1451智能接口標(biāo)準(zhǔn)設(shè)計(jì)。簇頭端也有Z-STACK系統(tǒng),它主要是完成Zigbee協(xié)議,實(shí)現(xiàn)和節(jié)點(diǎn)之間的通信,也存儲有TEDS信息。簇頭端還利用TCP/IP協(xié)議實(shí)現(xiàn)與服務(wù)器端的通信,同時(shí)還具有一些其他應(yīng)用,例如GPS同步。簇頭端的主要作用是實(shí)現(xiàn)信息的轉(zhuǎn)換和傳遞。在服務(wù)器端主要是設(shè)計(jì)應(yīng)用程序?qū)崿F(xiàn)可視化操作,信息存儲,Wifi通信,以及一些其他輔助功能。服務(wù)器端可以實(shí)現(xiàn)簇頭和節(jié)點(diǎn)信息的查看和修改,通過調(diào)用TCP/IP協(xié)議實(shí)現(xiàn)與簇頭之間的WIFI通信。
圖12 軟件平臺的系統(tǒng)框架
上位機(jī)終端程序采用Python進(jìn)行開發(fā),Python作為一種面向?qū)ο?、模塊、線程、異常和內(nèi)存自動(dòng)管理的編程語言具有簡單、易學(xué)、輕便可移植、可擴(kuò)展、具有多種內(nèi)建數(shù)據(jù)類型、開源等優(yōu)勢。同事軟件采用了多線程編程技術(shù)開辟了多個(gè)可以同時(shí)運(yùn)行的線程,以提供在多任務(wù)系統(tǒng)中進(jìn)行多任務(wù)處理的能力。
上位機(jī)終端軟件作為人機(jī)交互端口主要是實(shí)現(xiàn)整個(gè)無線傳感器網(wǎng)絡(luò)的監(jiān)測與控制功能,包括以下幾方面:
1)網(wǎng)絡(luò)狀態(tài)監(jiān)測,負(fù)責(zé)監(jiān)測網(wǎng)絡(luò)中各節(jié)點(diǎn)的在線狀態(tài),包括10個(gè)簇頭節(jié)點(diǎn)的在線狀態(tài)以及各簇頭節(jié)點(diǎn)下20個(gè)傳感器節(jié)點(diǎn)的在線狀態(tài),通過online以及offline顯示出其相應(yīng)狀態(tài)。
2)網(wǎng)絡(luò)參數(shù)監(jiān)測,該功能主要是針對傳感器節(jié)點(diǎn)的TEDS屬性,可顯示指定節(jié)點(diǎn)的TEDS數(shù)據(jù)。
3)網(wǎng)絡(luò)數(shù)據(jù)管理,該功能主要實(shí)現(xiàn)對傳感器節(jié)點(diǎn)測試數(shù)據(jù)的管理。
4)網(wǎng)絡(luò)節(jié)點(diǎn)控制,該功能主要實(shí)現(xiàn)對簇頭節(jié)點(diǎn)、傳感器節(jié)點(diǎn)的工作模式切換以及相應(yīng)參數(shù)控制。
上位機(jī)終端軟件設(shè)計(jì)框圖如圖13所示。服務(wù)端通過TCP/IP協(xié)議實(shí)現(xiàn)與無線傳感器網(wǎng)絡(luò)中數(shù)據(jù)進(jìn)行交互,網(wǎng)絡(luò)數(shù)據(jù)包括無線傳感器網(wǎng)絡(luò)中的簇頭端的數(shù)據(jù)和節(jié)點(diǎn)數(shù)據(jù)。網(wǎng)絡(luò)數(shù)據(jù)最終存入數(shù)據(jù)庫,需要進(jìn)行數(shù)據(jù)庫的管理調(diào)度,而中間的操作和服務(wù)分別由數(shù)據(jù)存儲、節(jié)點(diǎn)控制和狀態(tài)檢測三個(gè)子模塊來實(shí)現(xiàn)。
圖13 軟件設(shè)計(jì)框圖
打開上位機(jī)軟件,打開簇頭3和節(jié)點(diǎn)4,待簇頭節(jié)點(diǎn)的wifi模塊紅燈亮,點(diǎn)擊上位機(jī)軟件LINK->Add Ip->輸入對應(yīng)簇頭的IP地址(簇3:192.168.4.13)、端口號8080->link,status顯示簇頭組網(wǎng)信息(On Line);如圖14所示。
圖14 有節(jié)點(diǎn)入網(wǎng)時(shí)簇頭狀態(tài)顯示
點(diǎn)擊STATUS,界面右端顯示Cluster及Node狀態(tài),如圖15。
圖15 網(wǎng)絡(luò)狀態(tài)顯示界面(4號節(jié)點(diǎn)在網(wǎng))
打開節(jié)點(diǎn)2,上位機(jī)網(wǎng)絡(luò)狀態(tài)監(jiān)測程序中,新增加該節(jié)點(diǎn)相關(guān)信息;
節(jié)點(diǎn)2關(guān)閉電源,上位機(jī)刷新后顯示該節(jié)點(diǎn)未進(jìn)入網(wǎng)絡(luò);
節(jié)點(diǎn)開機(jī)后,上位機(jī)刷新后應(yīng)顯示該節(jié)點(diǎn)再次進(jìn)入網(wǎng)絡(luò)。
點(diǎn)擊左側(cè)工具欄中的TEDS,并在其窗口中輸入待觀測的簇頭、節(jié)點(diǎn)序號,即可進(jìn)行相應(yīng)的TEDS信息寫入與讀出操作。實(shí)驗(yàn)中分別讀取了3號簇頭下節(jié)點(diǎn)4的PHY_TEDS信息和META_TEDS信息和Channel_TEDS信息。間隔一段時(shí)間后,讀取信息一致。寫入新的TEDS信息后,讀取結(jié)果與更新信息一致。
本文主要完成大規(guī)模無線傳感器網(wǎng)絡(luò)的異構(gòu)分簇網(wǎng)絡(luò)構(gòu)建、各節(jié)點(diǎn)硬件設(shè)計(jì)、網(wǎng)絡(luò)參數(shù)數(shù)據(jù)格式與傳送方式的標(biāo)準(zhǔn)化以及服務(wù)端網(wǎng)絡(luò)狀態(tài)監(jiān)控工作,基于IEEE1451協(xié)議的網(wǎng)絡(luò)電子數(shù)據(jù)表格式標(biāo)準(zhǔn)化為系統(tǒng)的整體擴(kuò)展與其他應(yīng)用網(wǎng)絡(luò) 兼容提供了重要保證;服務(wù)端網(wǎng)絡(luò)狀態(tài)監(jiān)控可以有效觀察參與定位節(jié)點(diǎn)的工作狀態(tài),進(jìn)而剔除問題節(jié)點(diǎn)對定位精度的干擾,確保系統(tǒng)的可靠性。
另外,本文研究成果具有通用性,可以推廣到其他無線傳感器網(wǎng)絡(luò)應(yīng)用場景中,特別是在對時(shí)間敏感的工業(yè)系統(tǒng)應(yīng)用中,必將創(chuàng)造更大的經(jīng)濟(jì)效益。