摘 要:ZigBee技術(shù)是一種低復(fù)雜度、高靈活度的雙向無(wú)線通信技術(shù),其在定位系統(tǒng)、遠(yuǎn)程控制系統(tǒng)中具有非常廣泛的應(yīng)用?;赯igBee技術(shù)開(kāi)發(fā)定位系統(tǒng)不僅可以同時(shí)為多節(jié)點(diǎn)同時(shí)提供定位與無(wú)線通信服務(wù),還能夠?qū)崿F(xiàn)數(shù)據(jù)采集、傳感器定位、數(shù)據(jù)傳輸?shù)淖詣?dòng)化與智能化。本文對(duì)ZigBee技術(shù)在消防員火場(chǎng)定位系統(tǒng)中的應(yīng)用研究進(jìn)行了分析與研究。
關(guān)鍵詞:ZigBee技術(shù);定位;遠(yuǎn)程控制;無(wú)線通信
中圖分類(lèi)號(hào):TP212.9;TN929.5
ZigBee技術(shù)是一種近距離無(wú)線通信技術(shù),該技術(shù)可以將多種傳感器構(gòu)建成為傳感器網(wǎng)絡(luò),然后利用ZigBee傳輸總線進(jìn)行無(wú)線通信,具有功耗低、成本低、容量高、可靠性強(qiáng)等特點(diǎn)?;谠摷夹g(shù)所構(gòu)建的無(wú)線通信網(wǎng)絡(luò)內(nèi)的傳感器可以以接力的方式實(shí)現(xiàn)數(shù)據(jù)的傳輸,以相關(guān)參數(shù)為指標(biāo),可以實(shí)現(xiàn)傳感器的快速定位。
1 ZigBee技術(shù)及其傳輸網(wǎng)絡(luò)特征
ZigBee網(wǎng)絡(luò)的工作頻段有2.4GHz、868MHz以及915MHz等三個(gè)頻段,所能夠覆蓋的最大距離不超過(guò)75m,網(wǎng)絡(luò)節(jié)點(diǎn)數(shù)量可達(dá)上百個(gè)甚至上萬(wàn)個(gè),網(wǎng)絡(luò)內(nèi)設(shè)備的數(shù)據(jù)傳輸率有限,但是其工作時(shí)的能耗較低,組建成本低廉,可實(shí)現(xiàn)靈活可靠部署。
具體來(lái)說(shuō),ZigBee網(wǎng)絡(luò)的特征分為以下幾方面:(1)基于ZigBee技術(shù)的器件所使用的頻段在ISM頻段,是一種公共頻段,不需要進(jìn)行授權(quán)即可使用,并且該傳輸網(wǎng)絡(luò)可用的信道數(shù)可達(dá)27個(gè),通信速率有3中模式。(2)ZigBee網(wǎng)絡(luò)的數(shù)據(jù)傳輸速率較低,但是能夠滿(mǎn)足低通信速率要求的監(jiān)控應(yīng)用需求,并且傳輸速率可選擇性強(qiáng),匹配要求靈活。(3)ZigBee網(wǎng)絡(luò)中相鄰節(jié)點(diǎn)間的有效傳輸距離只有幾十米,但是可以通過(guò)增大射頻發(fā)射功率的方式進(jìn)行覆蓋范圍拓展。(4)支持ZigBee通信的設(shè)備大多具有“休眠”、“待機(jī)”等工作機(jī)制,這一機(jī)制的引入可有效降低網(wǎng)絡(luò)的功耗,正常情況下,使用普通堿性電池提供電源,標(biāo)準(zhǔn)ZigBee網(wǎng)絡(luò)可連續(xù)工作超過(guò)半年。(5)ZigBee網(wǎng)絡(luò)內(nèi)的各節(jié)點(diǎn)能夠在非常短的時(shí)間內(nèi)由休眠狀態(tài)轉(zhuǎn)入工作狀態(tài),并接入到網(wǎng)絡(luò)通信系統(tǒng)中,其響應(yīng)能力非常突出。(6)ZigBee網(wǎng)絡(luò)內(nèi)各節(jié)點(diǎn)、各模塊間的通信采用了冗余設(shè)計(jì),還針對(duì)性的對(duì)認(rèn)證、重傳以及阻塞等網(wǎng)絡(luò)傳輸問(wèn)題進(jìn)行了優(yōu)化,從而有效減少了數(shù)據(jù)傳輸過(guò)程中的競(jìng)爭(zhēng)與沖突問(wèn)題。(7)ZigBee網(wǎng)絡(luò)內(nèi)的單個(gè)主控設(shè)備最大可以配置254個(gè)從屬設(shè)備,還可以使用網(wǎng)絡(luò)協(xié)調(diào)器等器件將超過(guò)65000個(gè)節(jié)點(diǎn)接入網(wǎng)絡(luò),實(shí)現(xiàn)大范圍的網(wǎng)絡(luò)覆蓋。(8)ZigBee網(wǎng)絡(luò)還支持多種組網(wǎng)方式,為保證網(wǎng)絡(luò)通信安全,其采用了三層安全層策略,不同安全控制機(jī)制負(fù)責(zé)不同的數(shù)據(jù)傳輸層。
2 ZigBee技術(shù)在消防員火場(chǎng)定位系統(tǒng)中的應(yīng)用實(shí)現(xiàn)
ZigBee定位網(wǎng)絡(luò)中的無(wú)線傳感器分為三類(lèi):協(xié)調(diào)器節(jié)點(diǎn)、參考節(jié)點(diǎn)以及被定位目標(biāo)移動(dòng)節(jié)點(diǎn)。其中,協(xié)調(diào)器節(jié)點(diǎn)可作為ZigBee網(wǎng)絡(luò)的網(wǎng)關(guān)對(duì)網(wǎng)絡(luò)內(nèi)的傳感器節(jié)點(diǎn)進(jìn)行組網(wǎng)和數(shù)據(jù)采集,具體功能為:響應(yīng)控制中心的控制指令,開(kāi)放ZigBee傳感網(wǎng)絡(luò),允許其他節(jié)點(diǎn)接入網(wǎng)絡(luò),并將接入網(wǎng)絡(luò)內(nèi)的節(jié)點(diǎn)數(shù)據(jù)上傳給控制中心進(jìn)行處理。參考節(jié)點(diǎn)是一類(lèi)具有確定位置信息的、固定的網(wǎng)絡(luò)傳輸節(jié)點(diǎn),主要負(fù)責(zé)將其位置信息如RSSI值等傳輸給控制中心,輔助控制中心分析確認(rèn)需要定位目標(biāo)的位置信息。被定位目標(biāo)移動(dòng)節(jié)點(diǎn)可被安置在消防現(xiàn)場(chǎng)或者消防員身上,供控制中心監(jiān)測(cè)其狀態(tài)或確定位置。
定位中所使用的算法可以采用RSSI定位算法,該算法以RSSI值作為核心定位參數(shù),移動(dòng)節(jié)點(diǎn)與參考節(jié)點(diǎn)間的RSSI值越大說(shuō)明兩者之間的距離越近,參考其他參考節(jié)點(diǎn)的RSSI值即可確定目標(biāo)的位置信息。具體的,移動(dòng)節(jié)點(diǎn)啟動(dòng)采集數(shù)據(jù)事件,并向其網(wǎng)絡(luò)覆蓋范圍內(nèi)的參考節(jié)點(diǎn)廣播定位請(qǐng)求信息,之后移動(dòng)節(jié)點(diǎn)會(huì)收到若干個(gè)參考節(jié)點(diǎn)所返回的可表征信號(hào)強(qiáng)度的RSSI值,移動(dòng)節(jié)點(diǎn)將該值與參考節(jié)點(diǎn)的地址存儲(chǔ)在表單中,當(dāng)接收信號(hào)個(gè)數(shù)達(dá)到預(yù)設(shè)值或者接收時(shí)間達(dá)到預(yù)設(shè)時(shí)間后,移動(dòng)節(jié)點(diǎn)停止反饋信息采集,進(jìn)入定位分析狀態(tài)。分析結(jié)果中,移動(dòng)節(jié)點(diǎn)選取RSSI值最大的參考節(jié)點(diǎn)作為其位置定位結(jié)構(gòu)信息上傳給協(xié)調(diào)器,完成該節(jié)點(diǎn)的定位。需要注意的是,單個(gè)參考節(jié)點(diǎn)可能會(huì)發(fā)送多個(gè)反饋信號(hào),移動(dòng)節(jié)點(diǎn)可以所所接收到的同一參考節(jié)點(diǎn)的RSSI值取平均后進(jìn)行存儲(chǔ)與分析。定位實(shí)現(xiàn)流程如下圖1所示。
圖1 移動(dòng)節(jié)點(diǎn)定位實(shí)現(xiàn)流程圖
3 ZigBee無(wú)線通信軟件實(shí)現(xiàn)流程
為節(jié)約成本,ZigBee無(wú)線通信單元設(shè)計(jì)過(guò)程中所使用的開(kāi)發(fā)環(huán)境為IAR 嵌入式工作平臺(tái),所采用的協(xié)議棧為Z-Stack協(xié)議棧。利用IAR平臺(tái)可以完成I/O端口的配置、時(shí)鐘的設(shè)定、中斷響應(yīng)的設(shè)計(jì)以及射頻信號(hào)收發(fā)等功能設(shè)定??紤]到聯(lián)動(dòng)應(yīng)急系統(tǒng)的通信方式為點(diǎn)對(duì)點(diǎn)式,因而網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)可以簡(jiǎn)化處理,在物理層中進(jìn)行程序編寫(xiě)來(lái)完成數(shù)據(jù)的收發(fā)。為提升系統(tǒng)的自動(dòng)化程度,可以充分運(yùn)用緩沖區(qū)特性進(jìn)行數(shù)據(jù)緩沖。
系統(tǒng)初始化完畢后,無(wú)線通信單元進(jìn)行協(xié)議棧初始化,然后為實(shí)現(xiàn)數(shù)據(jù)的傳輸,控制芯片根據(jù)網(wǎng)絡(luò)結(jié)構(gòu)和通信需求選擇適當(dāng)?shù)耐ㄐ判诺篮蛿?shù)據(jù)傳輸模式。然后根據(jù)標(biāo)志位的通信模式標(biāo)識(shí)來(lái)確定各組件處于數(shù)據(jù)接收模式還是數(shù)據(jù)發(fā)送模式:接收模式下的通信接口等待數(shù)據(jù)輸入并對(duì)其進(jìn)行接收,定時(shí)查詢(xún)數(shù)據(jù)是否接收完畢,發(fā)送模式下的通信接口對(duì)輸出功率進(jìn)行配置,之后選擇需要發(fā)送的數(shù)據(jù)包,依照通信協(xié)議要求進(jìn)行封裝與打包,發(fā)送到接收端,定時(shí)查詢(xún)數(shù)據(jù)是否發(fā)送完畢。上述步驟執(zhí)行完畢后組件進(jìn)入休眠狀態(tài),等待下一次中斷請(qǐng)求的輸入,重新進(jìn)入工作狀態(tài)并接入網(wǎng)絡(luò)。
發(fā)送端程序首先需要對(duì)DMA進(jìn)行設(shè)定,代碼設(shè)計(jì)可通過(guò)如下語(yǔ)句實(shí)現(xiàn):
DMA_ABORT_CHANNEL(dmaNumberTX);SET_DMA_SOURCE(damTX,pSendData->load);SET_DMA_LENGTH(damTX,pSendData->loadlength)。之后開(kāi)放射頻模塊的中斷標(biāo)志,使ZigBee通信模塊處于發(fā)送模式,該功能的實(shí)現(xiàn)主要通過(guò)RFIF=~I(xiàn)RQ_TXDONE;RFIM=~I(xiàn)RQ_SFD;INT_SETFLAG(INUM_RF, INT_CLR)等語(yǔ)句實(shí)現(xiàn)。之后發(fā)送端將數(shù)據(jù)發(fā)送相關(guān)的數(shù)據(jù)包長(zhǎng)度、目標(biāo)地址等寫(xiě)入緩沖區(qū)域,其代碼為:RFD=(pSendData->loadLength+SPP_TOTAL_LENGTH); RFD=pSendData->DESTI;RFD=CEN_ADDR;RFD=pSendData->flags,最后對(duì)發(fā)送長(zhǎng)度進(jìn)行實(shí)時(shí)判斷,確認(rèn)是否開(kāi)始發(fā)送,發(fā)送是否完畢。
接收端首先需要對(duì)接收數(shù)據(jù)的地址、所接收的數(shù)據(jù)的長(zhǎng)度等內(nèi)容進(jìn)行初始化設(shè)定,其代碼與發(fā)送端DMA設(shè)置類(lèi)似。之后接收端開(kāi)放通信端口接收數(shù)據(jù)內(nèi)容,并判斷接收是否完畢,若接收完畢則恢復(fù)到初始狀態(tài)等待下一次接收。簡(jiǎn)要接收代碼如下:
If(FSMSTATE==5RXFIFOCNT>0)
{
ISFLUSHRX;
ISFLUSHRX; }
ISRXON;
return;
參考文獻(xiàn):
[1]肖昕宇,戴瑜興.基于 ZigBee 技術(shù)的消防報(bào)警定位系統(tǒng)設(shè)計(jì)[J].低壓電器,2007(18):19-22.
[2]鄭帥,周又玲.基于 ZigBee 的船艇消防安全監(jiān)測(cè)系統(tǒng)研究[J].現(xiàn)代電子技術(shù),2010(11):129-130.
作者單位:塔城地區(qū)公安消防支隊(duì),新疆 834700