AW516x zigbee模塊實現(xiàn)自組網(wǎng)功能
無線網(wǎng)絡(luò)技術(shù)無非是功耗、距離、速率、組網(wǎng)等方面的較量,那么能否做到既能低功耗、遠距離,又能快捷組網(wǎng)和部署呢?
標(biāo)準(zhǔn)zigbee網(wǎng)絡(luò)協(xié)議包括協(xié)調(diào)器、路由器和終端節(jié)點,而建立一個zigbee網(wǎng)絡(luò)除了必須要有協(xié)調(diào)器之外,僅需加上路由器或終端節(jié)點即可。
然而,不同的應(yīng)用場景需要不同型態(tài)的組網(wǎng)結(jié)構(gòu):點對點、星型、中繼路由、混合型等等。因此,快速、高效、穩(wěn)定、便捷、靈活,是對組網(wǎng)協(xié)議所提出的更高要求。
圖1 zigbee網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)
一、Fastzigbee協(xié)議
換個思路,假若網(wǎng)絡(luò)上的任意節(jié)點都具備對等的數(shù)據(jù)傳輸功能,且無須協(xié)調(diào)器管理網(wǎng)絡(luò),那么網(wǎng)絡(luò)中的任何節(jié)點都可以主動傳輸數(shù)據(jù),這樣用戶就無需理會具體的網(wǎng)絡(luò)結(jié)構(gòu),顯然會更加方便使用。
基于此,ZLG致遠電子根據(jù)多年的實踐經(jīng)驗積累,在zigbee協(xié)議棧的基礎(chǔ)上開發(fā)了Fastzigbee透傳對等網(wǎng)絡(luò)協(xié)議。其特點如下:
啟動零延時,無需等待入網(wǎng)
節(jié)點容量大,理論上節(jié)點容量高達65535
3線制串口全透明傳輸方式,可自定義數(shù)據(jù)格式
無需二次開發(fā),可快速實現(xiàn)動態(tài)配置及自組網(wǎng)功能
快速添加路由,即放即用的智能路由算法,快速恢復(fù)通信。
圖2 Fastzigbee協(xié)議特點
二、自組網(wǎng)實現(xiàn)
Fastzigbee協(xié)議已經(jīng)很好的為組網(wǎng)提供了基礎(chǔ),那么能否在部署和施工方面也提供更好的支持呢?
當(dāng)然,ZLG致遠電子為簡化無線產(chǎn)品復(fù)雜的開發(fā)過程,在Fastzigbee協(xié)議內(nèi)增加自組網(wǎng)功能。下面以AW516x系列透傳模塊為例,為工程師提供兩種實現(xiàn)途徑。
模塊在自組網(wǎng)模式下,主機模塊會自動選擇周圍沒有被使用的PANID和通道號形成一個獨立的網(wǎng)絡(luò),并能自動遞增方式分配一個唯一的本地網(wǎng)絡(luò)地址給從機模塊。從機模塊使用時在使能了自組網(wǎng)功能后就不需要進行任何的配置操作,從機模塊在加入網(wǎng)絡(luò)后就能跟主機進行通訊。
1、硬件I/O控制
(1)主機模塊有兩個工作流程,分別通過JOIN管腳(IO1)和DETECT管腳(IO2)控制。
①當(dāng)JOIN管腳為低電平時,主機模塊工作在組網(wǎng)模式,此時主機模塊允許從機模塊加入網(wǎng)絡(luò),當(dāng)JOIN管腳變?yōu)楦唠娖綍r,主機模塊進入正常工作流程,此時從機模塊不能再加入網(wǎng)絡(luò)。
②當(dāng)模塊檢測到DETECT管腳有大于3S的低電平時,主機模塊工作在重獲取網(wǎng)絡(luò)參數(shù)模式,此時主機模塊會重新隨機生成新的PANID(0x0000~0xFFFF)和通道號(11~26),并檢測新生成的PANID和通道號是否已被其他網(wǎng)絡(luò)使用,如果已經(jīng)有網(wǎng)絡(luò)在使用,則重新生成,主機模塊在重新生成PANID和通道號后,需要把該主機下的所有從機都需要執(zhí)行入網(wǎng)操作。
圖3 主機模塊組網(wǎng)工作流程
(2)從機模塊有兩個工作模式,一個是入網(wǎng)申請,一個是退網(wǎng)申請,通過JOIN管腳的電平狀態(tài)決定工作模式。
①當(dāng)JOIN管腳為低電平,低電平持續(xù)時間在3S以下(短低電平)時,從機模塊工作在入網(wǎng)申請狀態(tài);
②當(dāng)JOIN管腳為低電平,低電平持續(xù)時間在3S以上(長低電平)時,從機模塊工作在退網(wǎng)申請狀態(tài);如果JOIN管腳為高電平,從機模塊使用存儲的PANID和通道號進入正常工作狀態(tài)。
圖4 從機模塊入網(wǎng)流程
2、軟件指令配置
主機模塊除了可以使用IO口控制主機允許從機加入網(wǎng)絡(luò),也可以使用命令的方式使能主機允許從機加入網(wǎng)絡(luò)。
表1 主機允許從機加入網(wǎng)絡(luò)命令 1
3字節(jié)(協(xié)議標(biāo)志) |
1字節(jié) |
2字節(jié) |
1字節(jié)(幀尾) |
AB BC CD |
E6 |
允許加入網(wǎng)絡(luò)開啟的窗口時間(S) |
AA |
允許加入網(wǎng)絡(luò)開啟的窗口時間為當(dāng)給主機發(fā)送了允許加入網(wǎng)絡(luò)命令后,主機開始接受從機的入網(wǎng)請求,到達這個窗口時間后,主機不再接受從機的入網(wǎng)請求,窗口時間結(jié)束后,主機進入正常的工作狀態(tài)。
除此之外,指令還可查詢主機模塊存儲的從機信息、查詢主從機狀態(tài)等等
三、測試實例
以下所有操作均基于廣州致遠電子有限公司的zigbee評估板:AW516x Demo Board
圖5 zigbee評估套件
步驟:
(1)將評估板1做為主機模塊,評估板2做為從機模塊;
(2)將評估板1的JOIN管腳(IO2)拉為低電平,主機處于允許從機加入狀態(tài);
(3)將評估板2的JOIN管腳(IO2)短處碰為低電平,低電平持續(xù)時間在3S以下,從機模塊工作在入網(wǎng)申請狀態(tài),若有多個從機板,可依次短接IO2,進行入網(wǎng)操作。
(4)入網(wǎng)完成,從機恢復(fù)正常高電平工作狀態(tài),將評估板1的JOIN管腳(IO2)拉回高電平,主機模塊進入正常工作流程。
通訊測試:
連接PC,分別打開兩個串口調(diào)試助手,進行透明數(shù)據(jù)發(fā)送。
圖6 通訊測試