一種適用于復(fù)雜環(huán)境的無線傳感器網(wǎng)絡(luò)的時間同步方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及無線傳感器網(wǎng)絡(luò)時間同步技術(shù)領(lǐng)域,特別是涉及一種適用于復(fù)雜環(huán)境 的無線傳感器網(wǎng)絡(luò)的時間同步方法。
【背景技術(shù)】
[0002] 隨著無線物聯(lián)網(wǎng)的快速發(fā)展,無線傳感器網(wǎng)絡(luò)應(yīng)用規(guī)模不斷擴(kuò)大,從原有的幾個 節(jié)點擴(kuò)展到現(xiàn)在的幾百個節(jié)點;無線傳感器應(yīng)用環(huán)境日益多樣化。鑒于無線傳感器網(wǎng)絡(luò)具 有自組織、可以部署在危險區(qū)域的特性。在煤礦井下工作面、采空區(qū)等一些特定的場合的運(yùn) 用變得越來越多,作用也越來越大了。由于一些復(fù)雜環(huán)境空間受限,無線傳感器節(jié)點只能與 附近節(jié)點通信,并且其部署環(huán)境的險惡,一旦部署完畢,不可能重新更換和進(jìn)行能量補(bǔ)充, 這就對無線傳感器網(wǎng)絡(luò)的能耗和通信可靠性要求很高。為節(jié)能系統(tǒng)在完成數(shù)據(jù)采集工作 后,要求所有傳感器和路由節(jié)點進(jìn)入休眠狀態(tài),因此只有傳感器在下次采樣時刻同步蘇 醒,才有可能保證自組網(wǎng)和數(shù)據(jù)采集的成功。這就對無線傳感器網(wǎng)絡(luò)時間同步方法提出了 很高的要求。
[0003] 隨著無線傳感器網(wǎng)絡(luò)的擴(kuò)展,節(jié)點的數(shù)量的增多,需要管理和保持好數(shù)量巨大的 節(jié)點,需要所有節(jié)點保持在時間上的同步,從而保證所有數(shù)據(jù)上傳在時間上的統(tǒng)一性和有 效性,并能夠?qū)κ沟谜麄€無線傳感器網(wǎng)絡(luò)減少不必要的偵聽和額外的能量消耗,從節(jié)能和 保持工作時間的角度講,提高時間同步方法的功能和效率對于無線傳感器網(wǎng)絡(luò)的能量開支 也是非常必要的。
【發(fā)明內(nèi)容】
[0004] 鑒于以上情況必須提供一種低成本、低能量開銷、高精度的復(fù)雜環(huán)境的無線傳感 器網(wǎng)絡(luò)時間同步方法。
[0005] 本發(fā)明解決其技術(shù)問題采用的技術(shù)方案是:提供一種適用于復(fù)雜環(huán)境的無線傳感 器網(wǎng)絡(luò)的時間同步方法,其特征在于,包括以下步驟: 51、 上位計算機(jī)通過網(wǎng)絡(luò)將時間同步命令傳輸給協(xié)調(diào)器節(jié)點,保證協(xié)同工作的所有協(xié) 調(diào)器節(jié)點的時間同步; 52、 所述協(xié)調(diào)器節(jié)點根據(jù)上位計算機(jī)給出的時間同步信息調(diào)整自身的本地時鐘,保證 自身時鐘和協(xié)同工作的所有協(xié)調(diào)器節(jié)點一致; 53、 協(xié)調(diào)器節(jié)點向路由節(jié)點廣播時間同步幀,對路由節(jié)點進(jìn)行時間同步; 54、 所述路由節(jié)點根據(jù)協(xié)調(diào)器節(jié)點給定的時間同步幀中的信息進(jìn)行時間同步; 55、 所述路由節(jié)點完成時間同步后繼續(xù)向網(wǎng)絡(luò)中廣播擴(kuò)散時間同步幀,使得其他未完 成時間同步的路由節(jié)點都能夠得到時間同步。
[0006] 進(jìn)一步的,所述的步驟S1中協(xié)調(diào)器節(jié)點和上位計算機(jī)的部署結(jié)構(gòu)為星型網(wǎng)絡(luò)結(jié) 構(gòu),所述上位計算機(jī)通過通信環(huán)網(wǎng)和通信網(wǎng)關(guān)接入無線傳感器網(wǎng)絡(luò)協(xié)調(diào)器節(jié)點。
[0007] 進(jìn)一步的,所述的步驟S2中具體步驟如下: 所述協(xié)調(diào)器節(jié)點收到所述上位計算機(jī)發(fā)送的時間同步命令之后攜帶上自身的節(jié)點信 息立即回復(fù)給上位計算機(jī),當(dāng)協(xié)調(diào)器節(jié)點收到時間同步信息之后,提取出其中的時間信息 TCM,并用τ?修正自身系統(tǒng)時間,當(dāng)修正完成之后向上位計算機(jī)宣告修正成功,當(dāng)前上位計 算機(jī)-協(xié)調(diào)器時間同步結(jié)束。
[0008] 進(jìn)一步的,所述的步驟S3中具體步驟如下: 無線傳感器網(wǎng)絡(luò)中的所述協(xié)調(diào)器節(jié)點按照設(shè)定的周期廣播發(fā)送時間同步幀,該幀包含 時間戳、跳數(shù)記錄、同步周期、冗余檢驗;該周期為同步周期Ν,為無線傳感器網(wǎng)絡(luò)中設(shè)定的 專用于時間同步的時間點,即當(dāng)前同步完成之后,下一次同步的時間點,路由節(jié)點在收到該 時間同步幀中的下一次同步時間點信息,在下一次同步之前做好時間同步的準(zhǔn)備。
[0009]進(jìn)一步的,所述的步驟S4中的具體步驟如下: 所述路由節(jié)點在接收到時間同步幀時,會獲取幀內(nèi)的信息和信號強(qiáng)度值RSSI,所述路 由節(jié)點要根據(jù)信號強(qiáng)度值RSSI和經(jīng)過的路由跳數(shù)計算從發(fā)送端發(fā)送到達(dá)接收端處理所需 要的延遲時間Tu,并且將時間同步幀中的時間戳和延遲時間結(jié)合,并且和收到時間同步幀 的路由節(jié)點本地的時間進(jìn)行比較,若出現(xiàn)偏差則根據(jù)偏差的大小采用線性回歸的方法進(jìn)行 調(diào)整; 調(diào)整的方法如下:收到時間同步幀的路由節(jié)點收到的時間同步幀時間戳!^、本地時間 T2,先根據(jù)到達(dá)延遲時間TLA,對^進(jìn)行修正得到修正時間Tm;修正時間Tm和本地時間T 2形成 一個時間對(Τμ,Τ2),對(Τμ,Τ2)時間對進(jìn)行計算,得到一個每分鐘的時間偏差Td,在每分鐘時 刻!^后加上T D來確保接下來的時間的準(zhǔn)確性,并且時間對(TM,T2)會根據(jù)環(huán)境變化而變化, 保證在環(huán)境發(fā)生重大變化的時候能夠保證時間的準(zhǔn)確性,最后將當(dāng)前的本地時間T 2調(diào)整為 Τμ; 若到達(dá)周期時間內(nèi),節(jié)點未收到時間同步幀,貝節(jié)點繼續(xù)按照上一次時間同步得到的 Td進(jìn)行每分鐘的時間偏差修正。
[0010] 進(jìn)一步的,所述的步驟S5中的具體步驟如下: 收到時間同步幀的路由節(jié)點在完成時間同步后,關(guān)閉自身時間同步幀的接收,當(dāng)前周 期內(nèi)不再接收來自其他任何節(jié)點的時間同步幀,并根據(jù)當(dāng)前本地時間寫入時間同步幀,并 將根據(jù)收到的時間同步幀中的路由跳數(shù)k加1得到新的路由跳數(shù),形成該節(jié)點自己的時間同 步幀,并立刻廣播發(fā)送,在發(fā)送完畢之后,宣告該節(jié)點自身時間同步完成,直到約定的下一 次同步時間到來時,再開啟時間同步程序; 周圍廣播域中的其他節(jié)點在收到該廣播信息時,若尚未關(guān)閉時間同步,則需根據(jù)該時 間同步幀中的信息進(jìn)行時間同步。
[0011] 本發(fā)明的有益效果: 本發(fā)明通過實驗驗證了時間同步方法的有效性和可靠性,能夠提高復(fù)雜環(huán)境的無線傳 感器網(wǎng)絡(luò)的時間精確度,完全滿足煤礦無線傳感器網(wǎng)絡(luò)的要求。
【附圖說明】
[0012] 圖1復(fù)雜環(huán)境的無線傳感器網(wǎng)絡(luò)時間同步方法網(wǎng)絡(luò)結(jié)構(gòu)圖; 圖2復(fù)雜環(huán)境的無線傳感器網(wǎng)絡(luò)時間同步幀擴(kuò)散圖; 圖3復(fù)雜環(huán)境的無線傳感器網(wǎng)絡(luò)協(xié)調(diào)器節(jié)點時間同步流程圖; 圖4復(fù)雜環(huán)境的無線傳感器網(wǎng)絡(luò)路由節(jié)點時間同步流程圖。
【具體實施方式】
[0013] 針對如圖3所示的無線傳感器網(wǎng)絡(luò)所發(fā)明的時間同步方法包括以下步驟: 51、 上位計算機(jī)或計算機(jī)通過網(wǎng)絡(luò)將時間同步命令傳輸給協(xié)調(diào)器節(jié)點,保證協(xié)同工作 的所有協(xié)調(diào)器節(jié)點的時間同步; 52、 所述協(xié)調(diào)器節(jié)點根據(jù)上位計算機(jī)給出的時間同步信息調(diào)整自身的本地時鐘,保證 自身時鐘和協(xié)同工作的所有協(xié)調(diào)器節(jié)點一致; 53、 協(xié)調(diào)器節(jié)點向路由節(jié)點廣播時間同步幀,對路由節(jié)點進(jìn)行時間同步; 54、 所述路由節(jié)點根據(jù)協(xié)調(diào)器節(jié)點給定的時間同步幀中的信息進(jìn)行時間同步; 55、 所述路由節(jié)點完成時間同步后繼續(xù)向網(wǎng)絡(luò)中廣播擴(kuò)散時間同步幀,使得其他未完 成時間同步的路由節(jié)點都能夠得到時間同步。
[0014] 參閱圖1以及圖2,具體在煤礦井下的節(jié)點部署:以煤礦采空區(qū)為例(高約4米,長 100米、寬80米),協(xié)調(diào)器節(jié)點S部署在采煤工作面的兩側(cè)上風(fēng)巷和下風(fēng)巷上,因為煤礦采空 區(qū)是一個矩形區(qū)域,所以路由器節(jié)點R按照5米的間隔布置成一個方陣,由于煤礦對信號衰 減的影響較大,事先測定了用于煤礦信號衰減和傳播時延的大致相關(guān)的數(shù)據(jù)。除了協(xié)調(diào)器 節(jié)點S采用固定外接電源供電之外,其他所有的路由節(jié)點R均使用電池供電。另外,上位計算 機(jī)布置在地面監(jiān)控室中,上位計算機(jī)通過通信環(huán)網(wǎng)和網(wǎng)關(guān)接入?yún)f(xié)調(diào)器,并保持和協(xié)調(diào)器節(jié) 點S的通信順暢。協(xié)調(diào)器節(jié)點S和網(wǎng)關(guān)之間也采用有線連接的方式。
[0015] 在部署完畢之后就可以開始進(jìn)行時間同步的步驟: 1、 上位計算機(jī)和協(xié)調(diào)器之間的時間同步:每個工作區(qū)域內(nèi)可能有多個協(xié)調(diào)器節(jié)點,需 保證一個區(qū)域內(nèi)協(xié)同工作的多個協(xié)調(diào)器節(jié)點工作在一個時間點上,通過上位計算機(jī)對網(wǎng)內(nèi) 所有傳感器網(wǎng)絡(luò)的協(xié)調(diào)器節(jié)點進(jìn)行時間同步,上位計算機(jī)將同步命令發(fā)送給網(wǎng)絡(luò)內(nèi)的協(xié)調(diào) 器節(jié)點,并記錄發(fā)送的時間Ts,收到同步命令的協(xié)調(diào)器節(jié)點直接將該同步命令返回給上位 計算機(jī),上位計算機(jī)記錄下返回的時間Tr,上位計算機(jī)通過計算Tr和Ts的時間差2Tl-,上位計 算機(jī)將當(dāng)前的時間T C和時間TL相加得到修正后的協(xié)調(diào)器節(jié)點時間T?,并將該修正時間TCM發(fā) 送給相應(yīng)的協(xié)調(diào)器節(jié)點,針對每個協(xié)調(diào)器節(jié)點都有相應(yīng)的T?,以保證網(wǎng)絡(luò)中的所有協(xié)調(diào)器 高度同步; 協(xié)調(diào)器節(jié)點收到上位計算機(jī)發(fā)送同步命令之后攜帶上自身的節(jié)點信息不加處理立即 回復(fù)給上位計算機(jī),由于協(xié)調(diào)器節(jié)點的處理能力很高,處理的時間相對于傳輸?shù)难訒r基本 可以忽略不計,在回復(fù)同步命令之后,協(xié)調(diào)器節(jié)點等待上位機(jī)發(fā)送時間信息,當(dāng)收到時間信 息之后,提取出其中的時間信息Tcm,并用T CM修正自身系統(tǒng)時間。當(dāng)修正完成之后向上位計 算機(jī)宣告修正成功,當(dāng)前上位計算機(jī)-協(xié)調(diào)器時間同步結(jié)束; 2、 協(xié)調(diào)器節(jié)點向無線傳感器網(wǎng)絡(luò)進(jìn)行時間同步:協(xié)調(diào)器節(jié)點在完成自身時間的同步之 后,通過無線發(fā)送器向無線傳感器網(wǎng)絡(luò)中廣播發(fā)送帶有自身信息的時間同步幀,該幀包含 時間信息、跳數(shù)