ZigBee基礎

發佈於2013年6月15日 -

本文節譯自Shahin Farahani所作的ZigBee Wireless Networks and Transceivers(ISBN:978-0-7506-8393-7)第一章,原文版權歸作者所有。譯文版權歸本人所有。本譯文亦用作本人本科綜合論文訓練的文獻翻譯部分。

本文將介紹ZigBee標準,該標準是爲短距離無線網絡設計的。本文旨在對ZigBee基本特徵的內容作出簡要的介紹,這些特徵主要包括網絡拓撲結構、頻段訪問機制以及協議各層的角色。

1 什麼是ZigBee?

ZigBee是一個定義了一套用於低速率短距離無線網絡的通信協議的標準。基於ZigBee的無線設備使用868MHz、915MHz和2.4GHz頻段,最大的數據率爲250Kbps。ZigBee是爲了電池驅動的應用設計的,這些應用往往具有低數據率、低功耗、長電池壽命的需求。在很多ZigBee的應用中,無線設備的活動時間是非常有限的,這些設備多數時候會啓用節電模式(或稱睡眠模式)。因此,使用ZigBee的設備,電池的壽命可以長達數年。

ZigBee可能的應用包括家庭內的病人監護系統。具體來說,病人的血壓和心律可以通過可穿戴的設備來測量。這些健康信息數據會通過ZigBee網絡傳送到本地的服務器,例如病人家中的電腦,在這裏,可以對數據進行初步分析,之後,這些重要的數據還會被送到護士或者醫生那裏來做進一步的診斷。

另一個ZigBee的例子是監控大型建築的結構健康程度。在這個例子中,一些支持ZigBee的傳感器(例如加速度計)安放在大樓中,這些傳感器可以組成一個單一的無線網,用來收集可以計算大樓結構健康度的信息,從而判斷是否有危險產生。例如,地震後,一棟大樓需要經過檢查合格後才能重新啓用,用傳感器收集數據可以降低檢查的花費。

ZigBee標準由ZigBee聯盟提出,聯盟囊括了數百家企業,包括半導體制造業、軟件業、OEM以及安裝集成業的廠商等。ZigBee聯盟成立於2002年,是一個開放的、自由的非盈利組織。ZigBee標準採用IEEE 802.15.4作爲物理層(PHY)和介質訪問控制層(MAC)的協議。因此,兼容ZigBee的設備也兼容IEEE 802.15.4標準。

使用無線通信在家庭或者工廠中收集信息或者進行控制的概念並不新,有不少標準都是針對短距離無線網絡的,例如IEEE 802.11 無線局域網(WLAN)和藍牙。這些標準在特定的應用中都有各自的優勢。而ZigBee標準則着重於非常低成本地實現低數據率的無線通信,同時還能做到極低的功耗。

ZigBee標準通過簡化通信協議和降低數據率來減少實現成本。相比於IEEE 802.11,實現ZigBee和802.15.4規範的要求要容易很多。

佔空比是指設備激活的時間佔總時間的比例。例如,如果一個設備每分鐘喚醒一次,每次喚醒60ms,則它的佔空比爲0.001,即0.1%。在很多ZigBee應用中,設備的佔空比都小於1%,以此確保長達數年的電池壽命。

2 ZigBee與藍牙、IEEE 802.11

將ZigBee與藍牙及IEEE 802.11 WLAN對比有助於理解ZigBee與和現有的標準具體有怎樣的不同。圖1總結了這三個標準的基本特點。

IEEE 802.11是一組協議,這裏選擇IEEE 802.11b是因爲它使用2.4GHz頻段,與藍牙和ZigBee相同。IEEE 802.11b有着高達11Mbps的數據率,它的典型應用是提供無線互聯網連接。在室內,IEEE 802.11b的通信範圍是30-100米。與之對應,藍牙有着低於3Mbps的數據率,它的室內通信範圍是2-10米。藍牙的典型應用是無線耳機。ZigBee有着最低的數據率,是這三個協議中最簡單的,同時也是最節能的。

ZigBee的低數據率意味着它並不適合用作無線互聯網連接,也不適合傳輸CD質量的音頻(因爲這需要超過1Mbps的數據率)。但是,如果我們的目標是傳輸簡單的指令或獲取諸如溫度溼度之類的傳感器數據,ZigBee則提供了最具有性價比的解決方案。

3 短距離無線網絡分類

短距離無線網絡可以分爲兩大類:無線局域網(WLAN)和無線個人局域網(WPAN)。

WLAN用於替換有線局域網,例如以太網(IEEE 802.3)。WLAN設備可以集成到有線局域網中,一旦設備連入,網絡並不區分設備是通過有線還是無線的方式接入的。WLAN的目標是最大化通信範圍和數據率。

相反,WPAN並不是爲了替代已有的局域網。WPAN的目的是在不需要其他設備的情況下,在個人操作空間(POS)內提供低功耗的無線通信手段。POS是人在手持無線設備時的一個球形區域,這個區域隨着人移動,半徑大約爲10米。

WPAN可以被分爲三類(見圖2):高速(HR)WPAN、中速(MR)WPAN和低俗(WPAN)。HR-WPAN的例子有IEEE 802.15.3,可以提供11-55Mbps的數據率,以實現實時視頻傳輸。MR-WPAN的例子是藍牙,1-3Mbps的數據率可以用作高質量的語音傳輸。ZigBee則是典型的LR-WPAN。

4 ZigBee和IEEE 802.15.4標準的關係

創建一個通信網絡(有線或無線)的常見方法是使用網絡層次的概念。每個層都在網絡中承擔特定的任務。通常,每個層之和它之上或之下的那層傳遞數據和命令。

ZigBee無線網絡協議層如圖三所示。ZigBee的協議層基於OSI(Open System Interconnect)的基本參考模型。將網絡協議劃分爲若干層有不少好處。例如,如果協議發生改變,替換或者修改受影響的層要比替換整個協議容易許多。此外,在應用程序開發中,較低層的協議和程序是彼此獨立的,可以由第三方提供,所以在開發的時候,只需要操作應用層即可。一個協議的軟件實現往往被稱作協議棧。

如圖3所示,最下面的兩層協議由IEEE 802.15.4標準定義。這一標準是由IEEE 802標準工作組最初於2003年提出的。IEEE 802.15.4定義了無線網絡的PHY和MAC層,它並不對更高層做出任何限制。

ZigBee標準僅定義了網絡層、應用層和安全層部分,PHY和MAC層採用了IEEE 802.15.4標準。因此,任何ZigBee兼容的設備也符合IEEE 802.15.4標準。

IEEE 802.15.4標準獨立於ZigBee標準,因此可以僅使用IEEE 802.15.4標準建立短距離無線網,而無需實現ZigBee協議層。在這種場景下,用戶在IEEE 802.15.4的PHY和MAC層之上開發應用程序(如圖4所示),這些自定義層通常會比ZigBee更簡單,並針對特定的應用。

使用私有協議的好處是無需實現完整的協議,可以降低內存等部分的開銷。但是實現完整的ZigBee協議則可以和其他廠商的設備互操作,而且更加穩定可靠。是否實現完整的ZigBee協議通常由應用程序和產品的規劃決定。

網絡的物理特性由PHY層決定,因此諸如工作頻率、數據率、接收器靈敏度以及設備類型都由IEEE 802.15.4標準規定。

5 工作頻率和數據率

最新的IEEE 802.15.4協議(2006年9月)規定了三個頻段:

  • 868-868.6MHz(868MHz頻段)
  • 902-928MHz(915MHz頻段)
  • 2400-2483.5MHz(2.4GHz頻段)

868MHz頻段在歐洲使用,其餘兩個頻段(915MHz和2.4GHz)是ISM頻段的一部分,915MHz主要在北美使用,2.4GHz在全球使用。

表1展示了IEEE 802.15.4標準對這三個頻段的具體規範。此外,IEEE 802.15.4標準要求如果收發機支持868MHz頻段,則它也必須支持915MHz頻段,反之亦然。因此,這兩個頻段通常會被標註爲868/915MHz。

IEEE 802.15.4對868/915MHz頻段規定了一個強制模式和兩個可選模式的規範。強制規範容易實現,但數據率較低(20Kbps和40Kbps)。在2006年引入兩個可選模式前,要想達到超過40Kbps的數據率的唯一辦法就是使用2.4GHz頻段。

如果用戶選擇實現這兩個可選模式,IEEE 802.15.4仍然要求設備兼容低數據率的強制規範,設備也必須能在這些模式中動態切換。

2.4GHz的收發機可以支持868/915MHz頻段,也可以不支持。868MHz頻段只有一個頻道,915MHz有10個頻道,2.4GHz有16個頻道。

2.4GHz的ISM頻段在全世界都可用,並且有着最高的數據率和最多的頻道數,因此很多製造商都使用這一頻段。不幸的是,IEEE 802.11b協議也在這一頻段工作,兩個協議共存在某些應用中可能會產生問題。此外,頻率越低,信號穿牆的能力就越好,因此有些用戶會選擇868/915MHz。

IEEE 802.15.4協議規定了三種調製方式:BPSK、ASK和O-QPSK。BPSK和O-QPSK採用相位調製,ASK採用幅度調製。

IEEE 802.15.4協議中的全部無線通信方法都利用了DSSS或PSSS技術的優點,這有助於提升接收器在多徑環境下的性能。

6 互操作性

ZigBee應用範圍很廣,因此不少廠商都提供了支持ZigBee的解決方案,基於ZigBee的設備和不同廠商的ZigBee設備的交互就顯得很重要。換句話說,設備應當可以互操作。互操作性是ZigBee協議棧的一項核心優點。甚至當消息加密時,ZigBee設備也是具備互操作性的。

7 設備類型

IEEE 802.15.4網絡中有兩種類型的設備:全功能設備(FFD)和精簡功能設備(RFD)。FFD設備具備能力實現IEEE 802.15.4標準中的全部功能,而RFD設備只具備有限的功能。例如,FFD設備可以和網絡中的其他任何設備通信,而RFD設備只能和FFD設備通信。RFD設備是爲非常簡單的應用設計的,例如控制開關的開合等。RFD設備對電力和內存的要求通常都要比FFD設備小。

8 設備角色

在一個IEEE 802.15.4網絡中,一個FFD設備支持三種角色:協調器(coordinator)、PAN協調器(PAN coordinator)和設備(device)。協調器是具備消息轉發能力的FFD設備。如果協調器還是PAN的控制器,則稱作PAN協調器。如果一個設備不是協調器,則被稱作設備。

ZigBee標準使用稍有不同的術語(如圖5所示)。ZigBee的協調器是IEEE 802.15.4中的PAN協調器,ZigBee的路由器是IEEE 802.15.4中的協調器,ZigBee中的終端設備是除了協調器、路由器以外的設備。ZigBee終端設備內存最小、處理能力最弱,往往也最便宜。

9 ZigBee網絡拓撲

網絡的構建由ZigBee網絡層管理。網絡必須是IEEE 802.15.4規定的兩種拓撲結構之一:星形或點對點。

在星形拓撲結構中(圖6),網絡中的每個設備只能和PAN協調器通信。一個典型的星形網絡構建是,被編程設定爲PAN協調器的FFD設備激活,並創建自己的網絡,它將選擇一個在信號範圍內,與其他網絡不同的PAN ID。

在點對點結構中(圖7),如果兩個設備距離足夠近,它們就直接通信。任何FFD設備都可以扮演PAN協調器的角色。確定哪個設備作爲PAN協調器的一個方法是,直接選擇建立網絡的FFD設備作爲PAN協調器。在點對點網絡中,所有的設備都依靠FFD設備傳遞信息,因爲RFD設備沒有這個能力。但是,RFD設備可以加入網絡,並且和網絡中的某個設備(協調器或路由器)通信。

一個點對點網絡可以通過在通信設備上加入不同的限制形成不同的形狀。如果沒有任何限制,則這樣的點對點網絡被稱作網狀網絡。ZigBee支持的另一種形式是樹形結構(圖8)。在這個例子中,ZigBee協調器創建最初的網絡,路由器形成樹枝並傳遞消息,終端設備則作爲葉節點不參與消息的路由。在樹形網絡中,路由器起到了擴大網絡的作用。

圖8也展示瞭如何通過傳遞消息擴大網絡規模。例如,設備A需要發送消息到B,但是A和B之間存在一個障礙物,信號被阻斷。樹形結構可以克服障礙,通過多跳的機制將消息傳遞給B。但這樣也可能帶來潛在的高延遲。

無論一個IEEE 802.15.4的拓撲結構如何,它總是由PAN協調器創建的。PAN協調器控制了整個網絡,並起到了如下作用:

  • 給網絡中的每個設備分配唯一的地址(16位或64位)
  • 初始化、終止網絡,以及控制消息的路由
  • 給網絡選擇唯一的PAN ID,以便同一個網絡內的設備可以使用16位的短地址仍然可以通信

整個網絡中只有一個PAN協調器,由於PAN協調器需要長時間工作,因此它通常不使用電池供電。其他設備通常則使用電池供電。最小的網絡包括兩個設備:一個PAN協調器和一個設備。

10 ZigBee和IEEE 802.15.4通信基礎

這部分包括一些通信基礎、數據傳輸方法以及在IEEE 802.15.4和ZigBee中用到的尋址。

10.1 CSMA-CA

IEEE 802.15.4實現了一個簡單的方法允許多個設備使用同樣的信道通信,這個方法叫做載波偵聽多路訪問-衝突避免(CSMA-CA)。在CSMA-CA中,如果一個設備想要發送數據,它首先需要進行空閒信道評估(CCA)來確保它選定的信道沒有被其他設備佔用。判斷一個信道是否被佔用的方法是測量該信道的能量譜或者檢測佔用該信道的信號類型。

當一個設備準備發送信號,它首先進入接收模式,偵測並估計選定信道的信號能量水平,這一過程叫做能量檢測(ED)。在能量檢測中,接收器並不解碼信號,而僅估計信號能量水平。如果信道內已經有信號,能量檢測機制並不判斷這個信號是不是IEEE 802.15.4信號。

另一種空閒信道評估的方法是載波偵聽(CS),和能量檢測不同的是,佔用信道的信號類型需要做檢測,如果信號是IEEE 802.15.4信號,即使信號能量低於閾值,設備也有可能認爲信道被佔用。

如果信道被佔用,設備將休眠一段隨機長度的時間然後重試,重複這樣的過程直到信道空閒或達到了最大重試次數。

10.2 有信標網絡與無信標網絡

信道接入機制分爲兩種:有競爭的和無競爭的。在基於競爭的信道接入中,所有設備通過CSMA-CA機制使用相同的信道傳輸數據,第一個發現信道未被佔用的設備可以傳輸。而在無競爭的信道接入中,PAN協調器給每個設備指定一個時隙,這叫做保證時隙(GTS)。

爲了提供GTS,PAN協調器需要保證網絡內的設備的時鐘都已同步。信標(Beacon)是網絡中用於同步節點時鐘的特殊格式消息。協調器可以發送信標以同步連接在自己的設備。這種網絡叫做有信標網絡。使用信標的缺點是,所有設備必須定時喚醒,監聽信標,同步之中,然後繼續睡眠。這意味着網絡中的很多設備僅僅爲了同步才喚醒,而並不執行其他任務。因此,有信標網絡中的設備通常更容易將電池的電量耗盡。

無信標網沒有GTS機制,因此也無法做到無競爭。這種網絡中,設備的電量消耗明顯少於有信標網絡,因爲設備喚醒得更少了。

10.3 數據傳輸方式

IEEE 802.15.4標準規定了三種數據傳輸方式:

  • 設備到協調器
  • 協調器到設備
  • 設備到設備

點對點結構中,三種方式都能使用。在星形網絡中,只有前兩種能使用。

10.3.1 傳輸數據到協調器

在有信標的網絡中,當一個設備需要傳輸數據到協調器時,設備通過信標同步,然後使用CSMA-CA機制傳輸數據。如果設備還請求協調器確認,協調器將在收到數據後發出確認響應。這一過程如圖9a所示。

圖9b展示了無信標網絡中數據傳輸的序列。在這種場景下,只要信道空閒,設備就傳輸數據。同樣的,確認信息也是可選的。

10.3.2 從協調器傳輸數據

圖10a展示了有信標網絡中從協調器到設備的數據傳輸步驟。如果協調器需要向特定設備發送數據,它會在信標中標明接下來需要向設備發送數據,接下來設備會發送數據請求信息告訴協調器已經準備好接收數據。協調器在收到請求後向設備發送數據。發送確認同樣是可選的。

在無信標網絡中(圖10b),協調器需要等候設備請求數據。如果設備請求了數據,但是協調器沒有數據發給設備,則協調器發送一個表示無數據的確認消息給設備,或者也可以發送載荷爲空的數據包。

10.3.3 點對點傳輸

在點對點結構中,每個設備都可以和其他設備直接通信。在很多應用中,點對點收發數據的設備都是同步的。

10.4 數據校驗

數據包是具備特定格式的一起傳輸的一組比特位。接收器需要機制來校驗收到的每一位是否正確。IEEE 802.15.4標準使用基於國際電信聯盟(ITU)循環冗餘校驗(CRC)的幀校驗序列(FCS)來檢測數據包中可能的錯誤。

10.5 尋址

網絡中的每個設備都需要一個唯一的地址。IEEE 802.15.4使用兩種方式尋址:

  • 16位短地址尋址
  • 64位擴展地址尋址

一個網絡可以選擇使用16位或16位尋址方式。短地址允許在單一網絡內通信。使用短地址尋址機制可以降低消息的長度,節省保存地址的內存空間。而PAN ID和短地址的結合可以實現在不同網絡中通信。

64位尋址意味着網絡內最多可有(2^{64})個設備。因此,在實踐中,一個IEEE 802.15.4網絡沒有設備數量的限制。

ZigBee協議的網絡層會在IEEE地址的基礎上加入一個16位的網絡地址。可以使用一個簡單的表格來對應每個設備的64位IEEE地址和16位網絡地址。網絡層實際使用網絡地址。

網絡中的每個設備有一個唯一的IEEE地址和一個唯一的網絡地址。每個設備可以連接最多240個設備,這些設備中的每個都由1到240的數字來區分,這個數字被稱作終端地址。