物聯(lián)傳媒 旗下網(wǎng)站
登錄 注冊

如何在創(chuàng)建ZigBee應(yīng)用時做出正確的選擇

作者:電子工程專輯 Zachary Smith
來源:RFID世界網(wǎng)
日期:2005-09-22 10:18:28
摘要:如何在創(chuàng)建ZigBee應(yīng)用時做出正確的選擇

低功耗、低成本的ZigBee無線網(wǎng)絡(luò)標準使得把無線通信功能嵌入到日用家電成為可能。它的支持者宣稱,該標準將在家庭和樓宇自動化、節(jié)能甚至國土安全領(lǐng)域開拓豐富的新市場。

盡管ZigBee v1.0版規(guī)范已經(jīng)得到最終批準,但對于打算進入這個市場的公司來說,該協(xié)議不是能以一種規(guī)格適應(yīng)所有應(yīng)用的“萬能藥”。在其最基礎(chǔ)層,ZigBee確保了與其它符合標準的產(chǎn)品的互操作性。而與ZigBee的潛在應(yīng)用非常之廣一樣,開發(fā)人員必須權(quán)衡的問題也非常之多,包括更深層的應(yīng)用、架構(gòu)和平臺等。

ZigBee標準提供了網(wǎng)絡(luò)、安全和應(yīng)用支持服務(wù),這些服務(wù)工作在IEEE 802.15.4媒體存取控制(MAC)和物理層(PHY)無線標準之上。它采用了一整套技術(shù)來實現(xiàn)可擴展、自組織、自恢復(fù)的網(wǎng)絡(luò),這種網(wǎng)絡(luò)可以管理各種各樣的數(shù)據(jù)傳輸模式(見圖1)。

圖1:ZigBee標準提供了在
MAC和PHY層之上的網(wǎng)絡(luò)、安全和
應(yīng)用支持服務(wù)。

盡管ZigBee常常被默認為無線網(wǎng)格網(wǎng)絡(luò),但該標準實際上支持多種網(wǎng)絡(luò)拓撲,包括星型、簇樹型(cluster tree)或星/網(wǎng)格混合型網(wǎng)絡(luò)(見圖2)。因此,開發(fā)人員首先要考慮的是“哪種網(wǎng)絡(luò)結(jié)構(gòu)最適合我的應(yīng)用需要?”

如果數(shù)據(jù)可靠性是關(guān)鍵要求,那么網(wǎng)格網(wǎng)絡(luò)架構(gòu)針對固有的不可知缺陷提供了最佳防護,這些缺陷有可能導(dǎo)致任何無線環(huán)境(例如存在RF衰減、電磁干擾和多徑信號的情況)中的信號質(zhì)量下降。通過把ZigBee接收器和發(fā)射器放得更加靠近,所有這三種條件的負面效果將會減輕。網(wǎng)格網(wǎng)絡(luò)的冗余通道會確保提供替代的數(shù)據(jù)通道,從而避免單節(jié)點故障。

其它應(yīng)用也許需要ZigBee路由器來擴展網(wǎng)絡(luò)的工作范圍,其中路由器將充當因為相距太遠而不能直接通信的節(jié)點之間的中繼器。此外,這種部署方案可能依賴于電池供電的路由器,所以需要相當數(shù)量的“睡眠”時間以增加它們的使用壽命。例如,在一個農(nóng)作物監(jiān)視網(wǎng)絡(luò)或者類似的農(nóng)業(yè)應(yīng)用中,簇樹型結(jié)構(gòu)也許是最好的選擇。它可以把多個子網(wǎng)絡(luò)匯聚成一個長距離的ZigBee廣域網(wǎng)。在這個廣域網(wǎng)中,低數(shù)據(jù)率的通信流沿著樹進行傳輸,而只有當需要發(fā)送或接收適當子網(wǎng)之間的數(shù)據(jù)時才喚醒電池供電的路由器。反之,一些較短距離的應(yīng)用更適合采用星型拓撲,因為它可以免除網(wǎng)格網(wǎng)絡(luò)的路由通信負擔。

互操作性

盡管ZigBee是一個開放標準,但它也賦予了OEM很大的自由度,允許他們決定自己的產(chǎn)品應(yīng)該在多大程度上向第三方供應(yīng)商開放。因為ZigBee標準只定義了網(wǎng)絡(luò)、安全和應(yīng)用接口層,所以開發(fā)商可以購買整個ZigBee協(xié)議棧,包括針對特定產(chǎn)品的應(yīng)用類(profile),或者只許可實現(xiàn)基本的網(wǎng)絡(luò)級互操作性的聯(lián)網(wǎng)層。

在應(yīng)用層,開發(fā)商必須決定是采用公共的應(yīng)用類還是開發(fā)自己專有的類。ZigBee v1.0已經(jīng)為照明應(yīng)用定義了基本的公共類,并正在制定針對HVAC、工業(yè)傳感器和其它傳感器的應(yīng)用類。任何公司都可以設(shè)計與支持公共類的產(chǎn)品相兼容的產(chǎn)品。例如,一個采用公共ZigBee照明類的熒光燈鎮(zhèn)流器供應(yīng)商可以與采用相同類的第三方燈開關(guān)調(diào)光器實現(xiàn)互操作。開發(fā)人員可以對該公共類加入他們自己的看法和感覺。ZigBee設(shè)備采用應(yīng)用對象進行建模,這些應(yīng)用對象通過交換類對象和它們的屬性實現(xiàn)與其它設(shè)備的通信。

盡管這看起來同ZigBee的開放精神相矛盾,但一些OEM也會開發(fā)不在應(yīng)用層提供互操作性的產(chǎn)品。開發(fā)商可以設(shè)計專有的應(yīng)用類,以創(chuàng)造只有單一供應(yīng)商的設(shè)備,或者選擇第三方設(shè)備。ZigBee定義了一個抽象接口,而平臺供應(yīng)商提供了應(yīng)用編程接口(API),該API定義了應(yīng)用如何被集成到ZigBee協(xié)議棧的規(guī)則。一個專有的ZigBee系統(tǒng)仍然可以在網(wǎng)絡(luò)層上受益于第三方產(chǎn)品制造商。ZigBee底層棧的互操作性提供了數(shù)據(jù)路由、媒體存取控制、網(wǎng)絡(luò)形成及維護、設(shè)備和服務(wù)發(fā)現(xiàn)等功能。

數(shù)據(jù)如何進行傳輸是開發(fā)人員考慮的另一個關(guān)鍵因素,因為ZigBee沒有定義傳輸層。開發(fā)人員必須決定到底是自己創(chuàng)建傳輸機制,還是使用一個帶有內(nèi)置傳輸層的ZigBee芯片來創(chuàng)建他們的應(yīng)用。例如,Ember公司連同ZigBee協(xié)議棧一道提供了一個傳輸層,這有助于簡化應(yīng)用開發(fā)過程并確??煽康亩说蕉讼鬟f。該傳輸層提供了開發(fā)人員可以據(jù)此定義專有ZigBee類的框架。

安全性

大部分ZigBee解決方案將需要某種級別的安全性。ZigBee提供了一套基于128位AES算法的安全類和軟件,并集成了802.15.4的安全元素。ZigBee協(xié)議棧類為MAC、網(wǎng)絡(luò)和應(yīng)用層定義了安全性。它的安全服務(wù)包括針對關(guān)鍵進程建立和傳輸、設(shè)備管理和框架保護的方法。

如果開發(fā)人員選擇使用一個公共的ZigBee類,那么就已經(jīng)為其應(yīng)用做出了安全決策,因為在該類中已經(jīng)對安全性進行了預(yù)定義。即使開發(fā)人員打算創(chuàng)建一個專有類的應(yīng)用,他仍可以在若干個ZigBee預(yù)定義的棧類中挑選一種安全模式。

在這個層上,開發(fā)人員需要決定這樣一些問題:是否需要對數(shù)據(jù)幀的載荷進行加密,以及附著在數(shù)據(jù)幀末尾的認證碼長度(8、16或64位,等等)。基本的應(yīng)用也許不需要認證,因而可以受益于一個較小的數(shù)據(jù)包載荷。這些數(shù)據(jù)完整性方面的選項使得開發(fā)人員可以在消息保護和額外開銷之間進行權(quán)衡。

開發(fā)人員還必須決定在哪個層上施加安全機制:在MAC層、網(wǎng)絡(luò)層還是應(yīng)用層。如果應(yīng)用需要盡可能強大的安全保護,那么就在應(yīng)用層保護它。此處實施的安全措施采用了一個會話密鑰,它只能被另一個擁有該鑰匙的設(shè)備所認證和解密。這種方法既能防止內(nèi)部攻擊也能防止外部攻擊,但需要更多的存儲器來實現(xiàn)它。

在MAC層和網(wǎng)絡(luò)層的安全性實質(zhì)上服務(wù)于相同的目的:確保單跳傳輸?shù)陌踩AC層仲裁對共享媒介的訪問并控制相鄰設(shè)備之間的單跳傳輸。ZigBee聯(lián)盟添加了一個網(wǎng)絡(luò)層安全選項以便加入在MAC層無法實現(xiàn)的功能,包括拒絕不能被驗證的數(shù)據(jù)幀的能力。這兩個安全層采用的是該網(wǎng)絡(luò)上所有ZigBee設(shè)備都共享的全局密鑰。MAC層和網(wǎng)絡(luò)層的安全性適合需要防止對特定基礎(chǔ)設(shè)施攻擊的應(yīng)用,例如防止一個非法設(shè)備惡意侵入網(wǎng)絡(luò)。如果開發(fā)人員需要在兩個設(shè)備之間建立路由,而該網(wǎng)絡(luò)層的框架又是不安全的,那么非法設(shè)備可能會截取數(shù)據(jù)包。

圖2:ZigBee支持多種網(wǎng)絡(luò)拓撲,
包括星型、集群樹型或星/網(wǎng)格混
合型網(wǎng)絡(luò)。

ZigBee安全性還引入了一個“信用中心(Trust Center)”的概念,它允許設(shè)備進入網(wǎng)絡(luò),然后分配密鑰,從而確保設(shè)備之間端到端的安全性。此處,開發(fā)人員必須根據(jù)他們的應(yīng)用從兩種信用中心模式之間選擇一種:住宅或商用。住宅模式消耗資源少,但不建立密鑰或隨著網(wǎng)絡(luò)規(guī)模而擴展。商用模式建立并維護密鑰,而且具有良好的擴展性,但其代價是要消耗相當多的存儲器。

平臺考慮因素

ZigBee提供了一個標準化的網(wǎng)絡(luò)和應(yīng)用框架,開發(fā)人員可以在此基礎(chǔ)上建立應(yīng)用而無須擔憂聯(lián)網(wǎng)和RF問題的煩擾。然而,單靠其自身,ZigBee標準化框架不能保證產(chǎn)品的順利開發(fā)。為了創(chuàng)建兼容ZigBee的應(yīng)用,這個市場的不同供應(yīng)商提供了各種各樣的產(chǎn)品,包括RF收發(fā)器、微控制器、閃存ROM、供應(yīng)商專有的協(xié)議棧和應(yīng)用開發(fā)工具。因此,開發(fā)人員必須選擇是用多家供應(yīng)商的組件創(chuàng)建自己的ZigBee解決方案,還是在一個集成硬件/軟件平臺上建立自己的應(yīng)用。由于前一種方法涉及艱難的集成工作,因此大部分開發(fā)人員將可能傾向于后一種方法。

他們必須做出的第一個決定是在芯片和聯(lián)網(wǎng)軟件層次上。最大的挑戰(zhàn)起源于硬件和聯(lián)網(wǎng)軟件之間的復(fù)雜性和不兼容性。在開發(fā)一個新應(yīng)用時發(fā)現(xiàn)的問題很少只局限于一個協(xié)議棧層。例如,在一個原型設(shè)計的MAC層中發(fā)現(xiàn)的一個故障很少能夠被網(wǎng)絡(luò)層提供商檢測到并進行調(diào)試。因而,開發(fā)人員必須仔細考慮他們所選平臺的集成深度。

一個ZigBee解決方案需要一個RF收發(fā)器、一個針對應(yīng)用處理的微控制器或DSP和一個ZigBee網(wǎng)絡(luò)棧。直到最近,大部分系統(tǒng)都是來自于多家供應(yīng)商合作伙伴的多芯片、多軟件解決方案。目前,新一代的全集成、單供應(yīng)商平臺正在進軍該市場。多供應(yīng)商平臺有時可以提供較低的前期成本優(yōu)勢。但是,一個單一來源的平臺雖然常常更昂貴,卻可讓開發(fā)人員避免由不同供應(yīng)商的硬件和軟件產(chǎn)品組成的解決方案所固有的麻煩和產(chǎn)品開發(fā)延遲。

開發(fā)人員還必須考慮網(wǎng)絡(luò)棧的深度。一般來說,網(wǎng)絡(luò)棧越深,開發(fā)工作越容易。一個提供從物理網(wǎng)絡(luò)層、傳輸層直到ZigBee類的網(wǎng)絡(luò)棧將使開發(fā)人員不必理會網(wǎng)絡(luò)的內(nèi)在工作機理,從而允許他們集中精力于應(yīng)用開發(fā)上。例如,一個用混合供應(yīng)商解決方案建立的ZigBee應(yīng)用可能需要開發(fā)人員計算他們的應(yīng)用將如何處理節(jié)點之間丟失的網(wǎng)絡(luò)包。這類復(fù)雜的網(wǎng)絡(luò)問題已經(jīng)在單一來源、全棧平臺中得到考慮。

工具的選擇也可能成就或毀壞一項ZigBee開發(fā)工作。開發(fā)人員需要仔細考慮他們平臺的開發(fā)環(huán)境的廣度和功能。供應(yīng)商提供全套的開發(fā)工具是很重要的,它應(yīng)該具備多節(jié)點無線半導(dǎo)體、網(wǎng)絡(luò)軟件、軟件工具、培訓(xùn)和技術(shù)支持。此外,該工具應(yīng)該是一個集成環(huán)境的一部分,此集成環(huán)境具備通用接口或者是一系列獨立工具的集合。最后,開發(fā)環(huán)境應(yīng)該包括用于調(diào)試的充分工具。

作者: Zachary Smith
首席軟件設(shè)計師
Ember公司