基于ZigBee技術的樹簇網絡監控系統設計
在終端設備嵌入式軟件中,操作系統模塊主要實現的是簡單的任務輪詢和工作調度的功能,同時還需實現節點硬件的初始化和功能配置。這個操作系統模塊不是真正意義上的操作系統,而是一個具有操作系統任務調度功能的模塊。該操作系統模塊在Z-Stack中由OSAL組件構成。操作系統模塊的任務調度具體方式是:首先,為需要實現的功能建立任務,且每一個任務有不同的事件。當操作系統運行時,會不間斷地輪詢所有任務的標志位。若標志位有效,則表明該任務有事件發生,調用任務事件處理函數,并在任務處理函數中,根據標志位,判斷是什么事件發生。然后,系統做出對應的操作,最后將標志位清零。
3.2 樹簇拓撲的形成及路徑發現與維護
由于文章篇幅有限,不能依次介紹方案中比較關鍵的應用層、硬件描述層、NWK層以及OSAL,以下著重描述NWK層的樹簇拓撲的形成以及路徑的發現與維護。
Z-Stack總共默認65 000個設備入網。為保證網絡中每個節點的地址是唯一的,使用了分布式尋址方案,由父節點分配子節點地址。此種算法保證了控制端的數據包能夠精確地發送到指定設備,子節點也只能有一個父節點,有助于網絡的可測量性。在網絡初始化之前,有幾個參數需要配置,分別是MAX_DEPTH、MAX_ROUTERS 和MAX_CHILDREN[6]。
MAX_DEPTH決定了網絡的最大深度。協調器在最頂層,位于深度0;它的子節點位于深度1,依此類推。MAX_CHILDREN決定了一個路由器或者一個協調器可以處理的最大子節點個數。MAX_ROUTERS決定了一個路由器或者一個協調器可以連接的最大路由器的個數。這個參數是 MAX_CHILDREN的一個子集,終端設備使用(MAX_CHILDREN-MAX_ROUTERS)剩下的地址空間。圖4為使用自定義棧配置后的網絡拓撲和節點地址分配示意圖。LAYER1最多20個節點,其中包含6個路由節點。
在網絡初始化過程中,協調器先將自身設置為一個簇標識符為0的簇頭,并向臨近的設備以廣播方式發送信標幀。接收到信標幀的設備(路由器或終端設備)向簇頭請求加入網絡,如果作為父節點的協調器允許該設備的加入,則將其作為子節點加入到它的鄰居表中,同時,請求加入的設備將協調器作為父節點加入到鄰居表中,成為從設備。已經加入網絡的路由器也廣播信標幀,以這種方式,直到所有設備都接入網絡。在接入網絡的同時,廣播信標幀的父節點會向接人的子節點分配唯一的 16位網絡短地址。圖5是網絡建立和節點入網流程。
電容屏相關文章:電容屏原理
評論