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