如何開發更具魯棒性的ZigBee解決方案
ZigBee在無線傳感器網絡領域中受到了人們的密切關注,主要是由于ZigBee承諾能為可靠、高性價比和低功率的無線通信提供全球性統一規范。并且在目前的無線設備市場中,ZigBee聯盟經過不懈地努力已經將ZigBee的地位提升了一大步。僅僅用了幾年的時間,該聯盟就發展了200多家聯盟成員。ZigBee芯片組和協議棧已經可以很容易地從許多供貨商那里得到。去年市場上已經出現第一套ZigBee終端產品。
本文引用地址:http://www.j9360.com/article/83400.htm通過精心地定義ZigBee規范中的網絡和應用層,ZigBee聯盟希望獨立的設備制造商能夠開發出可以互操作的優秀終端產品。成員們對ZigBee芯片組給予了很高的期望,希望能夠幫助OEM制造商進一步降低成本,從而為系統集成商和終端用戶提供低成本的終端產品。
隨著市場需求的增長以及大量的志愿者投入研究ZigBee規范,現在已經到了將一個低成本、低功率的無線網絡的可行性方案提供給人們的時候了。本文將討論設計和集成一個ZigBee方案時應該考慮的一些重要因素。文中的許多內容來自MaxStream公司在研發其首套ZigBee認證產品——XBee OEM無線模塊過程中所獲取的經驗。
ZigBee一覽
1. ZigBee網絡
ZigBee定義了三種節點類型:協調器、路由器和終端設備。協調器可以通過選擇網絡的工作信道和個域網識別標志(PAN ID)來啟動一個ZigBee網絡。一旦網絡啟動,路由器和終端設備就能加入網絡。協調器和路由器都能通過網絡發射和路由數據,并且允許其它的路由器和終端設備加入。終端設備不能參與路由數據,因此在不發射和接收數據時可以休眠。當設備加入ZigBee PAN時,設備間的父子關系即形成,加入的設備為子,允許加入的設備為父。一個簡單的ZigBee網絡如圖1所示。
2. ZigBee尋址
ZigBee設備支持兩種地址類型:一種是64位IEEE地址,另一種是16位網址。64位地址在所有ZigBee設備之中是唯一,其中包含一個由IEEE分配、也是全球唯一的24位制造商特定組織識別符(OUI)。
當設備加入ZigBee個域網時,它可以從允許其加入的父設備上獲取16位網址。該網址在個域網內被規定為唯一。該網址用于數據傳輸和數據包路由。用于路由數據包的路由表存放著各個目標設備和下一跳設備的網絡地址。因此個域網的各設備都必須有明確且唯一的網絡地址,以保證數據能到達正確的設備。
圖1:簡單的ZigBee網絡。
然而,在有些條件下一個設備的地址可能會改變,或者是多個節點可能接收到同一個地址。例如,如果終端設備被移除或失去與父設備的聯系,它就必須重新連接網絡,這可能導致它接收到一個新的地址。另外,如果協調器被一臺新設備所替換,新協調器會不知道哪些地址是之前的協調器分發的。新協調器分發給設備的地址很容易與已有的網址重疊。
ZigBee聯盟正在加緊研究解決這些地址問題的對策,并將解決方案整合到ZigBee規范中去。但是,一些協議棧和模塊提供者,譬如MaxStream公司已經研發出解決這些問題的方法。
3. ZigBee路由
ZigBee包括一個用于AODV網狀路由的基本框架。如果一個設備需要向其它設備發送數據,它首先需要發現一條可能要經過多臺路由器才能到達目標設備的路由。網狀路由允許動態地建立、修改或替換傳輸路徑,從而保持設備間有一條可靠的路徑。
然而,除網狀路由之外,ZigBee規范還經常依賴樹狀路由。在樹狀路由中,數據將在源設備和目標設備之間的“樹”狀路由上嚴格地按照從父到子或從子到父的路徑傳輸。
圖2:樹狀路由(左)和網狀路由(右)的演示。
當節點移動或刪除時路由可能出現問題。這時如果單個節點無法從一條路由中隔離開來,那么整個樹狀路由就無法定位故障點。而網狀網絡就能在現有路由發生故障時發現一條新路由。
ZigBee協議棧按照規范采用樹狀和網狀路由的ZigBee 1.0標準而建立。兩種路由之間的交互是相當復雜的,而且協議棧之間的交互也是不斷變化的。但是,增強型ZigBee規范(2006)增加了一個nwkUseTreeRouting功能,該功能可以使整個樹狀路由徹底斷開,再由(NLME)路由發現請求(route-discovery-request)原語根據需要強制進行路由發現。這些功能可以解決與樹狀路由相關的問題,并且允許開發商充分發揮網狀路由的優勢。
圖3:當所建通道上的一個節點失效時樹狀路由(左)和網狀路由(右)的性能。
4. ZigBee互操作性
ZigBee規范包括一些可以用來定義各種網絡的配置功能。開發商可以很容易地配置以下參數:目標系統中的路由器和/或終端設備數量;安全級別;路由表和鄰居表規模;網絡最大深度(從協調器到最遠派生設備的連接深度);協調器/父路由器允許的子路由器和終端設備的最大數量。
ZigBee聯盟研發出了為這些不同協議棧建立通用設置的公共框架-可配置參數表。為了完成框架(如家庭控制協議棧框架就定義了開燈、關燈、或切換一個燈光的簇ID)內的共同任務,該框架還定義了一些稱作簇ID的接口。
終端設備必須圍繞可互操作的同一框架來設計。因此,應用開發商必須設置他們的協議棧參數以匹配公共框架所規定的參數值,從而確保與采用同一框架的其它解決方案的互操作性。另外,開發商也可以為了滿足其設計而通過采用專用(定制)的框架來自由修改協議棧參數。不過,在專用框架中所定義的簇ID不具備與基于公共框架的設備互操作的能力。
由于開發商具有選擇框架的靈活性,從而并非所有的ZigBee設備都能互操作。雖然這種靈活性一開始會在市場上引起一些混亂,但允許開發商決定其產品是否要與其他供應商的設備進行互操作。在不需要互操作性的場合,功能強大的ZigBee可以圍繞一個專用框架進行開發,并剪裁協議棧參數來滿足特殊應用需求。
5. ZigBee認證
經認證的ZigBee硬件平臺(芯片組和模塊)和軟件層(PHY層、MAC層和網絡層)必須做ZigBee驗證平臺(ZCP)測試。通過ZCP認證的硬件平臺和軟件協議棧表明適用于ZigBee終端產品的研發。
在ZigBee兼容平臺上開發的終端產品可以直接做產品認證測試。終端產品認證允許產品出現在ZigBee認證產品列表中,并打上ZigBee標識。ZigBee聯盟已經開發了相關測試標準來認證基于公共和專用框架的終端產品是否是合格的ZCP產品。
路由器相關文章:路由器工作原理
路由器相關文章:路由器工作原理
評論