ARM-WinCE分布式系統平臺的時(shí)鐘同步設計
1 IEEE1588協(xié)議原理
IEEE1588的全稱(chēng)是“網(wǎng)絡(luò )測量和控制系統的精密時(shí)鐘同步協(xié)議標準”,簡(jiǎn)稱(chēng)精確時(shí)鐘協(xié)議(Precision Time Protocol,PIP)。IEEE1588協(xié)議是通用的提升網(wǎng)絡(luò )系統定時(shí)同步能力的規范,在起草過(guò)程中主要參考以太網(wǎng)來(lái)編制,使分布式通信網(wǎng)絡(luò )能夠具有嚴格的定時(shí)同步,并且應用于工業(yè)自動(dòng)化系統?;緲嬎际峭ㄟ^(guò)硬件和軟件將網(wǎng)絡(luò )設備(客戶(hù)機)的內時(shí)鐘與主控機的主時(shí)鐘實(shí)現同步,提供同步建立時(shí)間小于10μs的運用,與未執行IEEE1588協(xié)議的以太網(wǎng)延遲時(shí)間1000μs相比,整個(gè)網(wǎng)絡(luò )的定時(shí)同步指標有顯著(zhù)的改善。
IEEE1588時(shí)鐘協(xié)議在進(jìn)行時(shí)鐘同步時(shí),主時(shí)鐘設備按照一定的時(shí)間間隔(一般為2 s)周期性地以廣播方式發(fā)送同步報文(Sync)和同步跟隨報文(FollowUp),且在FollowUp報文中記錄Sync報文的發(fā)送時(shí)間戳t1,而從時(shí)鐘設備接收Syne報文記錄接收時(shí)間戳為t2;然后,從時(shí)鐘設備節點(diǎn)定期發(fā)送延遲請求報文(Delay_Req)(一般4~60 s發(fā)送一次),并記錄其發(fā)送時(shí)間戳t3,主時(shí)鐘設備接收判延遲請求后,記錄接收時(shí)間戳t4,并給相應從節點(diǎn)發(fā)送延遲請求響應報文(Delay_Resp),該報文信息中包古時(shí)間戳t4。通過(guò)得到的4個(gè)時(shí)間戳,可以計算出主從時(shí)鐘之間的偏移量Toffset和網(wǎng)絡(luò )傳輸的線(xiàn)路延遲ms_delay,其過(guò)程如圖1所示。
得到了從時(shí)鐘與主時(shí)鐘之間的時(shí)間偏移值,就可以采用適當的調節算法來(lái)調節從時(shí)鐘,最終使得從時(shí)鐘與主時(shí)鐘同步。從時(shí)鐘并不是每個(gè)同步周期都需要進(jìn)行時(shí)間同步,而是根據從時(shí)鐘與主時(shí)鐘之間的時(shí)間偏移值等時(shí)間信息來(lái)決定是否需要進(jìn)行時(shí)間同步。當主從時(shí)鐘之間建立起穩定的同步關(guān)系后,從時(shí)鐘還需周期性地監聽(tīng)來(lái)自主時(shí)鐘發(fā)布的Sync報文,一旦出現主從時(shí)鐘之間不處于時(shí)間同步的狀態(tài),就重新進(jìn)行上述的時(shí)間同步過(guò)程,直到重新達到主從時(shí)鐘之間的時(shí)間同步。
IEEE1588協(xié)議的運行是由時(shí)間戳驅動(dòng)的,時(shí)鐘同步精度主要歸結為時(shí)間戳的定時(shí)精度。IEEE1588使用UDP協(xié)議發(fā)送網(wǎng)絡(luò )同步報文,基于UDP協(xié)議傳輸的過(guò)程都是在TCP/IP協(xié)議模型下進(jìn)行數據包的逐層封裝和傳遞的。要使時(shí)鐘獲得的報文發(fā)送時(shí)間和報文接收時(shí)間相對精確、穩定,且把發(fā)送延遲和接收延遲不相等這種因素對計算傳播延遲產(chǎn)生的影響減小到最低,最好的解決辦法就是在TCP/IP協(xié)議棧的底層即物理層對同步報文標記時(shí)間戳,標記時(shí)間戳的操作越接近物理層,計算得到的主從時(shí)鐘的時(shí)間偏移量和傳播線(xiàn)路延遲就越準確。要實(shí)現這一目的就必須加入專(zhuān)門(mén)的硬件設備。美國國家半導體公司(National Semiconductor)推出的DP83640芯片就是一款集成IEEE1588精確時(shí)鐘協(xié)議硬件支持功能的以太網(wǎng)收發(fā)器。芯片內置高精度IEEE1588時(shí)鐘,并具有由硬件執行的時(shí)間戳標記功能,可為接收及發(fā)送信息包加入時(shí)間標記。采用DP83640的同步系統,可獲得納秒級的同步精度。
評論