天天看點

zigbee無線傳感網技術與應用開發v2.0_物聯網通訊協定——Zigbee一、什麼是Zigbee二、Zigbee工作原理2.1、實體層2.2、MAC層2.3、網絡層2.4、應用層三、Zigbee優勢

一、什麼是Zigbee

 ZigBee是一種新興的短距離、低速率無線網絡技術。具有成本低、體積小、能量消耗小和傳輸速率低等優勢。

 ZigBee是介于無線辨別技術和藍牙之間的一種技術,主要用于近距離無線連接配接。它有自己的無線電标準,在數千個微小的傳感器之間互相協調實作通信。這些傳感器隻需要很少的能量,以接力的方式通過無線電波将資料從一個傳感器傳到另一個傳感器,是以它們之間的通信效率非常高。

二、Zigbee工作原理

ZigBee是一組基于IEEE 802.15.4無線标準研制開發的有關組網、安全和應用軟體方面的通信技術。IEEE 802.15.4是IEEE确定低速無線個人區域網路的标準,這個标準定義了實體層(Physical Layer,PHY)和媒體接入控制層(Media Access Control Layer,MAC)。ZigBee聯盟對其網絡層(Network Layer)和應用層(Application Layer)進行了标準化。應用層的開發應用根據使用者自己的應用需要,對其進行開發利用,是以該技術能夠為使用者提供機動、靈活的組網方式。

2.1、實體層

  實體層定義實體無線信道和MAC層之間的接口,提供實體層資料服務和實體層管理服務。實體層資料服務是從無線實體信道上收發資料,實體層管理服務維護一個由實體層相關資料組成的資料庫。IEEE 802.15.4定義了2.4 GHz和868/915 MHz兩個實體層,它們基于直接序列擴頻(Direct Sequence Spread Spectmm,DSSS)資料包格式,它們在工作頻帶、擴頻參數、資料參數和适用區域等方面都存在着一定的差異。

  ZigBee實體層分組結構:其中前導碼4B,主要用于前導同步;分組定界1B,标志分組的開始;實體層頭1B,表示資料單元的長度;資料單元用于承載傳輸資料。

2.2、MAC層

  IEEE802系列标準将資料鍊路層分成邏輯鍊路控制(L09 iocl Link Control,LLC)和媒介接入控制(Media Access Control,MAC)兩個子層。其中,LLC子層在IEEE 802.6中定義為IEEE 802标準系列共用,而MAC子層協定依賴于各自的實體層。

  IEEE 802.15.4的MAC層支援多種LLC标準,通過SSCS(Service-Speci6c Convergence Sub-layer)務相關會聚子層協定承載IEEE 802.2類型的LLC标準,且允許其他LLC标準直接使用IEEE 802.15.4MAC層的服務。

  考慮到Zig Bee MAC層的設計應盡可能地降低成本、易于實作、資料傳輸可靠、短距離操作以及低功耗,是以采用了簡單靈活的協定,其幀有4種類型:資料幀、标志幀、指令幀和确認幀。

  ZigBee采用載波偵聽多址/沖突(CSMA/CD)的信道接入方式和完全握手協定。

2.3、網絡層

zigbee無線傳感網技術與應用開發v2.0_物聯網通訊協定——Zigbee一、什麼是Zigbee二、Zigbee工作原理2.1、實體層2.2、MAC層2.3、網絡層2.4、應用層三、Zigbee優勢

網絡層(NWK)是位于MAC與應用層(APL)之間的一個協定層。網絡層的任務是通過正确操作MAC層提供的功能來向應用層提供合适的服務接口。為了實作與應用層的通信,網絡層定義了兩個服務實體:資料服務實體(NLDE)和管理服務實體(NLME)。資料服務實體(NLDE)通過資料服務實體服務通路點(NLDE-SAP)來提供資料傳輸服務;管理服務實體(NLME)通過管理服務實體通路點(NLME-SAP)來提供管理服務。

  在ZigBee協定中,網絡層主要負責建立網絡、接入網絡、退出網絡和網絡封包的路由傳輸等功能。

根據裝置所具有的通信能力,ZigBee網絡中主要有兩種無線裝置,即全功能裝置(Full-Function Device,FFD)和精簡功能裝置(Reduced-Function Device,RFD)。FFD之間及FFD和RFD之間都可以互相通信;但RFD隻能與FFD通信,而不能與其他RFD通信。RFD主要用于簡單的控制應用,傳輸的資料量較少,對傳輸資源和通信資源占用不多,可以采用相對廉價的實作方案,在網絡結構中一般作為通信終端。FFD則需要功能相對較強的MCU,一般在網絡結構中擁有網絡控制和管理的功能。

從網絡拓撲的角度來看,ZigBee裝置主要有3種角色:網絡協調者、網絡路由器和網絡終端裝置。其中網絡協調者主要負責網絡的建立,以及網絡的相關配置;路由器主要負責找尋、建立以及修複網絡封包的路由資訊,并負責轉發網絡封包;網絡終端具有加入、退出網絡的功能,并可以接收和發送網絡封包,但終端裝置不允許路由轉發封包。通常協調者和路由器節點一般由FFD功能裝置構成,終端裝置由RFD裝置組成。

  ZigBee支援3種通信裝置的網絡拓撲,即星形(Star)網絡、網狀(Mesh)網絡和簇狀(Cluster Tree)網絡。

  Star網絡是一種常用且适用于長期運作使用操作的網絡;Mesh網絡是一種高可靠性檢測網絡,它通過無線網絡連接配接可提供多個資料通信通道,即它是一個進階别的備援性網絡,一旦裝置資料通信發生故障,則存在另一個路徑可供資料通信;Cluster Tree網絡是Star/Mesh的混合型拓撲結構,結合了上述兩種拓撲結構的優點。

網絡初始化預備

  Zigbee網絡的建立是由網絡協調器發起的,任何一個zigbee節點要組建一個網絡必須要滿足以下兩點要求:

  (1)節點是FFD節點,具備zigbee協調器的能力;

  (2)節點還沒有與其他網絡連接配接,當節點已經與其他網絡連接配接時,此節點隻能作為該網絡的子節點,因為一個zigbee網絡中有且隻有一個網絡協調器。

  FFD:Full FuncTIon Device 全功能節點

  RFD:Reduced FuncTIonDevice 半功能節點

網絡初始化流程

  1、确定網絡協調器:

  首先判斷節點是否是FFD節點,接着判斷此FFD節點是否在其他網絡裡或者網絡裡是否已經存在協調器。通過主動掃描,發送一個信标請求指令(Beaconrequest command),然後設定一個掃描期限(T_scan_duraTIon),如果在掃描期限内都沒有檢測到信标,那麼就認為FFD在其pos内沒有協調器,那麼此時就可以建立自己的zigbee網絡,并且作為這個網絡的協調器不斷地産生信标并廣播出去。

  注意:一個網絡裡,有且隻能有一個協調器(coordinator)。

  2、進行信道掃描過程。

  包括能量掃描和主動掃描兩個過程:首先對指定的信道或者預設的信道進行能量檢測,以避免可能的幹擾。以遞增的方式對所測量的能量自進行信道排序,抛棄那麼些能量值超出了可允許能量水準的信道,選擇可允許能量水準的信道并标注這些信道是可用信道。接着進行主動掃描,搜尋節點通信半徑内的網絡資訊。這些資訊以信标幀的形式在網絡中廣播,節點通過主動信道掃描方式獲得這些信标幀,然後根據這些資訊,找到一個最好的、相對安靜的信道,通過記錄的結果,選擇一個信道,該信道應存在最少的zigbee網絡,最好是沒有zigbee裝置。在主動掃描期間,MAC層将丢棄PHY層資料服務接收到的除信标以外的所有幀。

  3、設定網絡ID。

  找到合适的信道後,協調器将為網絡標明一個網絡辨別符(PAN ID,取值《=0x3FFF),這個ID在所使用的信道中必須是唯一的,也不能和其他zigbee網絡沖突,而且不能為廣播位址0xFFFF(此位址為保留位址,不能使用)。PAN ID可以通過偵聽其他網絡的ID然後選擇一個不會沖突的ID的方式來擷取,也可以人為的指定掃描的信道後,來确定不和其他網絡沖突的PAN ID。

  在zigbee網絡中有兩種位址模式:擴充位址(64位)和短位址(16位),其中擴充位址由IEEE組織配置設定,用于唯一的裝置辨別;短位址用于本地網絡中裝置辨別,在一個網絡中,每個裝置的短位址必須唯一,當節點加入網絡時由其父節點配置設定并通過使用短位址來通信。對于協調器來說,短位址通常設定為0x0000。

  上面步驟完成後,就成功初始化了zigbee網狀網絡,之後就等待其他節點的加入。節點入網時将選擇範圍内信号最強的父節點(包括協調器)加入網絡,成功後将得到一個網絡短位址并通過這個位址進行資料的發送和接收,網絡拓撲關系和位址就會儲存在各自的flash中。

  4.節點通過協調器加入網絡

  當節點協調器确定之後,節點首先需要和協調器建立連接配接加入網絡。

  為了建立連接配接,FFD節點需要向協調器提出請求,協調器接收到節點的連接配接請求後根據情況決定是否允許其連接配接,然後對請求連接配接的節點做出響應,節點與協調器建立連接配接後,才能實作資料的收發。節點加入網絡的具體流程可以分為下面的步驟:

   查找網絡協調器。

  首先會主動掃描查找周圍網絡的協調器,如果在掃描期限内檢測到信 标,那麼将獲得了協調器的有關資訊,這時就向協調器發出連接配接請求。在選擇合适的網絡之後,上層将請求MAC層對實體層PHY和MAC層的phyCurrentChannel、macPANID等PIB屬性進行相應的設定。如果沒有檢測到,間隔一段時間後,節點重新發起掃描。

  發送關聯請求指令(Associaterequest command)。

  節點将關聯請求指令發送給協調器,協調器收到後立即回複一個确認幀(ACK),同時向它的上層發送連接配接訓示原語,表示已經收到節點的連接配接請求。但是這并不意味着已經建立連接配接,隻表示協調器已經收到節點的連接配接請求。當協調器的mac層的上層接收到連接配接訓示原語後,将根據自己的資源情況(存儲空間和能量)決定是否同意此節點的加入請求,然後給節點的mac層發送響應。

zigbee無線傳感網技術與應用開發v2.0_物聯網通訊協定——Zigbee一、什麼是Zigbee二、Zigbee工作原理2.1、實體層2.2、MAC層2.3、網絡層2.4、應用層三、Zigbee優勢

   等待協調器處理。

  當節點收到協調器加入關聯請求指令的ACK後,節點mac将等待一段時間,接受協調器的連接配接響應。在預定的時間内,如果接收到連接配接響應,它将這個響應向它的上層通告。而協調器給節點的mac層發送響應時會設定一個等待響應時間(T_ResponseWaitTIme)來等待協調器對其加入請求指令的處理,若協調器的資源足夠,協調器會給節點配置設定一個16位的短位址,并産生包含新位址和連接配接成功狀态的連接配接響應指令,則此節點将成功的和協調器建立連接配接并可以開始通信。若協調器資源不夠,待加入的節點将重新發送請求資訊,直接入網成功。

   發送資料請求指令。

  如果協調器在響應時間内同意節點加入,那麼将産生關聯響應指令(Associateresponse command)并存儲這個指令。當響應時間過後,節點發送資料請求指令(Datarequest command)給協調器,協調器收到後立即回複ACK,然後将存儲的關聯響應指令發給節點。如果在響應時間到後,協調器還沒有決定是否同意節點加入,那麼節點将試圖從協調器的信标幀中提取關聯響應指令,成功的話就可以入網成功,否則重新發送請求資訊直到入網成功。

  回複。

  節點收到關聯響應指令後,立即向協調器回複一個确認幀(ACK),以确認接收到連接配接響應指令,此時節點将儲存協調器的短位址和擴充位址,并且節點的MLME向上層發送連接配接确認原語,通告關聯加入成功的資訊。

  5.節點通過已有節點加入網絡

  當靠近協調器的FFD節點和協調器關聯成功後,處于這個網絡範圍内的其他節點就以這些FFD節點作為父節點加入網絡了,具體加入網絡有兩種方式,一種是通過關聯(associate)方式,就是待加入的節點發起加入網絡;另一種是直接(direct)方式,就是待加入的節點具體加入到那個節點下,作為該節點的子節點。其中關聯方式是zigbee網絡中新節點加入網絡的主要途徑。

  對于一個節點來說隻有沒有加入過網絡的才能進行加入網絡。在這些節點中,有些是曾經加入過網絡中,但是卻與它的父節點失去聯系(這樣的被稱為孤兒節點),而有些則是新節點。當是孤兒節點時,在它的相鄰表中存有原父節點的資訊,于是它可以直接給原父節點發送加入網絡的請求資訊。如果父節點有能力同意它加入,于是直接告訴它的以前被配置設定的網絡位址,它便入網成功;如果此時它原來的父節點的網絡中,子節點數已達到最大值,也就是說網絡位址已經配置設定滿,父節點便無法準許它加入,它隻能以新節點身份重新尋找并加入網絡。

  而對于新節點來說,他首先會在預先設定的一個或多個信道上通過主動或被動掃描周圍它可以找到的網絡,尋找有能力準許自己加入網絡的父節點,并把可以找到的父節點的資料存入自己的相鄰表。存入相鄰表的父節點的資料包括zigbee協定的版本、協定棧的規範、PAN ID和可以加入的資訊。在相鄰表中所有的父節點中選擇一個深度最小的,并對其送出請求資訊,如果出現相同最小深度的兩個以上的父節點,那麼随機選取一個發送請求。如果相鄰表中沒有合适的父節點的資訊,那麼表示入網失敗,終止過程。如果發出的請求被準許,那麼父節點同時會配置設定一個16位的網絡位址,此時入網成功,子節點可以開始通信。如果請求失敗,那麼重新查找相鄰表,繼續發送請求資訊,直到加入網絡。

2.4、應用層

  應用層提供進階協定管理功能,使用應用層協定來管理協定棧,主要根據具體應用由使用者開發,維持器件的功能屬性,發現該器件工作空間中其他器件的工作,根據服務和需求使多個器件之間進行通信。

  在無線通信技術上,ZigBee采用免沖突多載波信道接入(CSMA-CA)方式,有效地避免了無線電載波之間的沖突,此外,為保證傳輸資料的可靠性,建立了完整的應答通信協定。

三、Zigbee優勢

(1)低功耗:在低功耗待機狀态下,兩節五号幹電池可以使用6~24個月,甚至更長,進而免去了充電或者頻繁更換電池的麻煩。這是zigbee的突出優勢,特别适用于無線傳感器網絡。相比較而言,藍牙能工作數周,WIFI僅可工作數小時。

(2)低成本:通過大幅簡化協定(不到藍牙的l/10),降低了對通信控制器的要求,按預測分析,以8051的8位微控制器測算,全功能的主節點需要32KB代碼,子功能節點僅需4KB代碼,而且ZigBee免協定專利費。

(3)資料傳輸速率低:ZigBee工作在20~250kbps的較低速率,它分别提供250kbps(2·4GHZ)、40kbPs(9l5MHz)和20kbps(868MHz)的原始資料吞吐率,滿足低速率傳輸資料的應用需求。

(4)短時延:ZigBee的響應速度快,一般從休眠轉入工作狀态隻需15ms,節點接入網絡隻需30ms,節點連接配接進入網絡隻需30ms,進一步節省了電能。相比較,藍牙需要3~10 s、WiFi需要3 s。

 (5)網絡容量大:一個星型結構的Zigbee網絡最多可以容納254個從裝置和一個主裝置,一個區域内可以同時存在最多100個ZigBee網絡,而且網絡組成靈活。

(6)有效範圍小:有效覆寫範圍在10~75m之間,具體依據實際發射功率的大小和各種不同的應用模式而定,基本上能夠覆寫普通的家庭或辦公室環境。在增加RF發射功率後,亦可增加到1~3km。如果通過路由和節點間通信的接力,傳輸距離将可以更遠。

(7)可靠:采取了碰撞避免政策,同時為需要固定帶寬的通信業務預留了專用時隙,避開了發送資料的競争和沖突。MAC層采用了完全确認的資料傳輸模式,每個發送的資料包都必須等待接收方的确認資訊。如果傳輸過程中出現問題可以進行重發。

(8)安全:ZigBee提供了基于循環備援校驗(CRC)的資料包完整性檢查功能,支援鑒權和認證,采用了AES-128的加密算法,各個應用可以靈活确定其安全屬性。

繼續閱讀