物聯網ZigBee的結構體系
相對于其他無線通信標準而言,ZigBee協議棧顯得更為緊湊和簡單。ZigBee協議棧它是由底層硬件模塊、中間協議層和高端應用層三大部分組成的。
1、底層硬件模塊
底層硬件模塊是ZigBee技術的核心模塊,所有嵌入ZigBee技術的設備都必須包括底層硬件模塊,它主要由射頻(Radio-Frequency,RF)、ZigBee無線收發器和底層控制模塊組成。
ZigBee標準協議定義了兩個物理層(PHY)標準,分別是2.4 GHz物理層和868/915 MHz物理層。兩個物理層都基于直接序列擴頻(Direct Sequence Spread Spectrun,DssS)技術,使用相同的物理層數據包格式,區別在于工作頻率、調制方式、信號處理過程和傳輸速率。
底層控制模塊定義了物理無線信道和MAC子層之間的接口,提供物理層數據服務和物理層管理服務。物理層數據服務從無線物理信道上收發數據,物理層管理服務維護一個由物理層相關數據組成的數據庫。數據服務主要包括:激活和休眠射頻收發器、收發數據、信道能量檢測(Energy Detect,ED)、鏈路質量指示(Link Quality Indication,LQI)和空閑信道評估(Clear Channel Assessment,CCA)。
(1)信道能量檢測為網絡層提供信道選擇依據,它主要測量目標信道中接收信號的功率強度,由于這個檢測本身不需要進行解碼操作,所以檢測結果是有效信號功率和噪聲信號功率之和。
(2)鏈路質量指示為MAC層或者應用層提供接收數據幀時無線信號的強度和質量信息,與信道能量檢測不同的是,它要對信號進行解碼,生成的是一個信噪比指標,這個信噪比指標和物理層數據單元一起提交給上層處理。
(3)空閑信道評估用于判斷信道是否空閑。ZigBee協議標準定義了三種空閑信道評估模式:第一種是判斷信道的信號能量,當信號能量低于某一個門限量就認為信道空閑;第二種是判斷無線信道的特征,這個特征主要包括兩方面,即擴頻信號特征和載波頻率;第三種模式是前兩種模式的綜合,同時檢測信號強度和信號特征,判斷信道是否空閑。
2、中間協議層
中間協議層由IEEE 802.154MAC子層、IEEE 802.15.4鏈路控制子(Logical Link Control,LLC)層、網絡(NWK)層,以及通過業務相關聚合子層(ServiceSpecific Convergence Sublayer,SSCS)協議承載的IEEE 802.2LLC子層(選用協議層)組成。
MAC子層使用物理層提供的服務實現設備之間的數據幀傳輸,而LLC子層在MAC子層的基礎上,在設備間提供面向連接和非連接的服務。MAC子層提供兩種服務:MAC層數據服務和MAC層管理服務,前者保證MAC協議數據單元在物理層數據服務中的正確收發,后者維護一個存儲MAC子層協議狀態相關信息的數據庫。MAC子層主要功能包括:
·作為協調器產生并發送信標幀,普通設備根據協調器的信標幀與協調器同步;
·支持無線信道通信安全;
·使用載波偵聽多址沖突避免(CSMA/CA)機制訪問信道;
·支持時隙預留機制(Guaranteed Time Slot,GTS);
·支持不同設備的MAC層間可靠傳輸。
NWK層負責建立和維護網絡連接,它獨立處理傳入數據請求、關聯(Assoclation)、解除關聯(Disassociation)和孤立通知請求。
SsCS和IEEE 802.2LLC只是ZigBee標準協議中可能的上層協議,并不在IEEE 802.154標準的定義范圍之內。SSCS為IEEE802.15.4的MAC層接入IEEE 802.2標準中定義的LLC子層提供聚合服務。LLC子層可以使用SSCS的服務接口訪問IEEE 802.15.4網絡,為應用層提供鏈路層服務。
3、高端應用層
高端應用層位于ZigBee協議棧的最上面,主要包括以下五個部分:應用支持(APS)子層、 ZigBee設備對象(ZDO)、ZigBee設備配置(ZDC)層、應用層(APL)和用戶應用程序。
(1)APS子層主要提供ZigBee端點接口。應用程序將使用該層打開或關閉一個或多個端點,并且獲取或發送數據。
(2)ZDO負責接收和處理遠程設備的不同請求。ZDO打開和處理目標端點接口,和其他的端點接口不同,目標端點接口總是在啟動時就被打開并假設綁定到任何發往該端口的輸入數據幀。
(3)ZigBee設備配置層提供標準的ZigBee配置服務,它定義和處理描述符請求。遠程設備可以通過ZDO請求任何標準的描述符信息,當接收到這些請求時,ZDO會調用配置對象以獲取相應的描述符值。
(4)APL提供高級協議棧管理功能。用戶應用程序使用此模塊來實現管理協議棧功能。
(5)用戶應用程序主要包括廠家預置的應用軟件,同時,為了給用戶提供更廣泛的應用,還提供了面向儀器控制、信息電器、通信設備的嵌入式應用編程接口庫,從而可以更廣泛地實現設備與用戶的應用軟件間的交互。