基于ZigBee的無線傳感器網(wǎng)絡(luò)研究
ZigBee協(xié)議棧采用分層結(jié)構(gòu),每一層都為其上一層提供一套明確的服務(wù):數(shù)據(jù)實(shí)體提供數(shù)據(jù)傳輸服務(wù),管理實(shí)體則提供其他所有的服務(wù)。每個服務(wù)實(shí)體都通過服務(wù)接入點(diǎn)為上層提供一個接口,每個服務(wù)接入點(diǎn)都支持一定數(shù)量的服務(wù)原語來實(shí)現(xiàn)所需功能。協(xié)議??蚣苋鐖D2所示,APSDE-SAP為數(shù)據(jù)實(shí)體接口,MLME-SAP為管理實(shí)體接口。ZigBee協(xié)議棧中,各層間數(shù)據(jù)的傳輸通過幀來實(shí)現(xiàn),在PAN網(wǎng)絡(luò)結(jié)構(gòu)中定義了4種幀結(jié)構(gòu):信標(biāo)幀、數(shù)據(jù)幀、確認(rèn)幀及命令幀。不管是那種傳輸幀,發(fā)送時都是自協(xié)議棧高層向底層傳輸,從產(chǎn)生層向下每個協(xié)議層都為其增加自己的幀頭和幀尾。接收時都是自底層向高層傳輸,從物理層向上依次去掉每個協(xié)議層的幀頭和幀尾。本文引用地址:http://m.butianyuan.cn/article/162215.htm
3 無線網(wǎng)絡(luò)組網(wǎng)機(jī)制
3.1 建立一個新網(wǎng)絡(luò)并將設(shè)備與網(wǎng)絡(luò)連接
新的網(wǎng)絡(luò)首先由協(xié)調(diào)器設(shè)備建立,啟動時,協(xié)調(diào)器搜索附近其他協(xié)調(diào)器,如果沒有發(fā)現(xiàn)協(xié)調(diào)器,它就通過發(fā)送NLME-NETWORK-FORMATIO-N.request原語啟動一個新的網(wǎng)絡(luò)建立過程。當(dāng)建立網(wǎng)絡(luò)過程開始后,協(xié)調(diào)器網(wǎng)絡(luò)層將首先請求MAC層對協(xié)議所規(guī)定的信道,或由物理層所默認(rèn)的有效信道進(jìn)行能量檢測掃描,設(shè)備網(wǎng)絡(luò)層發(fā)送掃描類型參數(shù)設(shè)置為能量檢測掃描的MLME_SCAN.request原語到MAC層進(jìn)行信道能量檢測掃描。掃描結(jié)果通過MLME_SCAN.confirm原語返回。當(dāng)網(wǎng)絡(luò)層管理實(shí)體收到成功的能量檢測掃描結(jié)果后,將以遞增的方式對所測量的能量值進(jìn)行信道排序,并且拋棄那些能量值超出了可允許能量水平的信道,選擇可允許能量水平的信道有待處理。此后網(wǎng)絡(luò)層管理實(shí)體發(fā)送MLME_SCA-N.request原語執(zhí)行主動掃描,搜索所有的ZigBee設(shè)備。為了決定用于建立一個新網(wǎng)絡(luò)的最佳通道,網(wǎng)絡(luò)層管理實(shí)體將檢查PAN描述符確保所給定的個域網(wǎng)標(biāo)識符不會與所選擇的信道的現(xiàn)有標(biāo)識符參數(shù)產(chǎn)生沖突,如果沖突那么可能從給定的信道中選擇另外一個信道。如果找到了適當(dāng)?shù)耐ǖ?,則將為這個新網(wǎng)絡(luò)選擇一個PAN標(biāo)識符。一旦選定了PAN標(biāo)識符,將選擇一個等于0x0000的16位網(wǎng)絡(luò)地址,并且設(shè)置MAC層的地址P-IB屬性,將其設(shè)置為該值。分配地址后,將通過MAC層發(fā)出MLME_START.request原語開始運(yùn)行新的個域網(wǎng),NLME-NETWORK-FORMATION.conf-irm原語返回網(wǎng)絡(luò)已經(jīng)形成的確認(rèn)。
通過NLME_PERMIT_JOINING.request原語允許其他設(shè)備與網(wǎng)絡(luò)連接,該原語允許ZigBee協(xié)調(diào)器或路由器上層設(shè)定其MAC層連接允許標(biāo)志,在一定期間內(nèi)允許其他設(shè)備同網(wǎng)絡(luò)連接。僅僅只有ZigBee協(xié)調(diào)器或路由器才能企圖允許設(shè)備與網(wǎng)絡(luò)連接,如果終端節(jié)點(diǎn)設(shè)備的網(wǎng)絡(luò)層管理實(shí)體收到該原語時,則返回狀態(tài)為INVALID-REQUEST的NLME_PERMIT_JOIN-ING.confirm原語。NLME_PERMIT_JOINING.re-quest原語激發(fā)網(wǎng)絡(luò)層向MAC層發(fā)送MLME_SET.request原語完成MAC層若干屬性設(shè)置,MAC層通過MLME_SET.confirm返回結(jié)果,網(wǎng)絡(luò)層通過NLME_PERMIT_JOINING. confirm返回設(shè)置結(jié)果,允許設(shè)備同網(wǎng)絡(luò)連接。
3.2 子設(shè)備連接網(wǎng)絡(luò)
當(dāng)網(wǎng)絡(luò)建立并允許新設(shè)備接入時,子設(shè)備可以通過兩種方式加入網(wǎng)絡(luò):
(1)利用MAC子層關(guān)聯(lián)接入程序加入網(wǎng)絡(luò);
(2)通過應(yīng)用層預(yù)先指派的父設(shè)備直接加入網(wǎng)絡(luò)。
在這兩種方式的基礎(chǔ)上,協(xié)議定義了四種接入方法:關(guān)聯(lián)接入、利用網(wǎng)絡(luò)層再接入命令再接入網(wǎng)絡(luò)、網(wǎng)絡(luò)直接接入和以孤點(diǎn)方式連接或重新連接網(wǎng)絡(luò)。
關(guān)聯(lián)接入是新設(shè)備接入ZigBee網(wǎng)絡(luò)的主要途徑。關(guān)聯(lián)接入過程中,請求入網(wǎng)的子設(shè)備首先由應(yīng)用層向底層發(fā)出NLME_NETWORK_DISCOVER-Y.request原語在網(wǎng)絡(luò)通信發(fā)起網(wǎng)絡(luò)發(fā)現(xiàn)操作,在預(yù)先設(shè)定的一個或多個信道上通過主動掃描和被動掃描搜索鄰居網(wǎng)絡(luò)的信息。一旦完成主被動掃描,底層通過NLME_NET-WORK_DISCOVERY.confirm原語將鄰居信息返回給應(yīng)用層。應(yīng)用層也可以選擇重新執(zhí)行網(wǎng)絡(luò)發(fā)現(xiàn)命令,以便發(fā)現(xiàn)更多的網(wǎng)絡(luò)。
如果不重新執(zhí)行發(fā)現(xiàn)任務(wù),將從發(fā)現(xiàn)的網(wǎng)絡(luò)中選擇一個網(wǎng)絡(luò)進(jìn)行連接,即通過發(fā)送NLME_JOIN.request原語以直接或聯(lián)合方式請求連接網(wǎng)絡(luò),沒有連接的設(shè)備會在鄰居表中選擇一個適當(dāng)?shù)母冈O(shè)備請求連接。父設(shè)備在收到關(guān)聯(lián)接入請求后,首先在其鄰居表中查找子設(shè)備的64位IEEE地址是否已經(jīng)存在,若存在,則把對應(yīng)的16位短地址分配給子設(shè)備,若不存在,則分配一個新的16為短地址給子設(shè)備,然后將該地址通過關(guān)聯(lián)接入應(yīng)答原語NLME_JOIN.confirm發(fā)送給子設(shè)備,同時更新其鄰居表和路由表。子設(shè)備收到關(guān)聯(lián)接入確認(rèn)后,更新自己的16位短地址和鄰居表,完成關(guān)聯(lián)接入過程。
傳感器相關(guān)文章:傳感器工作原理
路由器相關(guān)文章:路由器工作原理
路由器相關(guān)文章:路由器工作原理
評論