《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 設計應用 > 開發(fā)更具魯棒性的ZigBee
開發(fā)更具魯棒性的ZigBee
中國ic網
摘要: ZigBee在無線傳感器領域中受到了人們的密切關注,主要是由于ZigBee承諾能為可靠、高性價比和低功率的無線通信提供全球性統(tǒng)一規(guī)范。并且在目前的無線設備市場中,ZigBee聯(lián)盟經過不懈地努力已經將ZigBee的地位提升了一大步。僅僅用了幾年的時間,該聯(lián)盟就發(fā)展了200多家聯(lián)盟成員。ZigBee芯片組和協(xié)議棧已經可以很容易地從許多供貨商那里得到。去年市場上已經出現第一套ZigBee終端產品。
Abstract:
Key words :

        ZigBee無線傳感器領域中受到了人們的密切關注,主要是由于ZigBee承諾能為可靠、高性價比和低功率的無線通信提供全球性統(tǒng)一規(guī)范。并且在目前的無線設備市場中,ZigBee聯(lián)盟經過不懈地努力已經將ZigBee的地位提升了一大步。僅僅用了幾年的時間,該聯(lián)盟就發(fā)展了200多家聯(lián)盟成員。ZigBee芯片組和協(xié)議棧已經可以很容易地從許多供貨商那里得到。去年市場上已經出現第一套ZigBee終端產品。

  通過精心地定義ZigBee規(guī)范中的網絡和應用層,ZigBee聯(lián)盟希望獨立的設備制造商能夠開發(fā)出可以互操作的優(yōu)秀終端產品。成員們對ZigBee芯片組給予了很高的期望,希望能夠幫助OEM制造商進一步降低成本,從而為系統(tǒng)集成商和終端用戶提供低成本的終端產品。
  隨著市場需求的增長以及大量的志愿者投入研究ZigBee規(guī)范,現在已經到了將一個低成本、低功率的無線通信系統(tǒng)的可行性方案提供給人們的時候了。本文將討論設計和集成一個ZigBee方案時應該考慮的一些重要因素。文中的許多內容來自MaxStream公司在研發(fā)其首套ZigBee認證產品——XBee OEM無線模塊過程中所獲取的經驗。
  1. ZigBee網絡
  ZigBee定義了三種節(jié)點類型:協(xié)調器、路由器和終端設備。協(xié)調器可以通過選擇網絡的工作信道和個域網識別標志(PAN ID)來啟動一個ZigBee網絡。一旦網絡啟動,路由器和終端設備就能加入網絡。協(xié)調器和路由器都能通過網絡發(fā)射和路由數據,并且允許其它的路由器和終端設備加入。終端設備不能參與路由數據,因此在不發(fā)射和接收數據時可以休眠。當設備加入ZigBee
PAN時,設備間的父子關系即形成,加入的設備為子,允許加入的設備為父。一個簡單的ZigBee網絡如圖1所示。
  2. ZigBee尋址
  ZigBee設備支持兩種地址類型:一種是64位IEEE地址,另一種是16位網址。64位地址在所有ZigBee設備之中是唯一,其中包含一個由IEEE分配、也是全球唯一的24位制造商特定組織識別符(OUI)。
  當設備加入ZigBee個域網時,它可以從允許其加入的父設備上獲取16位網址。該網址在個域網內被規(guī)定為唯一。該網址用于數據傳輸和數據包路由。用于路由數據包的路由表存放著各個目標設備和下一跳設備的網絡地址。因此個域網的各設備都必須有明確且唯一的網絡地址,以保證數據能到達正確的設備。
  然而,在有些條件下一個設備的地址可能會改變,或者是多個節(jié)點可能接收到同一個地址。例如,如果終端設備被移除或失去與父設備的聯(lián)系,它就必須重新連接網絡,這可能導致它接收到一個新的地址。另外,如果協(xié)調器被一臺新設備所替換,新協(xié)調器會不知道哪些地址是之前的協(xié)調器分發(fā)的。新協(xié)調器分發(fā)給設備的地址很容易與已有的網址重疊。
  ZigBee聯(lián)盟正在加緊研究解決這些地址問題的對策,并將解決方案整合到ZigBee規(guī)范中去。但是,一些協(xié)議棧和模塊提供者,譬如MaxStream公司已經研發(fā)出解決這些問題的方法。
  3. ZigBee路由
  ZigBee包括一個用于AODV網狀路由的基本框架。如果一個設備需要向其它設備發(fā)送數據,它首先需要發(fā)現一條可能要經過多臺路由器才能到達目標設備的路由。網狀路由允許動態(tài)地建立、修改或替換傳輸路徑,從而保持設備間有一條可靠的路徑。
  然而,除網狀路由之外,ZigBee規(guī)范還經常依賴樹狀路由。在樹狀路由中,數據將在源設備和目標設備之間的“樹”狀路由上嚴格地按照從父到子或從子到父的路徑傳輸。
  當節(jié)點移動或刪除時路由可能出現問題。這時如果單個節(jié)點無法從一條路由中隔離開來,那么整個樹狀路由就無法定位故障點。而網狀網絡就能在現有路由發(fā)生故障時發(fā)現一條新路由。
  ZigBee協(xié)議棧按照規(guī)范采用樹狀和網狀路由的ZigBee 1.0標準而建立。兩種路由之間的交互是相當復雜的,而且協(xié)議棧之間的交互也是不斷變化的。但是,增強型ZigBee規(guī)范(2006)增加了一個nwkUseTreeRouting功能,該功能可以使整個樹狀路由徹底斷開,再由(NLME)路由發(fā)現請求(route-discovery-request)原語根據需要強制進行路由發(fā)現。這些功能可以解決與樹狀路由相關的問題,并且允許開發(fā)商充分發(fā)揮網狀路由的優(yōu)勢。
  4. ZigBee互操作性
  ZigBee規(guī)范包括一些可以用來定義各種網絡的配置功能。開發(fā)商可以很容易地配置以下參數:目標系統(tǒng)中的路由器和/或終端設備數量;安全級別;路由表和鄰居表規(guī)模;網絡最大深度(從協(xié)調器到最遠派生設備的連接深度);協(xié)調器/父路由器允許的子路由器和終端設備的最大數量。
  ZigBee聯(lián)盟研發(fā)出了為這些不同協(xié)議棧建立通用設置的公共框架-可配置參數表。為了完成框架(如家庭控制協(xié)議??蚣芫投x了開燈、關燈、或切換一個燈光的簇ID)內的共同任務,該框架還定義了一些稱作簇ID的接口。
  終端設備必須圍繞可互操作的同一框架來設計。因此,應用開發(fā)商必須設置他們的協(xié)議棧參數以匹配公共框架所規(guī)定的參數值,從而確保與采用同一框架的其它解決方案的互操作性。另外,開發(fā)商也可以為了滿足其設計而通過采用專用(定制)的框架來自由修改協(xié)議棧參數。不過,在專用框架中所定義的簇ID不具備與基于公共框架的設備互操作的能力。
  由于開發(fā)商具有選擇框架的靈活性,從而并非所有的ZigBee設備都能互操作。雖然這種靈活性一開始會在市場上引起一些混亂,但允許開發(fā)商決定其產品是否要與其他供應商的設備進行互操作。在不需要互操作性的場合,功能強大的ZigBee可以圍繞一個專用框架進行開發(fā),并剪裁協(xié)議棧參數來滿足特殊應用需求。
  5. ZigBee認證
  經認證的ZigBee硬件平臺(芯片組和模塊)和軟件層(PHY層、MAC層和網絡層)必須做ZigBee驗證平臺(ZCP)測試。通過ZCP認證的硬件平臺和軟件協(xié)議棧表明適用于ZigBee終端產品的研發(fā)。
  在ZigBee兼容平臺上開發(fā)的終端產品可以直接做產品認證測試。終端產品認證允許產品出現在ZigBee認證產品列表中,并打上ZigBee標識。ZigBee聯(lián)盟已經開發(fā)了相關測試標準來認證基于公共和專用框架的終端產品是否是合格的ZCP產品。
  尚未解決的ZigBee問題
  ZigBee規(guī)范正在繼續(xù)改進并將提供更多的功能,但同時ZigBee聯(lián)盟也認識到該規(guī)范還存在一些問題:
    1. 更改網絡地址
  如前所述,在ZigBee PAN中分配給節(jié)點的網絡地址可以改變,甚至在某些條件下會重名。這就使得網絡必須解決不可靠的尋址機制,以確保將數據發(fā)送到正確的設備中。
  ZigBee聯(lián)盟正在考慮改變尋址機制,以提供更具魯棒性的尋址機制。同時,包括MaxStream在內的一些模塊提供商研發(fā)出了基于唯一性64位地址的解決方案,能確??煽康臄祿鬏?。
  2. 固定工作信道
  由于ZigBee采用802.15.4 MAC/PHY規(guī)范中所規(guī)定的直序擴頻(DSSS)調制,因此可以工作在固定信道。在通過能量掃描篩選出具有較高能量的信道后選出工作信道。但是,一旦初始能量掃描完成后,在所選的信道質量變壞時ZigBee網絡無法重置新的信道。因為有許多設備(包括蜂窩電話、微波和802.11網絡)占用2.4GHz頻段,因此這可能是一個大問題。目前,終端設備開發(fā)商必須在其設計中解決干擾問題。ZigBee聯(lián)盟也在研究此問題的解決方案。ZigBee規(guī)范的新版本可能會解決此問題。
  3. 容量限制
  ZigBee剛開始打算用64K閃存。但是,對于需要可靠的數據傳輸、網狀組網、更高安全等級、低功率的終端設備等高級應用而言,這一空間將很難滿足802.15.4 MAC/PHY、ZigBee網絡層以及其它所期望的應用功能要求。隨著ZigBee的持續(xù)發(fā)展,先進的應用似乎需要遷移至帶有更多閃存的微控制器。
  ZigBee實現方案
  隨著市場需求的增長和ZigBee自身要素的改善,部署一個經認證的ZigBee方案將具有極高的價值。隨著ZigBee規(guī)范的最新進展,可以采用現有的ZigBee架構開發(fā)出可靠的ZigBee解決方案。開發(fā)商必須在從零開始研發(fā)自己的軟硬件還是集成已經驗證過的ZigBee模塊解決方案之間作出慎重選擇。
  為了開發(fā)一個魯棒的ZigBee解決方案,MaxStream公司在ZigBee規(guī)范方面付出了大量的時間和精力。以下一些建議都來自于我們的實際經驗,對那些打算采用ZigBee解決方案的開發(fā)商將有所裨益。
    1. 硬件選擇
  在開發(fā)ZigBee解決方案時,首先是要確定硬件平臺。通常,硬件平臺由一個芯片組或模塊組成。如前所述,ZigBee聯(lián)盟定義了一個用于平臺驗證的ZigBee ZCP,可用來驗證平臺是否支持ZigBee方案。如果ZigBee終端產品想攜帶ZigBee標識并作為ZigBee認證產品上市,所用的硬件平臺和ZigBee軟件協(xié)議棧必須被ZigBee聯(lián)盟認證為ZigBee兼容平臺。
  2. 采用模塊
  模塊提供了比芯片組更多的優(yōu)點。選用模塊可以為開發(fā)商節(jié)省成本,省去痛苦的RF前端設計、樣機設計、產品測試和EMC測試。模塊提供商已經通過了嚴格的應用測試和網絡協(xié)議棧測試,并且已經加入簡化ZigBee接口的一些功能。特別是MaxStream XBee模塊還提供了固件,這些固件提供了魯棒性的網狀組網、可靠尋址甚至信道遷移策略,為的是解決尚未解決的ZigBee問題。
  如果模塊固件不能滿足某個特定應用的需求,某些模塊提供商還提供了一個靈活的選擇。某些情況下(包括MaxStream XBee模塊),設計師能夠在模塊硬件上開發(fā)自己的應用,并定制滿足其需求的ZigBee應用。這樣的方案雖然需要一些固件開發(fā),但仍然節(jié)省了與RF設計、樣機設計和EMC測試相關的時間和成本。
  3. 采用芯片組
  如果采用芯片組,設計師必須準備支持無線設計所需的大量設計、測試和生產要求。在定制板上使用芯片組要求支持硬件生產工藝,包括板級測試、調試和返工。如果選用此方案,必須從IEEE獲得一個24位的OUI,以便為每個設備分配一個唯一的64位地址。
  當定制板采用芯片組時,設計師還必須選用一個ZigBee網絡層協(xié)議棧。設計師必須將協(xié)議棧連接到他們的硬件上,細心地測試ZigBee應用,并評估網絡性能。上述未解決的許多問題甚至所有的ZigBee問題都必須在應用中解決,這將大大地增加研發(fā)時間方面的開銷。
  4. 設備開發(fā)
  如果必須在芯片組或模塊平臺上開發(fā)定制固件,下面的步驟將會有用。
     5. 選擇框架類型
  在著手開發(fā)ZigBee設備前,設計師必須確定是公共框架還是專用框架更能滿足需求。設備是需要與與其它普通的ZigBee產品兼容,還是只適合特定的應用?協(xié)議棧參數是否需要調整到最佳性能?如果專用框架更合適,就需要向ZigBee聯(lián)盟申請一個專用框架。
  6. 確定路由策略
  開發(fā)商應該清楚是否允許使用樹狀路由。對于簡單的靜態(tài)網絡,樹狀路由將足夠。如果某些節(jié)點有可能去掉,或者需要可靠的數據傳輸,樹狀路由就顯得不足了。此時,就需要花些時間對協(xié)議棧何時調用路由發(fā)現進行評估。
  如果所選的ZigBee協(xié)議棧符合增強型ZigBee規(guī)范,應用層就可以利用路由發(fā)現請求原語和nwkUseTreeRouting屬性來控制路由發(fā)現和去除樹狀路由。如果采用的是網狀路由,開發(fā)商應該考慮當所有的路由表入口都被占用的情況下系統(tǒng)將如何執(zhí)行。因為ZigBee規(guī)范并不對老化路由和過期路由表條目進行監(jiān)管,因此一些ZigBee協(xié)議棧實現不會去除舊的路由表條目。一旦所有的路由表條目被占用,設備將不能再參與路由發(fā)現。如果協(xié)議棧無法老化或取代過期條目,應用層就應該加入自己的監(jiān)管措施來實現。
  7. 考慮固定信道操作
  對于許多應用,即便是存在突發(fā)干擾,ZigBee網絡也可以可靠地工作在固定信道上。但是,對于那些必須與其它系統(tǒng)共同工作在同一頻段的系統(tǒng),或者無法允許數據包偶然丟失的系統(tǒng),則有必要支持信道的遷移。因為目前的ZigBee規(guī)范還沒有定義信道遷移機制,應用開發(fā)商可以自行決定將網絡遷移到一個新信道的條件,并開發(fā)相應的實現方案。
  8. 克服尋址限制
  在許多應用中,目前的網絡地址分配機制是足夠的。但是,為了防止地址重復的可能,更具魯棒性的ZigBee解決方案應具有復位網絡地址的能力(如協(xié)調器被替換時)。
  由于設備的網絡地址不可靠而且會變化(例如,一個加電周期或復位后設備無法找到其父設備),應用層可能也需要一個能夠唯一識別每個節(jié)點的解決方案。
  為了確保將數據發(fā)送到正確的設備上,包括MaxStream XBee在內的一些ZigBee解決方案依賴于唯一的64位地址。如果采用這樣的方案,應用層中就必須有相應的配置功能,以便在傳送數據之前將64位地址轉換成16位的網絡地址。
  9. 測試
  測試應該包括驗證系統(tǒng)如何對本文所述的應用場景反應。當路由器關掉時系統(tǒng)有什么反應?在工作信道上出現干擾時系統(tǒng)將如何執(zhí)行?如果設備接收到一個新的網絡地址,該新地址如何被發(fā)現?需要重申的是,一些模塊和協(xié)議棧開發(fā)商已經開發(fā)出了解決這些問題的配置方案,從而大大減輕了應用開發(fā)商的開發(fā)負擔。
  本文小結
  雖然ZigBee在前進道路上面臨一些重要的問題,但ZigBee聯(lián)盟具有堅強的毅力、偉大的領導力,還有大批為標準升級積極貢獻的優(yōu)秀設計師。即使是初級階段,能夠為設計師提供強大的網絡層功能和應用層靈活性的ZigBee規(guī)范的重要基礎工作也已經完成。
  由于在嵌入式設備領域中有著強大的領導聯(lián)盟,ZigBee正成為嵌入式設備市場上的重要角色。目前ZigBee聯(lián)盟正在討論配置問題以便增加ZigBee價值,并試圖解決ZigBee規(guī)范中尚未解決的許多遺留問題。經過ZigBee認證的模塊和網絡協(xié)議棧正在開始面市,他們提供強大的網狀解決方案,并有效地解決了目前ZigBee規(guī)范中存在的許多(即便不是全部)限制。現在正是開始開發(fā)可靠的、低功率和更高性價比的ZigBee解決方案的時候了。
此內容為AET網站原創(chuàng),未經授權禁止轉載。