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