RM新时代网站-首页

您好,歡迎來電子發(fā)燒友網(wǎng)! ,新用戶?[免費注冊]

您的位置:電子發(fā)燒友網(wǎng)>電子百科>通信技術(shù)>無線通信>

ZigBee的工作原理_ZigBee組網(wǎng)技術(shù)

2017年11月06日 19:13 互聯(lián)網(wǎng) 作者: 用戶評論(0
關(guān)鍵字:ZigBee(240500)

  ZigBee是一種高可靠的無線數(shù)傳網(wǎng)絡(luò),類似于CDMA和GSM網(wǎng)絡(luò)。ZigBee數(shù)傳模塊類似于移動網(wǎng)絡(luò)基站。通訊距離從標(biāo)準(zhǔn)的75m到幾百米、幾公里,并且支持無限擴展。Zigbee技術(shù)特點主要有低功耗、低成本、時延短、網(wǎng)絡(luò)容量大、工作頻段靈活、低速率、安全的數(shù)據(jù)傳輸?shù)取F渲械凸氖荶igbee技術(shù)最重要的特點。由于 Zigbee的傳輸速率相對較低發(fā)射功率較小,使得 Zig bee設(shè)備很省電,這是 Zigbee技術(shù)能夠廣泛應(yīng)用的基石。

  ZigBee協(xié)議適應(yīng)無線傳感器的低花費、低能量、高容錯性等的要求。Zigbee的基礎(chǔ)是IEEE 802.15.4。但IEEE僅處理低級MAC層和物理層協(xié)議,因此Zigbee聯(lián)盟擴展了IEEE,對其網(wǎng)絡(luò)層協(xié)議和API進行了標(biāo)準(zhǔn)化。Zigbee是一種新興的短距離、低速率的無線網(wǎng)絡(luò)技術(shù)。主要用于近距離無線連接。它有自己的協(xié)議標(biāo)準(zhǔn),在數(shù)千個微小的傳感器之間相互協(xié)調(diào)實現(xiàn)通信。

  ZigBee組網(wǎng)概述

  組建一個完整的zigbee網(wǎng)狀網(wǎng)絡(luò)包括兩個步驟:網(wǎng)絡(luò)初始化、節(jié)點加入網(wǎng)絡(luò)。其中節(jié)點加入網(wǎng)絡(luò)又包括兩個步驟:通過與協(xié)調(diào)器連接入網(wǎng)和通過已有父節(jié)點入網(wǎng)。

  ZigBee網(wǎng)絡(luò)初始化預(yù)備

  Zigbee網(wǎng)絡(luò)的建立是由網(wǎng)絡(luò)協(xié)調(diào)器發(fā)起的,任何一個zigbee節(jié)點要組建一個網(wǎng)絡(luò)必須要滿足以下兩點要求:

 ?。?)節(jié)點是FFD節(jié)點,具備zigbee協(xié)調(diào)器的能力;

 ?。?)節(jié)點還沒有與其他網(wǎng)絡(luò)連接,當(dāng)節(jié)點已經(jīng)與其他網(wǎng)絡(luò)連接時,此節(jié)點只能作為該網(wǎng)絡(luò)的子節(jié)點,因為一個zigbee網(wǎng)絡(luò)中有且只有一個網(wǎng)絡(luò)協(xié)調(diào)器。

  FFD:Full Function Device 全功能節(jié)點

  RFD:Reduced FunctionDevice 半功能節(jié)點

  ZigBee網(wǎng)絡(luò)初始化流程

ZigBee的工作原理_ZigBee組網(wǎng)技術(shù)

  1、確定網(wǎng)絡(luò)協(xié)調(diào)器

  首先判斷節(jié)點是否是FFD節(jié)點,接著判斷此FFD節(jié)點是否在其他網(wǎng)絡(luò)里或者網(wǎng)絡(luò)里是否已經(jīng)存在協(xié)調(diào)器。通過主動掃描,發(fā)送一個信標(biāo)請求命令(Beaconrequest command),然后設(shè)置一個掃描期限(T_scan_duration),如果在掃描期限內(nèi)都沒有檢測到信標(biāo),那么就認為FFD在其pos內(nèi)沒有協(xié)調(diào)器,那么此時就可以建立自己的zigbee網(wǎng)絡(luò),并且作為這個網(wǎng)絡(luò)的協(xié)調(diào)器不斷地產(chǎn)生信標(biāo)并廣播出去。

  注意:一個網(wǎng)絡(luò)里,有且只能有一個協(xié)調(diào)器(coordinator)。

  2、進行信道掃描過程

  包括能量掃描和主動掃描兩個過程:首先對指定的信道或者默認的信道進行能量檢測,以避免可能的干擾。以遞增的方式對所測量的能量值進行信道排序,拋棄那么些能量值超出了可允許能量水平的信道,選擇可允許能量水平的信道并標(biāo)注這些信道是可用信道。接著進行主動掃描,搜索節(jié)點通信半徑內(nèi)的網(wǎng)絡(luò)信息。這些信息以信標(biāo)幀的形式在網(wǎng)絡(luò)中廣播,節(jié)點通過主動信道掃描方式獲得這些信標(biāo)幀,然后根據(jù)這些信息,找到一個最好的、相對安靜的信道,通過記錄的結(jié)果,選擇一個信道,該信道應(yīng)存在最少的zigbee網(wǎng)絡(luò),最好是沒有zigbee設(shè)備。在主動掃描期間,MAC層將丟棄PHY層數(shù)據(jù)服務(wù)接收到的除信標(biāo)以外的所有幀。

  3、設(shè)置網(wǎng)絡(luò)ID

  找到合適的信道后,協(xié)調(diào)器將為網(wǎng)絡(luò)選定一個網(wǎng)絡(luò)標(biāo)識符(PAN ID,取值《=0x3FFF),這個ID在所使用的信道中必須是唯一的,也不能和其他zigbee網(wǎng)絡(luò)沖突,而且不能為廣播地址0xFFFF(此地址為保留地址,不能使用)。PAN ID可以通過偵聽其他網(wǎng)絡(luò)的ID然后選擇一個不會沖突的ID的方式來獲取,也可以人為的指定掃描的信道后,來確定不和其他網(wǎng)絡(luò)沖突的PAN ID。

  在zigbee網(wǎng)絡(luò)中有兩種地址模式:擴展地址(64位)和短地址(16位),其中擴展地址由IEEE組織分配,用于唯一的設(shè)備標(biāo)識;短地址用于本地網(wǎng)絡(luò)中設(shè)備標(biāo)識,在一個網(wǎng)絡(luò)中,每個設(shè)備的短地址必須唯一,當(dāng)節(jié)點加入網(wǎng)絡(luò)時由其父節(jié)點分配并通過使用短地址來通信。對于協(xié)調(diào)器來說,短地址通常設(shè)定為0x0000。

  上面步驟完成后,就成功初始化了zigbee網(wǎng)狀網(wǎng)絡(luò),之后就等待其他節(jié)點的加入。節(jié)點入網(wǎng)時將選擇范圍內(nèi)信號最強的父節(jié)點(包括協(xié)調(diào)器)加入網(wǎng)絡(luò),成功后將得到一個網(wǎng)絡(luò)短地址并通過這個地址進行數(shù)據(jù)的發(fā)送和接收,網(wǎng)絡(luò)拓撲關(guān)系和地址就會保存在各自的flash中。

  ZigBee節(jié)點通過協(xié)調(diào)器加入網(wǎng)絡(luò)

ZigBee的工作原理_ZigBee組網(wǎng)技術(shù)

  當(dāng)節(jié)點協(xié)調(diào)器確定之后,節(jié)點首先需要和協(xié)調(diào)器建立連接加入網(wǎng)絡(luò)。

  為了建立連接,F(xiàn)FD節(jié)點需要向協(xié)調(diào)器提出請求,協(xié)調(diào)器接收到節(jié)點的連接請求后根據(jù)情況決定是否允許其連接,然后對請求連接的節(jié)點做出響應(yīng),節(jié)點與協(xié)調(diào)器建立連接后,才能實現(xiàn)數(shù)據(jù)的收發(fā)。節(jié)點加入網(wǎng)絡(luò)的具體流程可以分為下面的步驟:

  1、查找網(wǎng)絡(luò)協(xié)調(diào)器

  首先會主動掃描查找周圍網(wǎng)絡(luò)的協(xié)調(diào)器,如果在掃描期限內(nèi)檢測到信 標(biāo),那么將獲得了協(xié)調(diào)器的有關(guān)信息,這時就向協(xié)調(diào)器發(fā)出連接請求。在選擇合適的網(wǎng)絡(luò)之后,上層將請求MAC層對物理層PHY和MAC層的phyCurrentChannel、macPANID等PIB屬性進行相應(yīng)的設(shè)置。如果沒有檢測到,間隔一段時間后,節(jié)點重新發(fā)起掃描。

  2、發(fā)送關(guān)聯(lián)請求命令(Associaterequest command)

  節(jié)點將關(guān)聯(lián)請求命令發(fā)送給協(xié)調(diào)器,協(xié)調(diào)器收到后立即回復(fù)一個確認幀(ACK),同時向它的上層發(fā)送連接指示原語,表示已經(jīng)收到節(jié)點的連接請求。但是這并不意味著已經(jīng)建立連接,只表示協(xié)調(diào)器已經(jīng)收到節(jié)點的連接請求。當(dāng)協(xié)調(diào)器的mac層的上層接收到連接指示原語后,將根據(jù)自己的資源情況(存儲空間和能量)決定是否同意此節(jié)點的加入請求,然后給節(jié)點的mac層發(fā)送響應(yīng)。

  3、等待協(xié)調(diào)器處理

  當(dāng)節(jié)點收到協(xié)調(diào)器加入關(guān)聯(lián)請求命令的ACK后,節(jié)點mac將等待一段時間,接受協(xié)調(diào)器的連接響應(yīng)。在預(yù)定的時間內(nèi),如果接收到連接響應(yīng),它將這個響應(yīng)向它的上層通告。而協(xié)調(diào)器給節(jié)點的mac層發(fā)送響應(yīng)時會設(shè)置一個等待響應(yīng)時間(T_ResponseWaitTime)來等待協(xié)調(diào)器對其加入請求命令的處理,若協(xié)調(diào)器的資源足夠,協(xié)調(diào)器會給節(jié)點分配一個16位的短地址,并產(chǎn)生包含新地址和連接成功狀態(tài)的連接響應(yīng)命令,則此節(jié)點將成功的和協(xié)調(diào)器建立連接并可以開始通信。若協(xié)調(diào)器資源不夠,待加入的節(jié)點將重新發(fā)送請求信息,直接入網(wǎng)成功。

  4、發(fā)送數(shù)據(jù)請求命令

  如果協(xié)調(diào)器在響應(yīng)時間內(nèi)同意節(jié)點加入,那么將產(chǎn)生關(guān)聯(lián)響應(yīng)命令(Associateresponse command)并存儲這個命令。當(dāng)響應(yīng)時間過后,節(jié)點發(fā)送數(shù)據(jù)請求命令(Datarequest command)給協(xié)調(diào)器,協(xié)調(diào)器收到后立即回復(fù)ACK,然后將存儲的關(guān)聯(lián)響應(yīng)命令發(fā)給節(jié)點。如果在響應(yīng)時間到后,協(xié)調(diào)器還沒有決定是否同意節(jié)點加入,那么節(jié)點將試圖從協(xié)調(diào)器的信標(biāo)幀中提取關(guān)聯(lián)響應(yīng)命令,成功的話就可以入網(wǎng)成功,否則重新發(fā)送請求信息直到入網(wǎng)成功。

  5、回復(fù)

  節(jié)點收到關(guān)聯(lián)響應(yīng)命令后,立即向協(xié)調(diào)器回復(fù)一個確認幀(ACK),以確認接收到連接響應(yīng)命令,此時節(jié)點將保存協(xié)調(diào)器的短地址和擴展地址,并且節(jié)點的MLME向上層發(fā)送連接確認原語,通告關(guān)聯(lián)加入成功的信息。

  ZigBee節(jié)點通過已有節(jié)點加入網(wǎng)絡(luò)

ZigBee的工作原理_ZigBee組網(wǎng)技術(shù)

  當(dāng)靠近協(xié)調(diào)器的FFD節(jié)點和協(xié)調(diào)器關(guān)聯(lián)成功后,處于這個網(wǎng)絡(luò)范圍內(nèi)的其他節(jié)點就以這些FFD節(jié)點作為父節(jié)點加入網(wǎng)絡(luò)了,具體加入網(wǎng)絡(luò)有兩種方式,一種是通過關(guān)聯(lián)(associate)方式,就是待加入的節(jié)點發(fā)起加入網(wǎng)絡(luò);另一種是直接(direct)方式,就是待加入的節(jié)點具體加入到那個節(jié)點下,作為該節(jié)點的子節(jié)點。其中關(guān)聯(lián)方式是zigbee網(wǎng)絡(luò)中新節(jié)點加入網(wǎng)絡(luò)的主要途徑。

  對于一個節(jié)點來說只有沒有加入過網(wǎng)絡(luò)的才能進行加入網(wǎng)絡(luò)。在這些節(jié)點中,有些是曾經(jīng)加入過網(wǎng)絡(luò)中,但是卻與它的父節(jié)點失去聯(lián)系(這樣的被稱為孤兒節(jié)點),而有些則是新節(jié)點。當(dāng)是孤兒節(jié)點時,在它的相鄰表中存有原父節(jié)點的信息,于是它可以直接給原父節(jié)點發(fā)送加入網(wǎng)絡(luò)的請求信息。如果父節(jié)點有能力同意它加入,于是直接告訴它的以前被分配的網(wǎng)絡(luò)地址,它便入網(wǎng)成功;如果此時它原來的父節(jié)點的網(wǎng)絡(luò)中,子節(jié)點數(shù)已達到最大值,也就是說網(wǎng)絡(luò)地址已經(jīng)分配滿,父節(jié)點便無法批準(zhǔn)它加入,它只能以新節(jié)點身份重新尋找并加入網(wǎng)絡(luò)。

  而對于新節(jié)點來說,他首先會在預(yù)先設(shè)定的一個或多個信道上通過主動或被動掃描周圍它可以找到的網(wǎng)絡(luò),尋找有能力批準(zhǔn)自己加入網(wǎng)絡(luò)的父節(jié)點,并把可以找到的父節(jié)點的資料存入自己的相鄰表。存入相鄰表的父節(jié)點的資料包括zigbee協(xié)議的版本、協(xié)議棧的規(guī)范、PAN ID和可以加入的信息。在相鄰表中所有的父節(jié)點中選擇一個深度最小的,并對其發(fā)出請求信息,如果出現(xiàn)相同最小深度的兩個以上的父節(jié)點,那么隨機選取一個發(fā)送請求。如果相鄰表中沒有合適的父節(jié)點的信息,那么表示入網(wǎng)失敗,終止過程。如果發(fā)出的請求被批準(zhǔn),那么父節(jié)點同時會分配一個16位的網(wǎng)絡(luò)地址,此時入網(wǎng)成功,子節(jié)點可以開始通信。如果請求失敗,那么重新查找相鄰表,繼續(xù)發(fā)送請求信息,直到加入網(wǎng)絡(luò)。

非常好我支持^.^

(576) 85.1%

不好我反對

(101) 14.9%

( 發(fā)表人:何亞瓊 )

      發(fā)表評論

      用戶評論
      評價:好評中評差評

      發(fā)表評論,獲取積分! 請遵守相關(guān)規(guī)定!

      ?
      RM新时代网站-首页