北斗GPS同步時鐘(授時系統)技術原理詳解
北斗GPS同步時鐘(授時系統)技術原理詳解
北斗GPS同步時鐘(授時系統)技術原理詳解
1.
前言
由計算機網路系統組成的 分散式系統 ,若想協調一致進行: IT 行業的 “ 整點開拍 ” 、 “ 秒殺 ” 、 “Leader 選舉 ” ,通訊行業的 “ 同步組網 ” 之類業務處理,毫秒級甚至微秒級的 時間同步 是重要基礎之一。
2. 術語描述
2.0 世界時
世界時 UT ,可以簡單理解為按照地球自轉一週來計量 24 小時的時間標準,由於地球自轉速率的變化,世界時的秒長會有微小的變化,每天的快慢可以達到千分之幾秒。
2.1 TAI 時間
世界時不準,因此國際組織定義了 TAI 時間 , 即國際原子時( International Atomic Time ),其起點是 1958 年的開始(世界時 UT ),以銫原子鐘走秒連續計時的時間。
2.2 UTC 時間
計算機網路普遍使用的 UTC 時間(協調世界時) ,由國際計量局 BIPM 綜合全世界多個守時實驗室的鐘組計算得到,為了使 UTC 時間與地球自轉 1 天的時間(世界時 UT )協調一致,每隔 1 到 2 年, BIPM 會通告在 UTC 時間 6 月 30 日或 12 月 31 日最後一分鐘 “ 加一秒 ” 或 “ 減一秒 ” 等閏秒調整。也就是說, UTC 時間會出現 60 秒或少了 59 秒的情況。
最近一次閏秒是 UTC 時間 2015 年 6 月底:
2015
年
6
月
30
日,
23
時
59
分
59
秒
2015
年
6
月
30
日,
23
時
59
分
60
秒
2015
年
7
月
1
日,
0
時
0
分
0
秒
由於存在閏秒, UTC 時間與 TAI 時間是有差別的, UTC = TAI - n ,這個 n 現在( 2016 年 1 月)是 36 秒,也就是說 UTC 時間比 TAI 時間慢了 36 秒。
2.3 北京時間
北京時間也就是 東八區時間 ,在 UTC 時間基礎上加 8 小時,中國的北京標準時間由位於陝西的國家授時中心發播。
2.4 GPS 時間
由 GPS 系統透過衛星訊號發播的 原子時間 , GPS 時間用自 1980 年 1 月 6 日零點( UTC 時間)起的星期數和該星期內內的秒數來表示。
工程上, GPS 接收機會根據閏秒數將 GPS 時間換算為我們通常使用的 UTC 時間。 GPS 時間的源頭是美國海軍天文臺的守時原子鐘組。
2.5 北斗( BDS )時間
由北斗衛星導航系統透過衛星訊號發播的 原子時間 ,同樣,北斗接收機會根據閏秒數將北斗時間換算為我們通常使用的 UTC 時間。
北斗時間的時鐘源是位於北京的解放軍 時頻中心 的守時原子鐘組,陝西的國家授時中心好尷尬 :( 。
2.6 頻率
時間的導數就是 頻率 ,機械發條、石英晶體振盪器、原子鐘等各種時鐘源透過產生頻率訊號,按照頻率均勻打拍計數,模擬時間的等間隔流逝,就有了可見的 “ 時間 ” 。
2.7 頻率準確度
手錶有準和不準的,反映的就是頻率準不準,時脈頻率和標準頻率的偏差可以用 頻率準確度 來衡量。 1E-9 量級表示 1 秒會差 1ns ,我們使用的個人電腦,它的守時時鐘是個 32. 768kHz 的石英晶振,準確度大概只有 2E-5 量級( 20ppm ),也就是說 1 秒會差 0.02ms , 1 天會跑偏大概 2 秒。
2.8 時間同步
廣義的 “ 時間同步 ” 包括的 時間和頻率 的同步。上級時鐘將時間頻率訊號透過各種有線(乙太網、 SDH 數字網、同軸電纜、電話等)、無線(衛星、長波、電臺、微波、 WIFI 、 Zigbee 等)鏈路傳遞給下級時鐘,下級時鐘接受時間頻率資訊後,與上級時鐘保持相位、頻率的一致。
3. 時間同步原理
3.1 單向授時
上級時鐘主動發播時間資訊,下級使用者端被動接受時間資訊,並調整本地時鐘使時差控制在一定範圍內。
要想提高授時精度,使用者端必須計算出時間資訊在傳播鏈路中的延時, GPS/ 北斗等衛星授時,可以透過使用者端定位與衛星之間距離確定電磁傳輸延時,消除大部分誤差,而電纜、網路等如果是單向授時方式就無法準確計算單向鏈路時延了。
3.2 雙向授時
使用者端將接受的時間資訊原路返回給上級時鐘服務端,服務端將往返時間除以二即得到單向鏈路時延,再把單向時延告訴客戶端,在此基礎上,客戶端得到服務端更準確的時間資訊。比如:北斗單向衛星授時精度 100ns ,雙向衛星授時精度可做到 20ns 。
3.3 網路時間同步
網路時間同步,特指在計算機網路內的伺服器與客戶端之間利用 網路報文 交換實現的時間同步。
鑑於計算機網路傳輸路徑的不確定性和中間路由交換裝置轉發報文時間的不確定性,透過單播或多播實現的單向網路授時是不可靠的。因此,前輩們發明的網路時間同步技術 NTP/PTP 等,基本原理都是透過對網路報文打時間戳(標記),往返交換報文計算傳輸時延和同步誤差。
3.4 頻率同步
頻率同步 指的是主從時鐘的頻率誤差保持在一定範圍內,頻率同步有 2 種型別 :
第 1 種是直接傳遞模擬頻率訊號,比如用電纜或光纜傳遞 10MHz 、 5Mhz 、 2.048MHz 等標準頻率,或者傳遞 bit 位寬脈衝;
第 2 種是透過測量得到的主從時鐘時差,透過鎖定主從相差實現頻率鎖定( PLL ),或者間接計算頻率偏差,完成頻率修正。
4. 計算機網路時間同步
計算機網路時間同步只是時間同步的一種應用場景,其時間傳遞的鏈路可能是 SDH 網、乙太網、 WIFI 無線網路等。
4.1 NTP
( Network Time Protocol )從 1985 年誕生來,目前仍在在大部分的計算機網路中起著同步系統時間的作用。
- 基本原理
伺服器和客戶端之間透過二次報文交換,確定主從時間誤差,客戶端校準本地計算機時間,完成時間同步,有條件的話進一步校準本地時脈頻率。
- 時間同步過程
伺服器在 UDP 的 132 埠提供授時服務,客戶端傳送附帶 T1 時間戳( Timestamp )的查詢報文給伺服器,伺服器在該報文上新增到達時刻 T2 和響應報文傳送時刻 T3 ,客戶端記錄響應報到達時刻 T4 。
改個維基的圖:
- 時差計算
維基這個圖中用藍色標註了主從直接來回鏈路的
時延
Sigma
:
Sigma = (t4-t1)-(t3-t2)
因此,假設來回網路鏈路是對稱的,即傳輸時延相等,那麼可以計算客戶端與伺服器之間的
時間誤差
Delta
為:
Delta = t2-t1-Sigma/2=((t2-t1)+(t3-t4))/2
客戶端調整自身的時間 Delta ,即可完成一次時間同步。
- 計時方式
NTP 採用 UTC 時間計時, NTP 時間戳 包括自 1900-01-01 00:00:00 開始的 UTC 總秒數,當前秒的亞秒數。
當正閏秒時, 60 秒和下一分鐘的 0 秒的 NTP 總秒數一致的,因此 NTP 報文專門定義了閏秒指示域來提示。
- 誤差分析
區域網內計算機利用 NTP 協議進行時間同步,時間同步精度在 5ms 左右,主要誤差包括:
1
)計算機打時間戳的位置在應用層,受協議棧快取、任務排程等影響,不能在網路報文到來時馬上打戳;
2
)各種中間網路傳輸裝置帶來的傳輸時延不確定性以及鏈路的不對稱性,將進一步降低
NTP
時間同步精度。
4.2 PTP
為克服 NTP 的各種缺點, PTP(Precision Time Protocol ,精確時間同步協議 ) 應運而生,最新協議是 ,可實現亞微秒量級的時間同步精度。
- 基本原理
主從節點在網路鏈路層打時間戳,利用支援 IEEE1588 協議的 PHY 片,精準記錄時間同步網路報文接受或傳送的時刻。交換機、路由器等網路中間節點準確記錄時間同步報文在其中停留的時間,實現對鏈路時延的準確計算。
- 時間同步過程
PTP 預設使用 組播 協議,二層或四層 UDP 組播都可以,一般我們使用基於 UDP 組播,使用 319 和 320 兩個埠。
PTP 定義了三種角色: OC 、 BC 和 TC 。我們一般接觸的是 OC :主時鐘和從時鐘,交換機、路由器一般是 BC 或 TC 。
由於硬體效能有限,網路報文傳送時記錄的時刻資訊,可以在隨後的 Follow_Up 跟隨報文中發出,這就是 PTP 的雙步模式 (Two-step) 。
下圖是兩 OC 主從時鐘之間的同步過程:
· a. 主時鐘向從時鐘傳送 Sync 報文,並在本地記錄傳送時間 t1 ;從時鐘收到該報文後,記錄接收時間 t2 。
· b. 時鐘傳送 Sync 報文之後,緊接著傳送一個攜帶有 t1 的 Follow_Up 報文。
· c. 從時鐘向主時鐘傳送 Delay_Req 報文,用於發起反向傳輸延時的計算,並在本地記錄傳送時間 t3 ;主時鐘收到該報文後,記錄接收時間 t4 。
· d. 主時鐘收到 Delay_Req 報文之後,回覆一個攜帶有 t4 的 Delay_Resp 報文。
- 時差計算
與
NTP
一樣的原理,從時鐘根據擁有的
t1
~
t4
這四個時間戳,由此可計算出主、從時鐘間的往返總延時為:
Sigma = (t4-t1)-(t3-t2)
假設網路是對稱的,從時鐘相對於主時鐘的時鐘偏差為:
Delta = t2-t1-Sigma/2=((t2-t1)+(t3-t4))/2
- 計時方式
與 NTP 不同, PTP 採用 TAI 世界原子時間計時,而且 PTP 計時的起點與 unix 時間一致,即 UTC 時間 1970 年 1 月 1 日 0 點。
PTP 主鍾會告知從鍾,當前 UTC 相對於 TAI 的累計偏移量,從鍾據此計算當前準確的 UTC 時間。
- 誤差分析
PTP 能準確記錄報文傳送和接受的時間,也能計算中間鏈路的延時,剩下影響最大的就是 網路鏈路的不對稱性 了。
在實際工程中,網路中間鏈路裝置不支援 PTP 協議,大大降低了 PTP 的同步精度。目前, PTP 主要應用在通訊同步網、電力同步網等行業網路系統裡。
- 同步拓撲
PTP 域中所有的時鐘節點都按一定層次組織在一起,可透過 BMC ( Best Master Clock ,最佳主時鐘)協議動態選舉出最優時鐘,最優時鐘的時間最終將被同步到整個 PTP 域中。
BMC 演算法與 STP ( Spaning Tree Protocl )生成樹協議類似,最終形成 無環路 的樹形網路拓撲,且都是動態選舉,能適應最佳主時鐘切換的變化。
- 擴充套件應用 ——PTP over SDH
充分利用各行業已有的 SDH 通訊網路,利用 PTP-E1 訊號 轉換裝置,架設 PTP 同步網路,除了需要考慮鏈路倒換問題之外, SDH 網路的時延穩定性可大幅提升網路時間同步精度。
4.3 SyncE 同步乙太網
乙太網最早只能傳輸資料訊號,有另外獨立的頻率同步網路,隨著乙太網的快速發展, SyncE ( Synchronized Ethernet ) 同步乙太網 技術誕生後,企業們有了新的選擇。
- 基本原理
時鐘節點利用乙太網( 1000M 、 1G 、 10G 等)物理層的空閒間隙,傳遞 位寬時鐘訊號 ,實現時脈頻率訊號( 25M 、 125M 等)的自上而下傳遞。
- 協議控制
類似於 SDH 網路等時間間隔傳遞的 SSM 同步狀態資訊,同步乙太網( Sync-E )利用鏈路層 封裝傳遞 SSM 資訊, SSM 資訊包含時鐘質量資訊,接收端據此選擇合適的上級網路時鐘。
- 應用
一般商業 PHY 片提供 SyncE 功能選項,開啟該功能模式,即可利用 PHY 恢復出來的頻率訊號,校準本地時脈頻率或分頻後用於本地計時。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69969420/viewspace-2772014/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 電力GPS北斗衛星時鐘(NTP時鐘伺服器)同步技術淺談伺服器
- 北斗GPS衛星同步時鐘(NTP時鐘伺服器)在通訊系統中應用伺服器
- GPS北斗時鐘伺服器(衛星時鐘系統)讓高考時間更加精準伺服器
- 論醫院架設NTP時鐘裝置(GPS北斗時鐘系統)重要性
- 北斗授時伺服器(時鐘系統)在政務系統應用方案伺服器
- 北斗授時裝置(北斗時鐘伺服器)助力工業組態監控系統伺服器
- 北斗授時系統稱道,GPS網路對時伺服器將成為過去式伺服器
- 北斗GPS授時伺服器(衛星母鐘)現代網路資料安全伺服器
- NTP時間同步伺服器(北斗授時裝置)應用農產品安全追溯系統伺服器
- 硬體時鐘與系統時鐘同步問題
- 為何說北斗GPS時間同步裝置是電力系統的必備品
- 醫院GPS時鐘系統(子母鐘系統)構成與行業應用行業
- 新基建如何構造精準時鐘同步(NTP網路授時)體系
- NTP時間同步伺服器(時鐘同步)工作原理介紹伺服器
- 基於GPS北斗衛星的NTP時鐘伺服器應用天文觀測伺服器
- 系統時鐘與硬體時鐘
- 史上最全Web端即時通訊技術原理詳解Web
- GPS對時裝置(GPS對時系統)LINUX系統下配置NTP方法Linux
- 基於GPS北斗雙系統的NTP網路時間伺服器的開發伺服器
- GPS對時裝置(衛星時鐘裝置)讓DCS控制系統更精準
- 北斗時空手錶功能引數詳解+圖賞
- Oracle實時同步技術Oracle
- NTP時鐘同步
- solaris同步時鐘
- Linux 系統時鐘和硬體時鐘Linux
- 實時時鐘、系統時鐘和主機伺服器時鐘的區別伺服器
- NTP時間同步伺服器(區域網時鐘同步)解決方案伺服器
- GPS授時伺服器在廣播電視播出系統中的應用伺服器
- 分散式系統:向量時鐘分散式
- Linux 硬體時鐘和系統時鐘 - hwclock介紹Linux
- 系統時間和硬體時間同步
- 國內衛星授時鐘同步精度被推至亞納秒級
- 「分散式技術專題」時鐘系列一:事件的因果和邏輯時鐘分散式事件
- 如何使用原生技術寫一個倒數計時時鐘
- Qt時鐘介面、數字時鐘(12小時制24小時制切換、修改系統時間)QT
- islandswap鏈遊系統開發技術原理丨islandswap鏈遊系統開發詳解
- linux同步系統時間Linux
- 【實時時鐘RTC】MSP430系統實時時鐘RTC學習日誌(完善中)