IEEE-1588精確時間協議(Precision Time Protocol, PTP) 是一種用於區域電腦網路中同步時鐘的通訊協議。可運用於智慧電網或是工業4.0需要做精確時間同步的場景。 IEEE 1588-2002為原始版本的PTP,發布於2002年。IEEE 1588-2008(也稱為PTPv2)發布於2008年,但與原始版本IEEE 1588-2002並不相容。2019年十一月也發布了IEEE 1588-2019,此版本相容於PTPv2並增加了協議的穩固性及更高的精準度。
PTP 裝置說明
Grandmaster Clock:
可由GPS接收到精確的時間並提供此區域網路的主要時鐘源。
Boundary Clock:
一般而言是只支援IEEE-1588的Switch。
Slave Clock:
裝置上的時鐘會同步到Grandmaster Clock。
實作
使用一片i.MX8M mini 及 i.MX6Q 開發版,中間透過Cross-Over Cable對接。
由於Linux BSP已經內建ptp4l所以可以直接使用下列命令
實際Log如下:
1. Master offset:即PTP協議中定義的主從端的時間差,單位ns
2. S0,S1,S2:表示時鐘伺服器的不同狀態,S0表示未鎖定,S1表示正在同步,S2表示鎖定
參考資訊:
- NXP官網 :
- WiKi:
https://en.wikipedia.org/wiki/Precision_Time_Protocol
評論