《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 設(shè)計(jì)應(yīng)用 > 開發(fā)更具魯棒性的ZigBee解決方案
開發(fā)更具魯棒性的ZigBee解決方案
Damon Stewart MaxStream公司
來源: 電子工程專輯
摘要: ZigBee在無線傳感器領(lǐng)域中受到了人們的密切關(guān)注,,主要是由于ZigBee承諾能為可靠、高性價(jià)比和低功率的無線通信提供全球性統(tǒng)一規(guī)范,。并且在目前的無線設(shè)備市場中,,ZigBee聯(lián)盟經(jīng)過不懈地努力已經(jīng)將ZigBee的地位提升了一大步,。
Abstract:
Key words :

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

  通過精心地定義ZigBee規(guī)范中的網(wǎng)絡(luò)和應(yīng)用層,ZigBee聯(lián)盟希望獨(dú)立的設(shè)備制造商能夠開發(fā)出可以互操作的優(yōu)秀終端產(chǎn)品,。成員們對ZigBee芯片組給予了很高的期望,,希望能夠幫助OEM制造商進(jìn)一步降低成本,從而為系統(tǒng)集成商和終端用戶提供低成本的終端產(chǎn)品,。
  隨著市場需求的增長以及大量的志愿者投入研究ZigBee規(guī)范,,現(xiàn)在已經(jīng)到了將一個(gè)低成本、低功率的無線通信系統(tǒng)的可行性方案提供給人們的時(shí)候了,。本文將討論設(shè)計(jì)和集成一個(gè)ZigBee方案時(shí)應(yīng)該考慮的一些重要因素,。文中的許多內(nèi)容來自MaxStream公司在研發(fā)其首套ZigBee認(rèn)證產(chǎn)品——XBee OEM無線模塊過程中所獲取的經(jīng)驗(yàn)。
  1. ZigBee網(wǎng)絡(luò)
  ZigBee定義了三種節(jié)點(diǎn)類型:協(xié)調(diào)器,、路由器和終端設(shè)備,。協(xié)調(diào)器可以通過選擇網(wǎng)絡(luò)的工作信道和個(gè)域網(wǎng)識(shí)別標(biāo)志(PAN ID)來啟動(dòng)一個(gè)ZigBee網(wǎng)絡(luò)。一旦網(wǎng)絡(luò)啟動(dòng),,路由器和終端設(shè)備就能加入網(wǎng)絡(luò),。協(xié)調(diào)器和路由器都能通過網(wǎng)絡(luò)發(fā)射和路由數(shù)據(jù),并且允許其它的路由器和終端設(shè)備加入,。終端設(shè)備不能參與路由數(shù)據(jù),,因此在不發(fā)射和接收數(shù)據(jù)時(shí)可以休眠。當(dāng)設(shè)備加入ZigBee PAN時(shí),,設(shè)備間的父子關(guān)系即形成,,加入的設(shè)備為子,允許加入的設(shè)備為父,。一個(gè)簡單的ZigBee網(wǎng)絡(luò)如圖1所示,。

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