專利名稱:無線傳感器網(wǎng)絡中分層時間比較時鐘同步方法
技術領域:
本發(fā)明涉及一種無線網(wǎng)絡技術領域的方法,具體是一種無線傳感器網(wǎng)絡中分 層時間比較時鐘同步方法。
背景技術:
近年來,由低功耗無線傳感器所組成的無線傳感器網(wǎng)絡(wireless sensor networks, WSNs)應用愈加廣泛。時間同步是WSNs應用的重要組成部分,控制消 息沖突、數(shù)據(jù)融合、節(jié)點定位等方面都要求節(jié)點間保持時鐘同步。
國內(nèi)外許多大學和研究機構都對無線傳感器網(wǎng)絡的同步技術進行了深入研究 并提出了多種時間同步方法,從不同方面滿足傳感器網(wǎng)絡的應用需要。到目前為 止,已經(jīng)提出了十幾種實現(xiàn)方法,典型的有RBS、 TPSN、 LTS、 TS/MS、 TSync、 DMTS、 FTSP、 AD、 TSS和TDP。這些方法雖然從不同的方面滿足了應用需要,但是相應的 他們自身有不少缺陷,比如RBS精度較好,但是在有的網(wǎng)絡協(xié)議中無法應用。TS/MS、 Tsync精度更好,但是方法復雜,對于無線網(wǎng)絡中有限的運算能力和網(wǎng)絡開銷而言 有點過大了。
經(jīng)對現(xiàn)有技術文獻的檢索發(fā)現(xiàn),Rui Fan, Indraneel Chakraborty, and Nancy Lynch, 在2005年8月23日的Lecture Notes in Computer Science, Principles of Distributed Systems (計算機科學講座筆記,分布式系統(tǒng)原理)中發(fā)表的文 章《Clock Synchronization for Wireless Networks》(無線網(wǎng)絡的時鐘同步), 該文章提出了一種同步方式,采取外部時鐘同步與內(nèi)部時鐘同步并行的方式,通 過不斷比對時間坐標大小,取其最大(其實也是同步時可能與外部基準時間最接 近的)為其邏輯時間,同步周期采用固定周期。該方法的計算開銷和通信開銷較 小,避開了隨機性最大的數(shù)據(jù)包處理延時的估計,同時避免了一些算法可能會將 時鐘回撥的可能性,但是該方法僅對穩(wěn)定的單跳網(wǎng)絡效果較好,在規(guī)模較大的動 態(tài)網(wǎng)絡里同步精度較差,這顯然對于某些實際應用是不夠的。
發(fā)明內(nèi)容
本發(fā)明的目的是針對上述現(xiàn)有技術的不足,提供了一種無線傳感器網(wǎng)絡中分 層時間比較時鐘同步方法,通過分層以及時間戳比較,減少了同步通訊的開銷, 采用估計逼近時鐘漂移,調(diào)整參數(shù)P的方法,進一步降低同步的開銷,同時,拋 棄了失效的時間戳,減小了對節(jié)點存儲的開銷,本發(fā)明能夠應用到動態(tài)多跳網(wǎng)絡 中去。
本發(fā)明通過如下技術方案實現(xiàn)的,本發(fā)明包括如下步驟
步驟一,網(wǎng)絡開始初始化以總的基站/協(xié)調(diào)器為頂層,根據(jù)信號強度和設備 種類發(fā)出隸屬關系確認幀,對應的設備接受到確認幀后,并返回應答幀,以此類 推,完成對整個網(wǎng)絡的分層設置,同時確認網(wǎng)絡達到穩(wěn)定狀態(tài);
步驟二,從頂層開始,逐層開始同步,同步分為兩個部分外時鐘源同步和 內(nèi)時鐘源同步,外部時鐘源同步過程中,若節(jié)點i接到GPS同步信號,節(jié)點i的 當前有效數(shù)組坐標i. current加一,外部時鐘源同步為內(nèi)部時鐘源同步提供時間 基準,各節(jié)點根據(jù)內(nèi)時間源和外時鐘源同步結果的比較獲得該節(jié)點的邏輯時間;
步驟三,各節(jié)點統(tǒng)一設定同步周期,隨后各節(jié)點根據(jù)最初若干次同步結果以 及同步精度調(diào)整時鐘漂移參數(shù)P、同步周期T,若節(jié)點某次同步滿足同步精度, 則增加同步周期T,減少系統(tǒng)開銷;若不滿足,則調(diào)整時鐘漂移參數(shù)P,并將減 少同步周期T ;
步驟四,節(jié)點i檢査當前有效數(shù)組坐標是否大于數(shù)組長度,如果成立,當前 有效數(shù)組坐標清零,拋棄失效的時間戳,如果不成立,當前有效數(shù)組坐標繼續(xù)計 數(shù),重復步驟二。
所述各節(jié)點根據(jù)內(nèi)時間源和外時鐘源同步結果的比較獲得該節(jié)點的邏輯時 間,包括如下步驟
第一步,如果節(jié)點i發(fā)現(xiàn)節(jié)點i的邏輯時鐘等于節(jié)點i的預訂同步次數(shù)與節(jié) 點同步周期的乘積,節(jié)點i開始同步,并檢査外部時鐘源是否存在,若存在,則 發(fā)出外部同步服務請求,進入第二步;無論外部時鐘源是否存在都開始內(nèi)部時鐘 同步,即執(zhí)行第三步,同時節(jié)點i的預訂同步次數(shù)增加一,但第o層節(jié)點始終不 進行內(nèi)部時鐘同步;
第二步,節(jié)點i進行外部時鐘源同步如果節(jié)點i接到GPS同步信號,節(jié)點 i的當前有效數(shù)組坐標i. current加一,將GPS時間戳存入數(shù)組i. local [i. current]
5和i.max_gps中,i. local [i. current]隨物理時鐘同步更新,i. local []表示節(jié)點 i對該節(jié)點所處時間坐標的最佳估計,i. max一gps表示最近的GPS時間戳;
第三步,節(jié)點i進行內(nèi)部時鐘同步節(jié)點i向直屬的上級節(jié)點j發(fā)出同步服 務請求,如果節(jié)點i收到從上級節(jié)點j發(fā)來的同步幀 sync—message (j. local [j. current] , j. max一gps),節(jié)點i檢査節(jié)點j的GPS時間 戳是否和節(jié)點i的i.max—gps —樣新,隨后檢查j. local [j. current]是否比 i. global[i. current]大,i. global[]表示節(jié)點i對該節(jié)點所屬網(wǎng)絡的其他節(jié)點時 間最佳估計,如果兩者皆滿足,代表節(jié)點i對其他節(jié)點的估計i. global[i. current] 有誤差, 貝'J更新 i. global [i. current] 為 j. local [j. current], j. global [j. current]以物理時鐘的(1- P ) /(1+ P )倍更新;
第四步,節(jié)點i比較數(shù)組i. local []各元素,取最大者為i.mlocal,比較數(shù) 組i. global []各元素,取最大者為i. mglobal;
第五步,節(jié)點i比較i.mlocal和i. mglobal的大小,取較大者為i. logical 表示節(jié)點i的邏輯時鐘,完成節(jié)點時鐘同步,i. logical隨物理時間同步更新。
與現(xiàn)有技術相比,本發(fā)明包括如下有益效果
1、 本發(fā)明通過時間戳比較來避免對節(jié)點間數(shù)據(jù)包傳輸延時的估計;從實際的 無線網(wǎng)絡的搭建和抓包分析可以知道節(jié)點間的傳輸延時由于信道能量檢測和信道 沖突檢測,節(jié)點的任務調(diào)度的影響,隨機性是非常大的,采用時間戳比較繞開了 對這些因素的估計,從而在保證一定精度的條件下,降低系統(tǒng)開銷;
2、 本發(fā)明通過分層的方法減小了節(jié)點間的同步誤差極限;換言之,節(jié)點間的 同步誤差極限和節(jié)點的同步精度都取決于該節(jié)點所屬網(wǎng)絡的最大延時,故將一個 大的網(wǎng)絡分層,分成若干個小網(wǎng)進行同步,有助于減小誤差;
3、 本發(fā)明通過變周期的方法,減小了同步通訊的開銷;在實際工程中,各節(jié) 點所使用的晶振是有較大差別的,有的精度好,有的精度差。如果一刀切的統(tǒng)一 同步周期,顯然是給有限的網(wǎng)絡信道流量增加不小的開銷,增加全網(wǎng)絡能量消耗, 而讓節(jié)點自行統(tǒng)計來變更同周期可以避免不必要的能量消耗和流量開銷;
4、 本發(fā)明通過估計逼近時鐘漂移,調(diào)整參數(shù)P的方法,進一步降低同步的開 銷,在前面節(jié)點同步過程中,可以看到,如果P估計較準的話,顯然本節(jié)點對其 他節(jié)點的時鐘估計更準,相應的同步周期就可以設的更長,自然開銷就小了;
5、 本發(fā)明通過將i. Current清零來拋棄失效的時間戳,減小了對節(jié)點存儲的
6開銷;雖然隨著半導體工藝的不斷發(fā)展,片上資源越來越豐富,但是,對于節(jié)點 所使用的單片機而言資源受較大限制的狀況在可見得將來一段時間內(nèi)仍然是無法 改變的。本同步機制中兩個最佳估計數(shù)組在較短的時間內(nèi)是不占多少資源的,但 是時間長了,顯然不行的,同時過舊的時間戳也是沒有意義的。所以要拋棄失效 的時間戳。
綜上,本發(fā)明能更好的符合無限傳感器網(wǎng)絡時間同步算法的精度適中,低開 銷,健壯的要求。
圖1是本發(fā)明方法的工作流程圖: ——
圖2是本發(fā)明的實施例仿真結果圖中,(a)為模擬的未經(jīng)處理晶振頻率變化圖,(b)為經(jīng)過參數(shù)調(diào)整后邏輯頻 率變化圖,(c)為處理前后的同步周期進行對比柱狀圖。
具體實施例方式
下面結合附圖對本發(fā)明的實施例作詳細說明本實施例在以本發(fā)明技術方案 為前提下進行實施,給出了詳細的實施方式和具體的操作過程,但本發(fā)明的保護 范圍不限于下述的實施例。
本實施例應用于無線傳感器網(wǎng)絡搭建項目中的實驗網(wǎng)絡的時鐘同步研究的應 用中,主要采用了基于紫芯公司的ASAP1810/20開發(fā)板和TI的CC2420無線傳感 器開發(fā)板,并在其上進行開發(fā)組網(wǎng)實驗。
本實施例中無線傳感器網(wǎng)絡由126個從設備和一個主設備組成,其中主設備設 有GPS時鐘源,網(wǎng)絡的分層層數(shù)由各節(jié)點按照其物理位置和功能自行劃分。
如圖1所示,本實施例包括如下步驟
步驟一,網(wǎng)絡開始初始化以總的基站/協(xié)調(diào)器為頂層,根據(jù)信號強度和設備
種類發(fā)出隸屬關系確認幀,對應的設備接受到確認幀后,并返回應答幀,以此類
推,完成對整個網(wǎng)絡的分層設置,同時確認網(wǎng)絡達到穩(wěn)定狀態(tài);
步驟二,從頂層開始,逐層開始同步,同步分為兩個部分外時鐘源同步和 內(nèi)時鐘源同步,外部時鐘源同步過程中,若節(jié)點i接到GPS同步信號,節(jié)點i的 當前有效數(shù)組坐標i. current加一,外部時鐘源同步為內(nèi)部時鐘源同步提供時間 基準,各節(jié)點根據(jù)內(nèi)時間源和外時鐘源同步結果的比較獲得該節(jié)點的邏輯時間; 步驟三,各節(jié)點統(tǒng)一設定同步周期,隨后各節(jié)點根據(jù)最初若干次同步結果以及同步精度調(diào)整時鐘漂移參數(shù)P、同步周期T,若節(jié)點某次同步滿足同步精度, 則增加同步周期T,減少系統(tǒng)開銷;若不滿足,則調(diào)整時鐘漂移參數(shù)P,并將減 少同步周期t;
步驟四,節(jié)點i檢査當前有效數(shù)組坐標是否大于數(shù)組長度,如果成立,當前 有效數(shù)組坐標清零,拋棄失效的時間戳,如果不成立,當前有效數(shù)組坐標繼續(xù)計 數(shù),重復步驟二。
所述各節(jié)點根據(jù)內(nèi)時間源和外時鐘源同步結果的比較獲得該節(jié)點的邏輯時 間,包括如下步驟
第一步,節(jié)點i內(nèi)建立兩個數(shù)組i. local [p]、 i. global [p],八個變量-i. current、 i. next—sync、 i.mlocal、 i.mglobal、 i.max一gps、 p、 i.logical、 t ,其中,i. current表示節(jié)點i的當前有效數(shù)組坐標;i. local []表示節(jié)點i對 該節(jié)點所處時間坐標的最佳估計;i. global []表示節(jié)點i對該節(jié)點所屬網(wǎng)絡的其 他節(jié)點時間最佳估計;i.mlocal代表i. local []中最大值;i.mglobal代表 i. global []中最大值;i. max_gpS表示最近的GPS時間戳;P表示時鐘漂移,單位 ppm (每百萬分之一);T表示節(jié)點同步周期;p表示數(shù)組長度;i. logical表示 節(jié)點i的邏輯時鐘;i. next—sync表示節(jié)點i的預定同步次數(shù);
第二步,如果節(jié)點i發(fā)現(xiàn)i. logical=i. next—sync* t ,節(jié)點i開始同步,并 檢查外部時鐘源是否存在,若存在,則發(fā)出外部同步服務請求,進入步驟三;無 論外部時鐘源是否存在都開始內(nèi)部時鐘同步,即執(zhí)行步驟四,同時變量 i. next—sync加一,但第0層節(jié)點始終不進行內(nèi)部時鐘同步;
第三步,節(jié)點i進行外部時鐘源同步過程如果節(jié)點i接到GPS同步信號, i. current力口一,將GPS時間戳存入i. local[i. current]禾口 i.max—gps中, i. local [i. current]隨物理時鐘同步更新;
第四步,節(jié)點i進行內(nèi)部時鐘同步過程節(jié)點i向直屬的上級節(jié)點j發(fā)出同 步服務請求,如果節(jié)點i收到從上級節(jié)點j發(fā)來的同步幀 sync—message (j. local [j. current] , j. max—gps),節(jié)點i檢査節(jié)點j的GPS時間 戳是否和節(jié)點i的i.max—gps —樣新,隨后檢查j. local [j. current]是否比 i. global[i. current]大,如果兩者皆滿足,代表節(jié)點i對其他節(jié)點的估計 i. global [i. current] 有誤差, 貝U 更新 i. global [i. current] 為 j. local [j. current] , j. global [j. current]以斗勿理時鐘的(1— p ) /(1+ p )倍更新;第五步,節(jié)點i比較數(shù)組i. local[]各元素,取最大者為i.mlocal,比較數(shù) 組i. global []各元素,取最大者為i.mglobal;
第六步,節(jié)點i比較i.mlocal和i.mglobal的大小,取較大者為i. logical 即邏輯時鐘已完成節(jié)點時鐘同步,i. logical隨物理時間同步更新。
本實施例中,節(jié)點間的同步誤差如下述公式|/.log /ca/ (0 - ,log /^/ (0|
S 2(Z) ++ D)),節(jié)點間的同步誤差大約控制在節(jié)點間信號延遲2倍以內(nèi),
網(wǎng)絡結構呈二叉樹結構向下遞推,本實施例的目的是使用該方法,在盡量小的網(wǎng) 絡開銷和節(jié)點計算開銷下,滿足網(wǎng)絡的同步精度要求。
將本實施樹方法以軟件的形式寫入各開發(fā)—板中,再以該TF發(fā)板為無線傳感器網(wǎng) 絡節(jié)點組建網(wǎng)絡,觀察網(wǎng)絡通信情況,主要是確認網(wǎng)絡已經(jīng)建立,頂層節(jié)點接入 外部時鐘源。在實施例中,晶振漂移P取10—4秒,同步周期t取1秒。網(wǎng)絡的分
層層數(shù)根據(jù)節(jié)點的通信容量和信號覆蓋范圍而定。
在該實際組網(wǎng)實驗的基礎上,對調(diào)整參數(shù)P和調(diào)整同步周期t之間的關系進
行了模擬仿真,仿真結果如圖2所示,圖(a)為模擬的未經(jīng)處理晶振頻率變化圖,
(b)為經(jīng)過參數(shù)調(diào)整后邏輯頻率變化圖,這兩幅圖中的縱坐標分別表示原始頻率
和基準頻率、邏輯頻率和基準頻率之差。而圖(c)為一柱狀圖,表示將處理前后
的同步周期進行對比。其中,1號柱代表處理前的同步周期,2號柱代表處理后的
同步周期。由該圖可知,經(jīng)過處理的邏輯頻率比原始頻率穩(wěn)定性要好很多,由此
可以在滿足一定定時精度的條件下,盡可能地延長同步周期,這對于能耗敏感的
無線傳感器網(wǎng)絡有著很大的意義,尤其是在發(fā)射功耗遠遠超過運算功耗的情況下。
權利要求
1、一種無線傳感器網(wǎng)絡中分層時間比較時鐘同步方法,其特征在于,包括如下步驟步驟一,網(wǎng)絡開始初始化以總的基站/協(xié)調(diào)器為頂層,根據(jù)信號強度和設備種類發(fā)出隸屬關系確認幀,對應的設備接受到確認幀后,并返回應答幀,以此類推,完成對整個網(wǎng)絡的分層設置,同時確認網(wǎng)絡達到穩(wěn)定狀態(tài);步驟二,從頂層開始,逐層開始同步,同步分為兩個部分外時鐘源同步和內(nèi)時鐘源同步,外部時鐘源同步過程中,若節(jié)點i接到GPS同步信號,節(jié)點i的當前有效數(shù)組坐標i.current加一,外部時鐘源同步為內(nèi)部時鐘源同步提供時間基準,各節(jié)點根據(jù)內(nèi)時間源和外時鐘源同步結果的比較獲得該節(jié)點的邏輯時間;步驟三,各節(jié)點統(tǒng)一設定同步周期,隨后各節(jié)點根據(jù)最初若干次同步結果以及同步精度調(diào)整時鐘漂移參數(shù)ρ、同步周期τ,若節(jié)點某次同步滿足同步精度,則增加同步周期τ,減少系統(tǒng)開銷;若不滿足,則調(diào)整時鐘漂移參數(shù)ρ,并將減少同步周期τ;步驟四,節(jié)點i檢查當前有效數(shù)組坐標是否大于數(shù)組長度,如果成立,當前有效數(shù)組坐標清零,拋棄失效的時間戳,如果不成立,當前有效數(shù)組坐標繼續(xù)計數(shù),重復步驟二。
2、 根據(jù)權利要求1所述的無線傳感器網(wǎng)絡中分層時間比較時鐘同步方法,其特征是,所述各節(jié)點根據(jù)內(nèi)時間源和外時鐘源同步結果的比較獲得該節(jié)點的邏輯時間,包括如下步驟第一步,如果節(jié)點i發(fā)現(xiàn)節(jié)點i的邏輯時鐘等于節(jié)點i的預訂同步次數(shù)與節(jié)點同步周期的乘積,節(jié)點i開始同步,并檢査外部時鐘源是否存在,若存在,則發(fā)出外部同步服務請求,進入第二步;無論外部時鐘源是否存在都開始內(nèi)部時鐘同步,即執(zhí)行第三步,同時節(jié)點i的預訂同步次數(shù)增加一,但第o層節(jié)點始終不進行內(nèi)部時鐘同步;第二步,節(jié)點i進行外部時鐘源同步如果節(jié)點i接到GPS同步信號,節(jié)點i的當前有效數(shù)組坐標i. current加一,將GPS時間戳存入數(shù)組i. local[i. current]和i.max—gps中,i. local[i. current]隨物理時鐘同步更新,i. local []表示節(jié)點i對該節(jié)點所處時間坐標的最佳估計,i.max—gps表示最近的GPS時間戳;第三步,節(jié)點i進行內(nèi)部時鐘同步節(jié)點i向直屬的上級節(jié)點j發(fā)出同步服務請求,如果節(jié)點i收到從上級節(jié)點j發(fā)來的同步幀sync_message (j. local [ j. current] , j. max—gps), 節(jié)點i檢査節(jié)點j的GPS時間戳是否和節(jié)點i的i.max—gps —樣新,隨后檢查j. local [j. current]是否比i. global [i. current]大,i. global []表示節(jié)點i對該節(jié)點所屬網(wǎng)絡的其他節(jié)點時間最佳估計,如果兩者皆滿足,代表節(jié)點i對其他節(jié)點的估計i. global [i. current] 有誤差, 則更新 i. global [i. current] 為j. local [j. current] , j. global [j. current]以物理時鐘的(1—P )/(1+P )倍更新;第四步,節(jié)點i比較數(shù)組i.local[]各元素,取最大者為i.mlocal,比較數(shù)組i. global []各元素,取最大者為i.mglobal;第五步,節(jié)點i比較i.mlocal和i.mglobal的大小,取較大者為i. logical表示節(jié)點i的邏輯時鐘,完成節(jié)點時鐘同步,i. logical隨物理時間同步更新。
全文摘要
一種無線網(wǎng)絡技術領域的無線傳感器網(wǎng)絡中分層時間比較時鐘同步方法包括以下步驟步驟一,網(wǎng)絡開始初始化,并從基站/協(xié)調(diào)器開始按照信號強度和設備種類分層;步驟二,整個網(wǎng)絡分為外時鐘源同步和內(nèi)時鐘源同步,節(jié)點采用時間戳比較的方法同步,上下級節(jié)點以服務器/客戶端模式同步;步驟三,根據(jù)歷次同步效果來調(diào)整同步周期,時鐘漂移參數(shù);步驟四,自動拋棄陳舊的時間戳。本發(fā)明與現(xiàn)有技術相比,能更好地符合無線傳感器網(wǎng)絡時間同步方法的精度,同時具有低開銷、健壯的優(yōu)點。
文檔編號H04W56/00GK101466142SQ20091004503
公開日2009年6月24日 申請日期2009年1月8日 優(yōu)先權日2009年1月8日
發(fā)明者任千里, 濤 劉, 劉凱凱, 戎蒙恬, 鑫 李 申請人:上海交通大學