摘要: 本文從ZigBee的發展歷史入手,探討了這種基于無線傳感器技術的網絡應用的協議棧、性能分析和各種應用領域,全面構建了完整的ZigBee技術應用與發展藍圖。
關鍵詞: 短距離無線通信;ZigBee;IEEE 802.15.4
概述
“ZigBee” 是什么?從字面上猜像是一種蜜蜂。因為“ZigBee”這個詞由“Zig”和“Bee”兩部分組成,“Zig”取自英文單詞“zigzag”,意思是走 “之”字形,“bee”英文是蜜蜂的意思,所以“ZigBee”就是跳著“之”字形舞的蜜蜂。不過,ZigBee并非是一種蜜蜂,事實上,它與藍牙類似是一種新興的短距離無線通信技術,國內也有人翻譯成“紫蜂”。下面就讓我們一起進入這只蜜蜂的世界,與蜂共舞吧!
這只蜜蜂的來頭還是要從它的歷史開始說起,早在上世紀末,就已經有人在考慮發展一種新的通信技術,用于傳感控制應用(sensor and control),這個想法后來在 IEEE 802.15工作組當中提出來,于是就成立了TG4工作組,并且制定了規范IEEE 802.15.4。但是IEEE 802的規范只專注于底層,要達到產品的互操作和兼容,還需要定義高層的規范,于是2002年ZigBee Alliance成立,正式有了“ZigBee”這個名詞。兩年之后,ZigBee的第一個規范ZigBee V1.0誕生,但這個規范推出的比較倉促,存在一些錯誤,并不實用。此后ZigBee Alliance又經過兩年的努力,推出了新的規范ZigBee 2006,這是一個比較完善的規范。據聯盟最新的消息,今年年底將會發布更新版本的規范 ZigBee 2007,這個版本增加了一些新的特性。
從ZigBee的發展歷史可以看到,它和IEEE 802.15.4有著密切的關系,事實上ZigBee的底層技術就是基于IEEE 802.15.4的,因此有一種說法認為ZigBee和IEEE 802.15.4是同一個東西,或者說“ZigBee”只是IEEE 802.15.4的名字而已,其實這是一種誤解。實際上ZigBee和IEEE 802.15.4的關系,有點類似于WiMAX和IEEE 802.16,Wi-Fi和IEEE 802.11,Bluetooth和IEEE 802.15.1。“ZigBee”可以看作是一個商標,也可以看作是一種技術,當把它看作一種技術的時候,它表示一種高層的技術,而物理層和MAC層直接引用IEEE 802.15.4。事物是不斷的發展變化的,尤其是通信技術,可以想象將來的ZigBee可能不會使用IEEE 802.15.4定義的底層,就跟藍牙(Bluetooth) 宣布下一代底層采用UWB技術一樣,但是“ZigBee”這個商標以及高層的技術還會繼續保留。
ZigBee協議棧速讀
我們無法預料將來ZigBee會基于怎樣的底層技術,只好從它現在的底層——IEEE 802.15.4開始了解,IEEE 802.15.4包括物理層和 MAC層兩部分。ZigBee工作在三種頻帶上,分別是用于歐洲的868MHz頻帶,用于美國的915MHz頻帶,以及全球通用的2.4GHz頻帶,但這三個頻帶的物理層并不相同,它們各自的信道帶寬分別是0.6MHz, 2MHz和5MHz,分別有1個,10個和16個信道。不同頻帶的擴頻和調制方式也有所區別,雖然都使用了直接序列擴頻(DSSS)的方式,但從比特到碼片的變換方式有比較大的差別;調制方面都使用了調相技術,但868MHz和 915MHz頻段采用的是BPSK,而2.4GHz頻段采用的是OQPSK。我們可以以2.4GHz頻段為例看看發射機基帶部分的框圖(如圖1),可以看到物理層部分非常簡單,而IEEE 802.15.4芯片的低價格正是得益于底層的簡單性。可能我們會擔心它的性能,但我們可以再看看它和 Bluetooth/IEEE 802.15.1以及WiFi/IEEE 802.11的性能比較(如圖2),在同樣比特信噪比的情況下, IEEE 802.15.4要優于其他兩者。直接序列擴頻技術具有一定的抗干擾效果,同時在其他條件相同情況下傳輸距離要大于跳頻技術。在發射功率為 0dBm的情況下,Bluetooth通常能有10m作用范圍,而基于IEEE 802.15.4的ZigBee在室內通常能達到30~50m作用距離,在室外如果障礙物較少,甚至可以達到100m作用距離;同時調相技術的誤碼性能要優于調頻和調幅技術。因此綜合起來,IEEE 802.15.4具有性能比較好的物理層。另一方面,我們可以看到IEEE 802.15.4的數據速率并不高,對于2.4GHz頻段只有250kb/s,而868MHz頻段只有 20kb/s,915MHz頻段只有40kb/s。因此我們完全可以把它歸為低速率的短距離無線通信技術。
圖1 IEEE 802。15.4 物理層2.4GHz頻段發射機基帶框圖
圖2 幾種無線通信技術性能比較
物理層的上面是MAC層,它的核心是信道接入技術,包括時分復用GTS技術和隨機接入信道技術CSMA/CA。不過ZigBee實際上并沒有對時分復用GTS技術進行相關的支持,因此我們可以暫不考慮它,而專注于CSMA/CA。ZigBee/IEEE 802.15.4的網絡所有節點都工作在同一個信道上,因此如果鄰近的節點同時發送數據就有可能發生沖突。為此MAC層采用了CSMA/CA的技術,簡單來說,就是節點在發送數據之前先監聽信道,如果信道空閑則可以發送數據,否則就要進行隨機的退避,即延遲一段隨機時間,然后再進行監聽,這個退避的時間是指數增長的,但有一個最大值,即如果上一次退避之后再次監聽信道忙,則退避時間要增倍,這樣做的原因是如果多次監聽信道都忙,有可能表明信道上的數據量大,因此讓節點等待更多的時間,避免繁忙的監聽。通過這種信道接入技術,所有節點競爭共享同一個信道。在MAC層當中還規定了兩種信道接入模式,一種是信標(beacon)模式,另一種是非信標模式。信標模式當中規定了一種“超幀”的格式,在超幀的開始發送信標幀,里面含有一些時序以及網絡的信息,緊接著是競爭接入時期,在這段時間內各節點以競爭方式接入信道,再后面是非競爭接入時期,節點采用時分復用的方式接入信道,然后是非活躍時期,節點進入休眠狀態,等待下一個超幀周期的開始又發送信標幀。而非信標模式則比較靈活,節點均以競爭方式接入信道,不需要周期性的發送信標幀。顯然,在信標模式當中由于有了周期性的信標,整個網絡的所有節點都能進行同步,但這種同步網絡的規模不會很大。實際上,在ZigBee當中用得更多的可能是非信標模式。
MAC層往上就屬于ZigBee 真正定義的部分了,我們可以參看一下ZigBee的協議棧(圖3)。底層技術,包括物理層和MAC層由IEEE 802.15.4制定,而高層的網絡層、應用支持子層(APS)、應用框架(AF)、ZigBee設備對象(ZDO)和安全組件(SSP),均由ZigBee Alliance所制定。