產生背景
當通信和網路套用上越來越多的使用分散式系統時,需要在一個統一的標準協定下才能實現多廠商的協作。而傳統NTP協定只能實現ms級別的時間同步,GPS等衛星同步方式又存在諸多限制,均不能滿足越來越多的高精度時間同步要求。因此1588協定應運而生,它的全稱是“網路測量和控制系統的精密時鐘同步協定標準”,基本功能是使分散式網路內的最精確時鐘與其他時鐘保持同步。它定義了一種精確時間協定PTP(Precision Time Protocol),用於對標準乙太網或其他採用多播技術的分散式匯流排系統中的感測器、執行器以及其他終端設備中的時鐘進行亞微秒級同步。
工作原理
1588是一種主從同步系統。在系統的同步過程中,主時鐘周期性發布PTP時間同步及時間信息,從時鐘連線埠接收主時鐘連線埠發來的時間戳信息,系統根據此信息計算出主從線路時間延遲及主從時間差,並利用該時間差調整本地時間,從而使設備時間保持與主設備時間一致的頻率和相位。1588可以同時實現頻率同步和相位同步。
下面說明1588實現時間同步的處理過程:
(假設從Master到Slave的延時與Slave到Master的延時相同。)
1. 主節點(Master)向從節點(Slave)傳送一個“同步”(Sync)報文,並將傳送時間T1記入暫存器。2. 從節點(Slave)收到這個“同步”報文,記上接收到的時間T2。3. 主節點(Master)向從節點(Slave)傳送“跟隨”(Follow_Up)報文,將時間T1嵌入到“跟隨”報文中。4. 從節點向主節點傳送一個“延時請求”(Delay_Req)報文,並嵌入時間戳T3。5. 主節點收到“延時請求”報文並記住時間T4。6. 主節點將T4嵌入“延時應答”(Delay_Resp)報文中,傳送給從節點。和前面的遊戲一樣,根據這四個時間可計算出Slave和Master之間的延時(Delay)和時間偏移(Offset):平均路徑時延1. 主節點(Master)向從節點(Slave)傳送一個“同步”(Sync)報文,並將傳送時間T1記入暫存器。2. 從節點(Slave)收到這個“同步”報文,記上接收到的時間T2。3. 主節點(Master)向從節點(Slave)傳送“跟隨”(Follow_Up)報文,將時間T1嵌入到“跟隨”報文中。4. 從節點向主節點傳送一個“延時請求”(Delay_Req)報文,並嵌入時間戳T3。5. 主節點收到“延時請求”報文並記住時間T4。6. 主節點將T4嵌入“延時應答”(Delay_Resp)報文中,傳送給從節點。和前面的遊戲一樣,根據這四個時間可計算出Slave和Master之間的延時(Delay)和時間偏移(Offset):平均路徑時延 對於Slave節點, 那么,Slave節點的時間偏差: 根據該Offset即可校正Slave端時鐘,實現同步。