新聞中心

        EEPW首頁 > 手機與無線通信 > 設計應用 > 基于ZigBee的自愈自組網的設計與應用

        基于ZigBee的自愈自組網的設計與應用

        作者: 時間:2013-05-16 來源:網絡 收藏

        3.1 的設計
        無線網絡中,只有一個節點作為協調器,其他節點都是路由器或終端。網絡中每個節點都有兩個地址:64位IEEE擴展地址和16位網絡地址。64位IEEE擴展地址類似于MAC地址,它唯一的標識著每一個設備。16位的網絡地址在節點加入網絡時由其父節點(協調器或路由器)動態分配,該地址僅在路由或者數據傳輸時使用。
        無線網絡有兩種地址模式,靜態地址分配和樹狀地址分配。協調器確定整個網絡節點數目,每個節點都擁有一個網絡深度,用以指示在其父子鏈路上數據傳輸到協調器所需的最小跳數。協調器的深度為0,而它的孩子節點深度為1。可知,多跳網絡中深度大于1,網絡深度是由協調器來決定的。網絡中,假設一個父節點有最大孩子節點數為Cm,網絡最大深度為Lm,一個父節點的最大路由數為Rm,可以計算網絡中每個節點的功能函數Cskip(d):
        d.JPG
        式中d是節點到協調器的深度。如果Cskip(d)的值為0,則表明此節點為葉子節點,而Cskip(d)的值大于0,則表明該節點可作為一個父節點,這個父節點可以接收子節點并根據它們是否具有路由能力來分配地址。具體過程是:首先一個子節點的地址被分配,子節點地址比父節點的地址多1,然后其余節點根據下式求出:
        An=Aparent+Cskip(d)*Rm+n (2)
        式中1≤n≤(Cm-Rm),Aparent代表父節點的地址。
        ZigBee協調器在上電后,首先要建立一個無線網絡。在協議棧中,通過函數ZDApp_NetworkInit()進行網絡初始化,系統檢測到ZDP任務的ZDO_NETWORK_INIT事件,調用處理函數ZDO_StartDevice()啟動網絡的組建。通過變量logicalType判斷設備類型,如為協調器,則調用ZStatus_t NLME_NetworkFormationRequest()來完成網絡的組建,同時該函數產生一個回調函數ZDO_Network Formation ConfirmCB(),通過該函數,根據系統消息判斷網絡組建是否成功。
        當網絡建立完成并允許新設備加入時,子設備(即子節點)才可以請求加入網絡。在協議棧中,子節點上電后調用ZDApp_Networkl nit()進行網絡初始化,之后調用NLME_NetworkDiscovery Request()來尋找射頻范圍內存在的ZigBee網絡,該函數會產生回調函數ZDO_Netwo rk Discovery ConfirmCB(),系統就是通過該函數來得到發現的網絡信息。在發現有已經建好的ZigBee網絡后,調用NLME_JoinRequest()加入網絡,同時產生回調函數ZDO_JoinConfirmCB(),通過該函數判斷加入網絡是否成功。路由器在網絡中負責信息的轉發,發現鄰居等,同時路由器必須在另一個路由的射頻范圍內,并且持續監聽網絡內傳遞的新信息。終端節點負責各種數據的采集與上傳以及接收下傳命令并執行,同時監聽網絡。
        3.2 自愈功能的實現
        如果在網絡的正常運行情況下,有路由器因故障離網,導致原有的路由線路破壞。ZigBee提供了實現網絡自愈功能的基礎,在用戶研發的軟硬件配合下,可以實現強大的網絡自愈功能,使得整個網絡不因個別節點的變動而能持續工作。終端節點在這種情況下,又會再次啟動發現網絡加入網絡的過程。但,前提是在終端節點的射頻范圍內存在著可用的路由器。在協議棧中,通過調用zb_ReadConfiguration()可以訪問非易失性存儲器NV中的信息,其中包括節點的設備類型logicalType,節點的IEEE地址,節點的啟動模式startOptions等重要信息,同時也可以通過調用zh_WriteComqguration()來寫入這些設備信息,能夠在協議棧中靈活的配置網絡節點,實現整個網絡的自啟動、以及自愈等功能,提高了網絡的穩定性、健壯性也同時提高了網絡的工作效率。
        3.3 所研發網絡的一個應用例子
        在像無人值守通信基站(或局站)等重要場合,需對基站的交流電壓、電流和溫濕度環境等參數實時監控。采用本網絡對基站的各種參數進行采集,軟件設計主要在Z_Stack協議棧的應用層上實現。各種參數信號經過外部調理電路處理后連接到的模擬IO口,的ADC轉換模塊采集各個參數并在內部進行定標和各種運算處理。處理后的數據部分供給采集子節點本地使用;部分需上傳的數據經過的系統觸發數據傳送事件,調用afStatus_tAF_DataRequest()將數據無線發送給協調器。
        協調器接收到各種測量參數對應的無線數據后直接發送至登記注冊過的端點。應用程序將通過AF_INCOMING_MSG_CMD OSAL消息事件處理接收到的數據包(包內主要有:數據組號group ID、發送節點的網絡地址、端點號、數據類型以及各種測量參數對應的數據)。協調器通過對數據包的分析,準確的提取出所需要的節點號以及各種測量參數數據,最后通過GPRS通信方式將采集的數據上傳到監控中心,實現對無人值守通信基站的交流電壓、電流和溫濕度環境等參數的實時監控。

        4 結束語
        文中分析了ZigBee協議體系結構各層主要功能,以及ZigBee網絡中兩種網絡拓撲結構;研究分析了TI的Z_Stack協議棧的開發與工作流程,以及、自愈組網的協議開發過程。基于CC2530無線單片機硬件平臺設計了一個具有自組網、自愈功能的ZigBee無線傳感器網絡,很好地實現了網絡的自組網和自愈功能,同時完成了對無人值守通信基站的交流電壓、電流和溫濕度環境等參數的實時監控。該系統應用廣泛,還可以用在其他工業遠程測控、路燈遙測遙控以及環境監測等無人值守領域,有非常好的應用前景和顯著的社會經濟效益。

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

        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 古丈县| 札达县| 朔州市| 客服| 增城市| 广宁县| 池州市| 抚远县| 博爱县| 长治县| 山阳县| 竹山县| 道真| 巴中市| 长汀县| 邻水| 镶黄旗| 富蕴县| 乌兰察布市| 嘉黎县| 兴隆县| 泗阳县| 龙南县| 桂平市| 施甸县| 景谷| 绍兴市| 通城县| 苍梧县| 东乡县| 团风县| 嘉祥县| 项城市| 大安市| 房产| 海晏县| 张家界市| 巢湖市| 锡林郭勒盟| 阿尔山市| 峨眉山市|