關 閉

        新聞中心

        EEPW首頁 > 工控自動化 > 設計應用 > 無線傳感器網絡拓撲的監控與維護

        無線傳感器網絡拓撲的監控與維護

        作者: 時間:2012-05-21 來源:網絡 收藏

        摘要:以ZigBee協議為基礎,提出了一種新的結構的方法。創新性地設計了基于葉子節點的通訊模式,該模式運用協議棧自有運行流程來獲取節點的加入或丟失信息、實現,并通過設計一種基于關聯表的鏈表式存儲結構來進行動態。經過在實際辦公環境平臺上驗證表明,該方法數據傳輸量小,資源占用少,操作簡便,具有較強的應用推廣價值。

        本文引用地址:http://www.104case.com/article/160576.htm

        關鍵詞:網絡;ZigBee;拓撲結構;監控與

        0 引言

        隨著網絡技術在軍事、工農業、城市管理、環境監控等各個領域的快速發展,作為系統基礎組成部分的網絡拓撲結構成為研究的一個重要方面。目前,國內外的科研機構在網絡拓撲發現以及拓撲的監控和管理方面開展了大量的相關研究工作,但大多停留在理論和仿真層面,這些通過在高性能的PC機上搭建仿真模型來驗證算法效果的研究,大多缺乏能夠應用到實際系統的可行性案例。安徽財經大學的趙濤,根據在聚合節點(sink)收集到網絡內部節點報文接收或丟失的情況,通過發現網絡中所有葉子節點到sink節點的數據傳輸路徑,來推測網絡的邏輯拓撲。該方法計算比較復雜,120節點規模網絡在主頻為2.8 GHz的CPU主機上運行尚需9秒的時間,同時會受到節點資源、計算速度、實施條件等限制,因此,這種方法很難在實際應用中實現。德州儀器(TI)公司的官方網站也給出了一種獲取網絡拓撲結構的方法,該方法采用發送網絡發現命令的方式,并通過返回結果來確定網絡拓撲結構。此法雖然能夠在實際應用中實施,但需要定期向網絡中的所有節點發送發現命令,因而數據消耗量巨大。

        本文以Z-stack協議棧為基礎,采用葉子節點通訊方式,并利用協議自身的運行流程,提出了一種輕量數據消耗、真正面向應用的拓撲監控方案,同時通過設計一種基于關聯表的鏈式存儲結構來實現對網絡拓撲信息的維護,因而在解決網絡監控與維護方面更具有實際應用價值。

        1 Z-stack協議棧原理簡介

        作為ZigBee聯盟的一個重要的組織成員,2007年,TI公司宣布推出業界領先的ZigBee協議棧Z-Stack。Z-Stack符合ZigBee 2006規范,能支持多種平臺,其中包括本系統使用的、面向IEEE 802.15.4/ZigBee的CC2430片上系統解決方案。

        1.1 ZigBee協議棧的體系結構及信息傳遞流程

        ZigBee協議棧的體系結構如圖1所示,由圖可見,ZigBee協議采用分層體系結構,由物理層(PHY)、介質接入控制子層(MAC層)、網絡層(NWK)和應用層(APL)組成。其中,應用層框架包括了應用支持子層(APS)、ZigBee設備對象(ZDO)及由制造商制定的應用對象。

        a.JPG

        在ZigBee網絡中,信息或數據的傳遞將依照上述層次結構實現。上層發送的數據或指令按照應用層-網絡層-MAC層-物理層的順序,從上至下依次進行處理;底層返回的數據則按照物理層-MAC層-網絡層-應用層的順序,從下至卜處理后返回給上層用戶。每個層次負責發送到本層數據的分析和判斷,并對于屬于本層次的數據或指令做出相應的動作響應;對于不屬十本層的數據,則按照規定格式打包后發送給上、下一層。

        1.2 節點加入與失步流程

        為了維護系統的正常運行,ZigBee協議棧還提供了一些必須的消息響應流程,其中包括節點加入網絡和失步響應的流程。

        b.JPG

        節點加入流程如圖2所示。當子節點申請加入網絡時,會啟動加入流程。子節點的加入請求通過其NWK層、MAC層、PHY層傳遞給父節點;父節點收到加入通知消息后,又通過其PHY層、MAC層、NWK層將該情況上傳給應用層,最后通過ZDO JoinIndicationCB()函數的調用,得到子節點加入的消息。

        節點失步流程是指終端節點丟失其父節點的同步信號時,向上層報告的失步情況發生的流程。其具體流程如圖3所示。

        c.JPG

        終端節點每隔一段時間就會開啟與父節點的同步,當在設定時間內沒有接收到父節點的同步信號時,就會產生失步指示信息,協議棧將該失步信息層層上傳,最后通過調用ZDOSynclndicationCB()函數,將信息傳達到應用層。

        1.3 關聯表

        TI的Z-stack協議棧在全功能節點中可以維護associateddevices t結構的關聯表,關聯表中保存有與本節點直接關聯(父子節點)的相關信息,包括關聯節點的短地址、設備類型、連接狀態等,基本上可以滿足網絡拓撲結構監控和維護的信息需求。

        TI的ZigBee協議棧雖然可為用戶開發提供強大支持,但是在網絡監控和維護上并沒有專用的接口。一方面,該協議棧只能發現節點加入網絡,但是無法發現節點非主動性的丟失或退出,因而不具備網絡拓撲監控的功能;另一方面,協議在每個全功能節點中部維護了與之關聯設備的關聯表,但是并沒有維護整體網絡的關聯信息,因而無法掌控網絡拓撲的全貌。鑒于協議棧在網絡拓撲功能上的不足和缺陷,本文以協議基本流程為基礎,提出一種實現整體網絡拓撲監控和維護的方法,該方法可以滿足一般系統對于拓撲結構的監控和維護需求。

        2 網絡拓撲結構監控

        網絡拓撲結構監控的主要目的是實現拓撲結構的建立和在結構發生變化時及時獲取變化情況,其中最主要的是實現節點加入和退出事件的捕捉。節點加入事件的獲取相對容易,可以通過加入節點主動上報等方式來獲取;而節點丟失事件獲取要復雜得多。現階段,對節點丟失情況的監控多采用系統定期查詢的手段。采用查詢方法時,其實時性與查詢周期的長短直接相關:查詢周期設置較長,拓撲變化反映時間增長,實時性變差;而查詢周期設置較短,則傳輸數據量增大,占用系統資源,往往很難在二者之間找到平衡點。協議棧中數據或消息的傳遞是一個復雜的過程,為了盡可能地降低系統資源的占用、節約能耗,除了維護系統正常運行所必須的數據通訊外,還應盡量減少人為添加(應用層)的數據通訊量。因此,最好的辦法就是利用協議自身的數據傳遞或者節點加入、失步等流程來實現相關信息的獲取。

        本文設計了一種基于網關——葉子節點通訊的節點丟失情況獲取方法,該方法可以利用協議棧自身的運行流程,以較少的數據通訊量和簡單的操作,實現網絡中所有節點的丟失情況獲取。

        2.1 節點加入事件的獲取

        通常情況下,節點加入事件多采用加入節點主動上報的方法來獲取。該方法操作簡單,但是需要人為地發送相關加入信息,會增加系統數據通訊量。由圖2所示的節點加入流程可知,如果有子節點加入網絡,加入的指示信息都會通過ZDOJoinIndmationCB()函數的調用報告給父節點。即該函數的調用證明有了節點的加入事件。因此,本文通過在此函數中添加向應用程序報告的功能,即可通知用戶了節點加入事件的發生。

        2.2 節點丟失信息的獲取

        由圖3所示的流程可知,協議棧通過調用vold ZDOSyncIndicationCB(byte type,uint16 shortAddr)函數可實現失步情況的報告。該函數具有節點丟失的指示功能,并能夠指示丟失節點與本節點的父子關系和短地址等。但在實際的應用中發現,該函數的調用是有條件限制的,具體實施條件如下:

        父節點丟失:從失步報告流程可知,終端節點能夠自動輪詢發現其父節點同步信號的丟失,而無需人為添加任何觸發條件,引發函數調用。但路由節點不支持與父節點的輪詢機制,因而不能產生父節點丟失情況的報告。

        子節點丟失:對于包括終端節點在內的所有類型節點的子節點丟失,在未加相應處理的情況下,協議棧都不會引發該函數的調用。

        由實施條件可知,該函數的丟失指示并不適用于所有類型節點的丟失情況,因此,如果要得到除終端父節點外網絡中所有節點的丟失情況,就需要人為加入其他處理,以觸發ZDOsynclndicationCB()函數的調用,從而實現丟失事件的獲取。

        2.3 葉子節點通訊觸發方法

        通常采用的基于查詢的網絡發現機制部需要在所有節點間發送數據,因而增大系統的數據開銷。這里以圖4所示的拓撲結構為例,圖中的葉子通訊需要進行14條數據的查詢和14條數據的應答才能夠完成一次節點丟失情況的獲取。為了盡可能減少數據通訊和操作的復雜度,本文設計了一種基于網關——葉子節點通訊的節點丟失情況獲取方法,以便用較少的數據通訊量和簡單的操作來實現網絡中聽有節點的丟失情況獲取。

        d.JPG

        研究發現,失步函數的觸發可以通過加入數據通訊來實現。因為在數據發送的過程中,協議棧會開啟數據發送流程,數據發送后則會自動檢測接收方應答幀。這樣,如果節點丟失,則發送節點無法接收到有效應答,進而引發節點失步指示函數的觸發。

        具體觸發時,如果節點之間有數據通訊,發送數據節點則能夠發現接收數據節點的丟失,從而引發vold ZDOSynclndicationCB(byte type,uint16 shortAddr)函數的調用。


        上一頁 1 2 3 4 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 沾化县| 五寨县| 松原市| 棋牌| 吉林省| 祁门县| 湘阴县| 朝阳区| 金溪县| 正定县| 辽阳县| 齐河县| 从化市| 自贡市| 贵阳市| 平遥县| 萝北县| 霞浦县| 沁阳市| 扬州市| 黑山县| 桦川县| 凤城市| 湘西| 雷波县| 晋江市| 黎城县| 乌鲁木齐县| 绥化市| 邛崃市| 闽侯县| 综艺| 资源县| 阜宁县| 双桥区| 贡山| 峡江县| 简阳市| 剑河县| 申扎县| 库尔勒市|