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