楊承侃 唐俊華
【摘要】在現(xiàn)代應(yīng)用無線傳感器網(wǎng)絡(luò)中,傳感器信息傳遞的時間是實現(xiàn)傳感器功能的主要參數(shù),原則上可以認(rèn)為時間差異越小無線傳感器網(wǎng)絡(luò)的性能就越高。在這種無線傳感器網(wǎng)絡(luò)發(fā)展需求推動下,無線傳感器網(wǎng)絡(luò)時間同步算法成為研究的重點。本文立足于無線傳感器網(wǎng)絡(luò)運行的實際,基于ZigBee提出一種分層時間同步算法,以下將對其進行詳細(xì)分析。
【關(guān)鍵詞】ZigBee 無線傳感器網(wǎng)絡(luò) 時間同步算法
前言:在無線傳感器網(wǎng)絡(luò)產(chǎn)生之前,傳統(tǒng)網(wǎng)絡(luò)形式絕大部分使用網(wǎng)絡(luò)時間協(xié)議(NTP)實現(xiàn)系統(tǒng)時間的同步。但是傳統(tǒng)網(wǎng)絡(luò)協(xié)議的缺陷日益暴露出來,從全新的技術(shù)角度出發(fā),對無線傳感器網(wǎng)絡(luò)的時間同步算法進行升級成為一種必然。因此對基于ZigBee的無線傳感器網(wǎng)絡(luò)中時間同步算法的研究具有鮮明的現(xiàn)實意義。
一、HRTS算法概述
基于HRTS算法形成的時間同步機制是一種時間糾正機制,這一通信機制中主要包含時間的“發(fā)送者”和“接受者”,二者之間時間的同步主要通過三次數(shù)據(jù)通信來實現(xiàn)。在時間同步活動中時間同步信息的發(fā)送者首先會發(fā)送一條要求接受者回答的命令幀,這一幀同時還會發(fā)送給整個網(wǎng)絡(luò)中的其他信息接受節(jié)點,發(fā)送者會根據(jù)接受者節(jié)點和其他接受節(jié)點的反饋時間對信息傳遞的反應(yīng)時間進行計算,這種計算是建立在二者的時間差基礎(chǔ)上的,在完成計算后發(fā)送者會將本地時間連同信息傳遞的時間差一起傳遞給接受者,接受者通過相應(yīng)的計算就能夠?qū)崿F(xiàn)與發(fā)送者時間的同步,二者時間差距會保持在lOms以內(nèi)。
二、基于HRTS的分層時間同步算法
如前文所述的時間同步方法,能夠?qū)崿F(xiàn)發(fā)送者覆蓋范圍內(nèi)任意節(jié)點的時間同步,但是這種同步是受到發(fā)送者自身的傳播區(qū)域限制的,理論上來講發(fā)送者的覆蓋范圍不可能覆蓋整個網(wǎng)絡(luò),就不能實現(xiàn)整個網(wǎng)絡(luò)的時間同步,針對這一問題設(shè)計人員采取的主要措施是分層同步,所謂分層同步就以對發(fā)送者節(jié)點覆蓋區(qū)域為界限,將整個網(wǎng)絡(luò)分割為不同的層次,在每一個層次中都有一個發(fā)送者節(jié)點,并對這些發(fā)送者節(jié)點進行編號,在協(xié)調(diào)器啟動以后系統(tǒng)選擇的節(jié)點會首先接入網(wǎng)絡(luò),成為系統(tǒng)網(wǎng)絡(luò)的主要節(jié)點。
三、分層同步算法的數(shù)據(jù)結(jié)構(gòu)
在這一時間同步算法中時間同步活動主要有兩種形式,一種是定期時間同步,一種是命令時間同步。在這些基礎(chǔ)節(jié)點中儲存設(shè)備都會擁有一個由32位有符號數(shù)組成的時間戳記錄系統(tǒng),這一系統(tǒng)初始時間為零,一旦接入系統(tǒng)在接入的網(wǎng)絡(luò)的同時會進行時間同步,獲得相應(yīng)的系統(tǒng)同步時間。同時從系統(tǒng)整體的同步角度來看,系統(tǒng)協(xié)調(diào)器內(nèi)會設(shè)置一個可編制的時間同步觸發(fā)機制,根據(jù)算法預(yù)設(shè)的時間間隔,每當(dāng)系統(tǒng)時間是這一間隔的整數(shù)倍的時候,協(xié)調(diào)器就會觸發(fā)時間同步機制,并對整個網(wǎng)絡(luò)進行時間同步。
四、分層同步算法的算法設(shè)計
從算法設(shè)計的角度來看分層同步算法主要有兩個層次,一個是協(xié)調(diào)器與各層次發(fā)送者時間的時間同步層次,一個是發(fā)送者節(jié)點與層次內(nèi)部其他節(jié)點之間的時間不同層次。每當(dāng)有新設(shè)備加入到時間同步網(wǎng)絡(luò)都會設(shè)置相應(yīng)的NLME-DIRBRO-request原語參數(shù):
Tosingle=l(單層同步);frametype=Ox01(定向廣播幀)
Payload=GlohalSynTime(本地時間)
將NeedSyn設(shè)為TRUE.在空循環(huán)中檢測這一變化,生成相應(yīng)的MAC層幀結(jié)構(gòu),目的地址為剛加入設(shè)備的地址。這樣新加入到同步時間網(wǎng)絡(luò)的設(shè)備就能夠獲得其加入后的首次系統(tǒng)授時,并加入到時間同步系統(tǒng)的時間同步機制之內(nèi),與網(wǎng)絡(luò)中其他節(jié)點系統(tǒng)一樣接受系統(tǒng)的周期性時間同步和命令性時間同步。
五、應(yīng)用結(jié)果分析
基于ARM體系結(jié)構(gòu)的處理器芯片作為處理搭建時間同步系統(tǒng)的硬件實施平臺,組成一個具有三層層次結(jié)構(gòu)的無線傳感器網(wǎng)絡(luò)系統(tǒng),對基于ZigBee的無線傳感器網(wǎng)絡(luò)中時間同步的算法進行測試。在同步測試中協(xié)調(diào)器與子系統(tǒng)本地時間同步以后打印出來可以測量時間同步的精度,同時還可以在子系統(tǒng)內(nèi)部設(shè)置周期性跳頻機制,使其在一段時間內(nèi)始終處于周期性跳頻狀態(tài)下,在每一次時間同步后對同步時間進行檢測,可以實現(xiàn)對時間同步效果的檢測,檢測結(jié)果顯示這一同步算法的精度在lOms左右,能夠滿足大多數(shù)無線傳感器網(wǎng)絡(luò)的時間同步需求。
結(jié)論:無線傳感器是現(xiàn)代信息網(wǎng)絡(luò)在生產(chǎn)生活中應(yīng)用最多的網(wǎng)絡(luò)形式,其應(yīng)用范圍和應(yīng)用數(shù)量的增加,推動了其對網(wǎng)絡(luò)時間同步的需求。本文從HRTS算法概述、基于HRTS的分層時間同步算法、分層同步算法的數(shù)據(jù)結(jié)構(gòu)、分層同步算法的算法設(shè)計、應(yīng)用結(jié)果分析五個層面對這一問題進行了簡要分析,以期為基于ZigBee的無線傳感器網(wǎng)絡(luò)中時間同步算法的應(yīng)用水平提升提供支持和借簽。