IEEE1588精密時鐘同步協議(PTP)是一種網絡時間同步協議,是為克服以太網實時性不足而規定的一種對時機制,其原理是由一個的時間源周期性地對網絡中所有的時鐘節點進行同步與校正,協議本身并不能提高測控系統的實時性能,但它可以確定和調整事件達到更的時間間隔,從而獲得實時行為。
IEEE1588協議原理
IEEE1588精密時鐘協議(PTP)將網絡中的時鐘分為兩種:普通時鐘和邊界時鐘。只有一個PTP通信端口的時鐘叫普通時鐘,而有兩個或更多的PTP通信端口且每個端口均能提供獨立的PTP通信的時鐘叫邊界時鐘。但是,在系統中,根椐相互之間通信關系又可以將網絡中的時鐘分為主時鐘和從時鐘,一個PTP通信子網內只有一個主時鐘,其余的是從時鐘。主時鐘為整個系統提供標準時鐘,每隔一定的時間將其本地時間發布到網上,從時鐘接收主時鐘的時間信息,進行相應的計算,與主時鐘同步。每個PTP端口都有9種狀態,PTP系統通過*主時鐘算法(BestMasterClock,BMC)來實時地決定PTP端口應處的狀態,整個PTP系統中穩定性、性、確定性的時鐘就是主時鐘。
IEEE1588同步原理
IEEE1588協議定義了4種類型的報文:同步報文(Sync),跟隨報文(Follow_up),延時請求報文(Delay_req),延時請求應答報文(Delay_resp)。PTP系統中的從時鐘就是通過與主時鐘交換上述的4種報文,從中獲取時間戳,計算出與主時鐘的時間偏差,根據偏差來調整自己的時間,從而達到與主時鐘的時間同步。在PTP系統中,影響各時鐘同步的因素大體上有兩個,一是各時鐘的性能所引起的時間偏差,二是由于各報文在網絡中傳輸所引起的網絡延遲,因此,PTP系統的同步過程可分為兩個階段:偏差修正階段和延遲測量修正階段。整個同步過程如圖1所示。
IEEE1588協議的實現
用軟件實現IEEE1588協議的程序主流程圖如圖2所示。