本發明屬于無線通信、物聯網、無線精確測距等技術領域,涉及一種局域物聯網時間精確同步方法及系統。
背景技術:
物聯網時間同步技術,是通過對本地時間進行操作,達到為整個分布式系統提供統一的時間標度的過程,但在現有無線物聯網中廣泛使用的時間同步技術,在范圍和精度等方面都有特殊要求,現有同步技術主要包括長短波授時時間同步技術、電話撥號時間同步技術、ntp和gps。其中,長短波授時時間同步技術利用無線電授時,主要用于軍事和導航,尚不民用;電話撥號授時技術,需要使用電話線,模擬調制解調器及客戶端軟件,主要用于個人計算機,不具備實時性;ntp不適合無線通信領域,體積、計算能力和存儲空間存在限制;gps衛星上都配備有高精度的原子鐘,并不斷的發射時間信息,地面接收裝置同時接收4顆衛星時間信息,采用偽距測量定位法計算出時間和位置信息。但目前的實現方式都存在一定的缺陷。主要表現在下面的三個方面:
1.使用局限性
基于ntp時間同步需要連接到廣域網,本地必須安裝軟件,網絡中必須有ntp時間服務器才行。
gps時間同步必須收到一定數量的衛星數據后才能進行同步,在有遮擋區域將無法進行同步。
2.同步時間慢
不管ntp和gps時間同步都需要與服務器建立連接,可能需要好幾分鐘才能建立時間。
3.精度低,功耗高
ntp時間同步精度在50ms,隨著距離的增加精度逐漸下降,此時需要在網絡中加上一級和二級時間服務器來解決精度問題。
gps時間同步精度可以達到ns級別,但這需要專業的時間同步硬件的支持,帶來成本高,功耗也高,在局域物聯網中無法滿足要求。
技術實現要素:
本發明提出一種局域物聯網時間精確同步方法及系統,解決了現有技術中使用局限性、同步時間慢、精度低、功耗高的技術問題。
本發明的技術方案是這樣實現的:
一種局域物聯網時間精確同步方法及系統,包括以下步驟:
局域物聯網構建:所述局域物聯網包括根節點、樹干節點和葉子節點;
時間同步發起:根節點準備同步報文,并在報文中嵌入系統時間,記為t0,作為系統的起點時間,設置報文發送時間,記為ns,報文發送成功后,計算自身工作時間起點,達到時間后開始工作,工作完畢后進行下一個時間同步發起;
時間同步傳遞:樹干節點接收到根節點或者上級樹干節點傳送過來的同步報文后,讀取報文中系統時間,記為tn,并記錄接收報文時間,記為rt,同時準備同步報文并在報文中嵌入時間,記為tn+td,并設置延時發送同步報文,發送時間,記為rt+td,報文發送成功后,計算自身工作時間起點,達到時間后開始工作,工作完畢后進行下一個時間同步傳遞;
時間同步接收:葉子節點接收到上級樹干節點同步報文后讀取報文中系統時間,記為tn,并根據系統時間計算自身工作時間起點,到達時間后開始工作。
作為進一步的技術方案,所述時間同步發起步驟中根節點由定時器觸發,設置定時器時間,記為t1,當定時器中斷時,根節點啟動并準備同步報文。
作為進一步的技術方案,所述td為400μs,所述t1為1s。
作為進一步的技術方案,所述時間同步發起步驟、所述時間同步傳遞步驟和所述時間同步接收步驟中工作時間起點計算包括以下步驟:
劃分片區:將各節點的工作時間劃分為n個片區;
工作起點計算:當各節點收到系統時間為ts時,且每個片區大小固定為tm,此時該節點的工作起點時間,記為tw,tw=ts+(n-1)*tm。
作為進一步的技術方案,所述tm為1ms。
作為進一步的技術方案,所述根節點、所述樹干節點和所述葉子節點內均設置有邏輯單元,所述邏輯單元包括相互連接的無線同步通訊單元和控制單元,所述無線同步通訊單元內設同步報文收發模塊和數據記錄模塊。
作為進一步的技術方案,所述無線同步通訊單元為uwb通訊單元。
本發明使用原理及有益效果為:
本發明基于uwb傳輸系統時間同步技術,通過uwb自身的精確時間發送報文,由于uwb是脈沖形態出現,而不是連續波,其脈沖持續時間非常短,一般為ns級,uwb芯片能比較容易識別多徑,在uwb定位中,始終采用第一個到達的脈沖作為達到時間的計算點,而不是以信號強度最強的點來做計算,所以接收到uwb時間是非常精準可以達到ns級別,可以局域物聯網中設備間精準時間同步從而到達系統時分是效果,由于在無線空間資源是有限的,在相同頻率,同等帶寬的情況下資源合理分配是非常有必要,系統時間時間同步是合理分配資源的基礎,只有系統時間同步后才能保證設備間無沖突工作。
局域物聯網時間精確同步系統主要由3個節點組成:
1.系統時間發起節點,即根節點,一個系統中有且只有一個,根節點使用定時器定時1s發送一個同步報文,報文中嵌入系統時間為0時刻,當其他設備收到此報文時表示系統的開始時間(宏觀上忽略報文傳輸時間);
2.系統時間傳遞節點,即枝干節點,有多個枝干節點,樹干節點在收到根節點或者上級樹干節點同步報文后使用精確延時400us發送同步報文,并將同步報文中嵌入的時間增加400us,即表示任何收到此同步報文時報文中嵌入的時間即為系統當前時間;
3.系統時間終結節點,即葉子節點,有多個葉子節點,接收到同步報文后讀取報文中的系統時間;
上述節點的邏輯單元最主要由兩個部分(控制單元和無線同步通訊單元)組成,這是各節點所對應設備的兩個邏輯單元,可以是在一個單芯片實現,也可以是多芯片實現。控制單元(cpu/mcu)主要涉及到運算與存儲等功能,實現系統時間同步和報文收發控制,控制單元主要是收集來自無線同步通訊單元的同步信息進行存儲和更新等。無線同步通訊(uwb)單元內設同步報文收發模塊和數據記錄模塊,實現了節點之間時間同步報文的精確收發,并記錄精確收發時間等功能。其中,無線同步通訊單元的實現,不局限于某種無線技術,可以是uwb/css/zigbee/wi-fi等無線通訊技術。
時間精確同步主要是依賴于同步報文在節點間進行時間傳遞,每個節點通過接收到上級同步時間后精確的延時發送給下一級節點,并在報文中填入系統時間(以root節點時間為起點),下一級節點收到此報文后讀取里面的系統時間并加上兩個節點間距離消耗的時間,收到此報文的時間就與讀取的系統時間形成對應關系,以此類推,每個節點都將獲得一個本地時間與系統時間對應的關系,從而可以計算出設備本身工作時間起點。
例如:第一個節點的發起報文中系統時間為t0,第一個和第二個節點之間的傳輸時間在宏觀上忽略,則節點2的系統時間為t0;節點2精確延時400us發送同步報文給節點3并在報文將系統時間設為t0+400us,則節點3之間的系統時間為t0+400us。依次類推,所有節點完成和節點1的時間同步。整個系統可以維持us級精確時間同步。
具體實現方法:
1.根節點時間同步發起
根節點是系統時間起點,在系統中開啟定時器(設置時間為t1,t1可為1s),當定時器中斷達到時,準備同步報文并在報文中嵌入時間為t0時間即為系統的起點時間,同時根節點根據系統時間計算出自己的工作時間起點和結束點,在規定的時間內完成工作,等待下一次定時器中斷產生,此處的同步報文都采用uwb精確時鐘發送,可以控制在ns級別時間內發送完成。
2.樹干節點時間同步傳遞
樹干節點是啟動后打開接收功能,接收到同步報文后讀取報文中系統時間,記為tn并記錄接收報文時間,記為rt(uwb時間),同時準備同步報文并在報文中嵌入時間為tn+td時間即為系統的時間,并設置延時發送同步報文,發送時間為rt+td,報文發送完成后計算自身工作時間,到達時間后開始工作。其中,td可為400us。
3.葉子節點或者時間同步
葉子節點是啟動后打開接收功能,接收到同步報文后讀取報文中系統時間,記為tn,并根據系統時間計算自身工作時間,到達時間后開始工作。
4.工作時間起點計算
設備的工作時間可被分在n個片區,當收到系統時間為ts時,且每個片區大小固定為tm,此時設備的工作起點時間,記為tw,tw=ts+(n-1)*tm,在以收到此系統時間同步報文時間為起點使用定時器定時到工作時間后開始工作,避免與其他設備工作時產生沖突。系統同步過可以將1s時間劃分為1000個時間片,每片為tm為1ms(由于我們的同步精度高可以劃分的時間間隙就越小),不同的設備可以在不同的時間片工作,已達到避免沖突的機制。
局域物聯網時間精確同步系統的先進性主要體現在下面的幾個方面:
1.能夠快速實現時間同步
uwb發送一個報文的時間在100ns左右,兩個報文間隔需要400us,實現一次同步時間是非常短而且無需其他系統支持可自己定時實現收發,然而現有的時間同步機制都需要與服務端建立連接,花費時間較長,無法快速對系統進行同步;
2.同步精度高
每個節點都有一個高精度的時鐘,在收到上級發來的同步報文后讀取高精度時鐘時間,同步的精度可以達到ns級別,如果在去除節點之間的時間損壞可以達到ps級別;
3.抗干擾能力強
系統采樣無線脈沖模式發送報文,發送時間極短,受干擾的幾率很低,同時也不需要借助外來設備保障,每個節點之間保持獨立,任何一個節點都能有效維持整個網絡的時間同步,不容易受到環境干擾,也不依賴于其他系統的存在。
4.同步范圍廣
可以用于各種應用場景,只要無線射頻可達都可以實現時間同步,不局限于室外,室內節點也可以同步。
附圖說明
下面結合附圖和具體實施方式對本發明作進一步詳細的說明。
圖1為本申請所獲局域物聯網的信號傳輸示意圖;
圖2為本發明根節點工作流程圖;
圖3為本發明樹干節點工作流程圖;
圖4為本發明葉子節點工作流程圖;
圖5為本發明控制模塊框線示意圖;
圖中:1-控制單元,2-無線同步通訊單元,3-同步報文收發模塊,4-數據記錄模塊。
具體實施方式
下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。
本發明基于uwb傳輸系統時間同步技術,通過uwb自身的精確時間發送報文,由于uwb是脈沖形態出現,而不是連續波,其脈沖持續時間非常短,一般為ns級,uwb芯片能比較容易識別多徑,在uwb定位中,始終采用第一個到達的脈沖作為達到時間的計算點,而不是以信號強度最強的點來做計算,所以接收到uwb時間是非常精準可以達到ns級別,可以局域物聯網中設備間精準時間同步從而到達系統時分是效果,由于在無線空間資源是有限的,在相同頻率,同等帶寬的情況下資源合理分配是非常有必要,系統時間時間同步是合理分配資源的基礎,只有系統時間同步后才能保證設備間無沖突工作。
如圖1~5所示,局域物聯網時間精確同步系統主要由3個節點組成:
1.系統時間發起節點,即根節點,一個系統中有且只有一個,根節點使用定時器定時1s發送一個同步報文,報文中嵌入系統時間為0時刻,當其他設備收到此報文時表示系統的開始時間(宏觀上忽略報文傳輸時間);
2.系統時間傳遞節點,即枝干節點,有多個枝干節點,樹干節點在收到根節點或者上級樹干節點同步報文后使用精確延時400us發送同步報文,并將同步報文中嵌入的時間增加400us,即表示任何收到此同步報文時報文中嵌入的時間即為系統當前時間;
3.系統時間終結節點,即葉子節點,有多個葉子節點,接收到同步報文后讀取報文中的系統時間;
上述節點的邏輯單元最主要由兩個部分(控制單元1和無線同步通訊單元2)組成,這是各節點所對應設備的兩個邏輯單元,可以是在一個單芯片實現,也可以是多芯片實現。控制單元1(cpu/mcu)主要涉及到運算與存儲等功能,實現系統時間同步和報文收發控制,控制單元1主要是收集來自無線同步通訊單元2的同步信息進行存儲和更新等。無線同步通訊(uwb)單元2內設同步報文收發模塊3和數據記錄模塊4,實現了節點之間時間同步報文的精確收發,并記錄精確收發時間等功能。其中,無線同步通訊單元2的實現,不局限于某種無線技術,可以是uwb/css/zigbee/wi-fi等無線通訊技術。
時間精確同步主要是依賴于同步報文在節點間進行時間傳遞,每個節點通過接收到上級同步時間后精確的延時發送給下一級節點,并在報文中填入系統時間(以root節點時間為起點),下一級節點收到此報文后讀取里面的系統時間并加上兩個節點間距離消耗的時間,收到此報文的時間就與讀取的系統時間形成對應關系,以此類推,每個節點都將獲得一個本地時間與系統時間對應的關系,從而可以計算出設備本身工作時間起點。
例如:第一個節點的發起報文中系統時間為t0,第一個和第二個節點之間的傳輸時間在宏觀上忽略,則節點2的系統時間為t0;節點2精確延時400us發送同步報文給節點3并在報文將系統時間設為t0+400us,則節點3之間的系統時間為t0+400us。依次類推,所有節點完成和節點1的時間同步。整個系統可以維持us級精確時間同步。
具體實現方法:
1.根節點時間同步發起
根節點是系統時間起點,在系統中開啟定時器(設置時間為t1,t1可為1s),當定時器中斷達到時,準備同步報文并在報文中嵌入時間為t0時間即為系統的起點時間,同時根節點根據系統時間計算出自己的工作時間起點和結束點,在規定的時間內完成工作,等待下一次定時器中斷產生,此處的同步報文都采用uwb精確時鐘發送,可以控制在ns級別時間內發送完成。
2.樹干節點時間同步傳遞
樹干節點是啟動后打開接收功能,接收到同步報文后讀取報文中系統時間,記為tn并記錄接收報文時間,記為rt(uwb時間),同時準備同步報文并在報文中嵌入時間為tn+td時間即為系統的時間,并設置延時發送同步報文,發送時間為rt+td,報文發送完成后計算自身工作時間,到達時間后開始工作。其中,td可為400us。
3.葉子節點或者時間同步
葉子節點是啟動后打開接收功能,接收到同步報文后讀取報文中系統時間,記為tn,并根據系統時間計算自身工作時間,到達時間后開始工作。
4.工作時間起點計算
設備的工作時間可被分在n個片區,當收到系統時間為ts時,且每個片區大小固定為tm,此時設備的工作起點時間,記為tw,tw=ts+(n-1)*tm,在以收到此系統時間同步報文時間為起點使用定時器定時到工作時間后開始工作,避免與其他設備工作時產生沖突。系統同步過可以將1s時間劃分為1000個時間片,每片為tm為1ms(由于我們的同步精度高可以劃分的時間間隙就越小),不同的設備可以在不同的時間片工作,已達到避免沖突的機制。
局域物聯網時間精確同步系統的先進性主要體現在下面的幾個方面:
1.能夠快速實現時間同步
uwb發送一個報文的時間在100ns左右,兩個報文間隔需要400us,實現一次同步時間是非常短而且無需其他系統支持可自己定時實現收發,然而現有的時間同步機制都需要與服務端建立連接,花費時間較長,無法快速對系統進行同步;
2.同步精度高
每個節點都有一個高精度的時鐘,在收到上級發來的同步報文后讀取高精度時鐘時間,同步的精度可以達到ns級別,如果在去除節點之間的時間損壞可以達到ps級別;
3.抗干擾能力強
系統采樣無線脈沖模式發送報文,發送時間極短,受干擾的幾率很低,同時也不需要借助外來設備保障,每個節點之間保持獨立,任何一個節點都能有效維持整個網絡的時間同步,不容易受到環境干擾,也不依賴于其他系統的存在。
4.同步范圍廣
可以用于各種應用場景,只要無線射頻可達都可以實現時間同步,不局限于室外,室內節點也可以同步。
以上所述僅為本發明的較佳實施例而已,并不用以限制本發明,凡在本發明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發明的保護范圍之內。