解析ZigBee堆棧架構(gòu)
ZigBee標準定義了一種堆棧協(xié)議,這種協(xié)議能夠確保無線設(shè)備在低成本、低功耗和低數(shù)據(jù)速率網(wǎng)絡(luò)中的互操作性。本文簡要說明ZigBee標準中規(guī)定的ZigBee堆棧結(jié)構(gòu)。
本文引用地址:http://cafeforensic.com/article/83303.htmZigBee堆棧是在IEEE 802.15.4標準基礎(chǔ)上建立的,定義了協(xié)議的MAC和PHY層。ZigBee設(shè)備應(yīng)該包括IEEE802.15.4(該標準定義了RF射頻以及與相鄰設(shè)備之間的通信)的PHY和MAC層,以及ZigBee堆棧層:網(wǎng)絡(luò)層(NWK)、應(yīng)用層和安全服務(wù)提供層。圖1給出了這些組件的概況。
ZigBee堆棧層
每個ZigBee設(shè)備都與一個特定模板有關(guān),可能是公共模板或私有模板。這些模板定義了設(shè)備的應(yīng)用環(huán)境、設(shè)備類型以及用于設(shè)備間通信的簇。公共模板可以確保不同供應(yīng)商的設(shè)備在相同應(yīng)用領(lǐng)域中的互操作性。
設(shè)備是由模板定義的,并以應(yīng)用對象(Application Objects)的形式實現(xiàn)(見圖)。每個應(yīng)用對象通過一個端點連接到ZigBee堆棧的余下部分,它們都是器件中可尋址的組件。
從應(yīng)用角度看,通信的本質(zhì)就是端點到端點的連接(例如,一個帶開關(guān)組件的設(shè)備與帶一個或多個燈組件的遠端設(shè)備進行通信,目的是將這些燈點亮)。
圖1:ZigBee堆棧架構(gòu)。 |
端點之間的通信是通過稱之為簇的數(shù)據(jù)結(jié)構(gòu)實現(xiàn)的。這些簇是應(yīng)用對象之間共享信息所需的全部屬性的容器,在特殊應(yīng)用中使用的簇在模板中有定義。圖2就是設(shè)備及其接口的一個例子:
圖2:由模板定義好的設(shè)備描述。
每個接口都能接收(用于輸入)或發(fā)送(用于輸出)簇格式的數(shù)據(jù)。一共有二個特殊的端點,即端點0和端點255。端點0用于整個ZigBee設(shè)備的配置和管理。應(yīng)用程序可以通過端點0與ZigBee堆棧的其它層通信,從而實現(xiàn)對這些層的初始化和配置。附屬在端點0的對象被稱為ZigBee設(shè)備對象(ZD0)。端點255用于向所有端點的廣播。端點241到254是保留端點。
所有端點都使用應(yīng)用支持子層(APS)提供的服務(wù)。APS通過網(wǎng)絡(luò)層和安全服務(wù)提供層與端點相接,并為數(shù)據(jù)傳送、安全和綁定提供服務(wù),因此能夠適配不同但兼容的設(shè)備,比如帶燈的開關(guān)。
APS使用網(wǎng)絡(luò)層(NWK)提供的服務(wù)。NWK負責(zé)設(shè)備到設(shè)備的通信,并負責(zé)網(wǎng)絡(luò)中設(shè)備初始化所包含的活動、消息路由和網(wǎng)絡(luò)發(fā)現(xiàn)。應(yīng)用層可以通過ZigBee設(shè)備對象(ZD0)對網(wǎng)絡(luò)層參數(shù)進行配置和訪問。
802.15.4 MAC層
IEEE 802.15.4標準為低速率無線個人域網(wǎng)(LR-WPAN)定義了OSI模型開始的兩層。PHY層定義了無線射頻應(yīng)該具備的特征,它支持二種不同的射頻信號,分別位于2450MHz波段和868/915MHz波段。2450MHz波段射頻可以提供250kbps的數(shù)據(jù)速率和16個不同的信道。868/915MHz波段中,868MHz支持1個數(shù)據(jù)速率為20kbps的信道,915MHz支持10個數(shù)據(jù)速率為40kbps的信道。
MAC層負責(zé)相鄰設(shè)備間的單跳數(shù)據(jù)通信。它負責(zé)建立與網(wǎng)絡(luò)的同步,支持關(guān)聯(lián)和去關(guān)聯(lián)以及MAC層安全:它能提供二個設(shè)備之間的可靠鏈接。
關(guān)于服務(wù)接入點
ZigBee堆棧的不同層與802.15.4 MAC通過服務(wù)接入點(SAP)進行通信。SAP是某一特定層提供的服務(wù)與上層之間的接口。
ZigBee堆棧的大多數(shù)層有兩個接口:數(shù)據(jù)實體接口和管理實體接口。數(shù)據(jù)實體接口的目標是向上層提供所需的常規(guī)數(shù)據(jù)服務(wù)。管理實體接口的目標是向上層提供訪問內(nèi)部層參數(shù)、配置和管理數(shù)據(jù)的機制。
ZigBee的安全性
安全機制由安全服務(wù)提供層提供。然而值得注意的是,系統(tǒng)的整體安全性是在模板級定義的,這意味著模板應(yīng)該定義某一特定網(wǎng)絡(luò)中應(yīng)該實現(xiàn)何種類型的安全。
每一層(MAC、網(wǎng)絡(luò)或應(yīng)用層)都能被保護,為了降低存儲要求,它們可以分享安全鑰匙。SSP是通過ZD0進行初始化和配置的,要求實現(xiàn)高級加密標準(AES)。ZigBee規(guī)范定義了信任中心的用途。信任中心是在網(wǎng)絡(luò)中分配安全鑰匙的一種令人信任的設(shè)備。
ZigBee堆棧容量和ZigBee設(shè)備
根據(jù)ZigBee堆棧規(guī)定的所有功能和支持,我們很容易推測ZigBee堆棧實現(xiàn)需要用到設(shè)備中的大量存儲器資源。
不過ZigBee規(guī)范定義了三種類型的設(shè)備,每種都有自己的功能要求:ZigBee協(xié)調(diào)器是啟動和配置網(wǎng)絡(luò)的一種設(shè)備。協(xié)調(diào)器可以保持間接尋址用的綁定表格,支持關(guān)聯(lián),同時還能設(shè)計信任中心和執(zhí)行其它活動。一個ZigBee網(wǎng)絡(luò)只允許有一個ZigBee協(xié)調(diào)器。
ZigBee路由器是一種支持關(guān)聯(lián)的設(shè)備,能夠?qū)⑾⑥D(zhuǎn)發(fā)到其它設(shè)備。ZigBee網(wǎng)格或樹型網(wǎng)絡(luò)可以有多個ZigBee路由器。ZigBee星型網(wǎng)絡(luò)不支持ZigBee路由器。
ZigBee端終設(shè)備可以執(zhí)行它的相關(guān)功能,并使用ZigBee網(wǎng)絡(luò)到達其它需要與其通信的設(shè)備。它的存儲器容量要求最少。
然而需要特別注意的是,網(wǎng)絡(luò)的特定架構(gòu)會戲劇性地影響設(shè)備所需的資源。NWK支持的網(wǎng)絡(luò)拓撲有星型、樹型和網(wǎng)格型。在這幾種網(wǎng)絡(luò)拓撲中,星型網(wǎng)絡(luò)對資源的要求最低。
本文小結(jié)
ZigBee堆棧應(yīng)該可以提供ZigBee規(guī)范要求的所有功能,因此制造商的重點工作是開發(fā)實際的應(yīng)用。為了更加容易實現(xiàn),如果制造商使用某種公共模板,那么可用大多數(shù)現(xiàn)成的配置。如果沒有合適的公共模板,則可以充分利用其它模板已經(jīng)做過的工作創(chuàng)建自己的模板。
評論