精確的時間同步技術(shù)在控制系統(tǒng)中占有重要地位,隨著嵌入式控制系統(tǒng)應(yīng)用范圍的不斷增長和應(yīng)用規(guī)模的不斷擴(kuò)大,同步系統(tǒng)內(nèi)各分散節(jié)點(diǎn)的時鐘同步變得越來越重要。IEEE 1588協(xié)議的發(fā)展和成熟提供了一種低成本高精度的網(wǎng)絡(luò)時鐘同步解決方案。
它利用以太網(wǎng)絡(luò)使終端設(shè)備同步,僅靠軟件實(shí)現(xiàn)就可達(dá)到亞微秒級精度,在硬件支持下可達(dá)到納秒級。同時,IEEE 1588協(xié)議對資源要求非常低,易于高中低端設(shè)備之間的兼容。因此,嵌入式IEEE 1588精確時鐘同步技術(shù)也成為了實(shí)時控制系統(tǒng)非常關(guān)心的研究課題。
本文在IEEE 1588協(xié)議研究的基礎(chǔ)上,通過軟件和硬件相結(jié)合的途徑,并采用硬件輔助實(shí)現(xiàn)IEEE 1588標(biāo)準(zhǔn)的精確時間同步協(xié)議(PTP)方法,設(shè)計了嵌入式IEEE 1588時鐘同步軟硬件系統(tǒng),在平臺測試中取得了高精度的時鐘同步,測試結(jié)果能很好的滿足工業(yè)控制、通信、電力等行業(yè)對時鐘同步精度的要求。
IEEE 1588時鐘同步系統(tǒng)工作于主從模式,借助時鐘同步報文完成時鐘校準(zhǔn)。主時鐘周期性發(fā)送同步報文,從時鐘根據(jù)接收到的報文的時間戳信息,計算出主從線路報文傳輸?shù)臅r間延遲和主從時鐘的時鐘偏移,并相應(yīng)地調(diào)整本地時間,使從時鐘保持與主時鐘一致的時間基準(zhǔn)。IEEE 1588時鐘同步過程由時鐘偏移測量和網(wǎng)絡(luò)延遲測量2個階段組成。
如圖1所示,在時鐘偏移測量階段,主時鐘相繼發(fā)送同步報文和跟隨報文給從時鐘,從時鐘接收報文并記錄時間戳。在網(wǎng)絡(luò)延遲測量階段,從時鐘發(fā)送延時請求報文和接收相應(yīng)的響應(yīng)報文,并分別記錄發(fā)送和接收報文的時間戳。從時鐘根據(jù)一個同步周期內(nèi)所記錄的四個時間戳計算出時鐘偏差和網(wǎng)絡(luò)延遲并以此修正本地時鐘,系統(tǒng)不斷重復(fù)這個過程,保持時鐘同步。
圖1 IEEE 1588同步原理
1 時鐘同步模塊
嵌入式時鐘同步模塊分為主控模塊和網(wǎng)絡(luò)通信模塊兩個部分。其硬件實(shí)物如圖2所示,在該時鐘同步模塊中,主控模塊(圖2右側(cè))搭載了微控制器和實(shí)時時鐘、串口和USB接口等;網(wǎng)絡(luò)通信模塊配置有電源模塊、網(wǎng)口模塊和必要的GPIO接口等。
圖2 支持IEEE 1588協(xié)議的嵌入式控制模塊
主控模塊選取提供MII接口的主控芯片STM32F107VC。以太網(wǎng)通信模塊PHY芯片選取支持IEEE 1588精確時鐘同步功能的DP83640[5,6]。該芯片內(nèi)配置有高精度IEEE 1588時鐘,并設(shè)有由硬件執(zhí)行的時間標(biāo)記功能,可在物理層為接收及發(fā)送的信息包打上時間標(biāo)記。在所有的工作模式下均能確定報文收發(fā)的精確時間,將理論對時精度提高到了8ns。
2 系統(tǒng)軟硬件設(shè)計
提高IEEE 1588時鐘同步的精度關(guān)鍵在于提高時間戳的精度。如圖3所示,我們可以在A、B、C三個位置標(biāo)記時間戳(其中A和B處為軟件標(biāo)記時間戳,C處為硬件標(biāo)記時間戳),而越接近物理層,時間戳的精度越高,同步系統(tǒng)可達(dá)到的同步精度越高。
物理層芯片DP83640集成了能夠?qū)κ瞻l(fā)數(shù)據(jù)包并加蓋時間戳的硬件(即可在C處標(biāo)記時間戳),它能夠準(zhǔn)確的反映IEEE 1588報文的實(shí)際發(fā)送和接收時間,可以消除協(xié)議棧的延時和抖動,從而計算得到的報文在傳輸路徑上的延時和主從時鐘偏差也更精確。
基于此,本實(shí)驗(yàn)時鐘同步模塊采用硬件標(biāo)記時間戳的方式實(shí)現(xiàn)IEEE 1588協(xié)議,以GPS時鐘為參考時鐘源,并通過UDP/IP通信完成系統(tǒng)時鐘同步。該時鐘同步模塊結(jié)構(gòu)如圖3所示。
圖3 時鐘同步模塊結(jié)構(gòu)
時鐘同步模塊軟件部分由驅(qū)動層、協(xié)議層、應(yīng)用層組成,分別完成底層硬件控制、通信與同步、人機(jī)交互等功能。
其中,驅(qū)動層分為標(biāo)準(zhǔn)驅(qū)動、以太網(wǎng)驅(qū)動以及PTP時鐘驅(qū)動三部分;協(xié)議層分為TCP/IP協(xié)議與PTP協(xié)議兩部分;應(yīng)用層分為串口通信、以太網(wǎng)通信、實(shí)時時鐘、精確時間同步等部分。
在協(xié)議層中,嵌入式的TCP/IP協(xié)議棧采用LwIP實(shí)現(xiàn),LwIP協(xié)議棧以太網(wǎng)信息接收采取中斷響應(yīng)機(jī)制,當(dāng)MAC接收到網(wǎng)絡(luò)信號之后將引發(fā)以太網(wǎng)中斷,主控芯片進(jìn)入中斷函數(shù),先跳入相關(guān)底層處理函數(shù),再進(jìn)入?yún)f(xié)議棧做相應(yīng)處理;而LwIP協(xié)議棧以太網(wǎng)信息發(fā)送則由應(yīng)用層協(xié)議通過協(xié)議棧逐層向下傳遞信息,至MAC層后,調(diào)用相關(guān)底層處理函數(shù)進(jìn)行發(fā)送。
在PTP實(shí)現(xiàn)過程中,采用本地時鐘算法。時鐘同步系統(tǒng)上電后,各模塊進(jìn)入主從時鐘判定程序,首先確定各模塊的主、從時鐘工作狀態(tài),進(jìn)而通過UDP收發(fā)報文,記錄各報文時間戳,計算主從時鐘偏差修正本地時鐘。圖4軟件系統(tǒng)流程圖(a、b)中列出了主從時鐘模塊的同步工作過程。
圖4 軟件系統(tǒng)流程圖
1 基于IEEE 1588時鐘同步測試平臺
基于IEEE 1588時鐘同步系統(tǒng)測試平臺如圖5所示,該系統(tǒng)工作在主從模式,采取點(diǎn)對點(diǎn)通信,精確時鐘源由GPS授時模塊提供,該時間作為PTP時鐘源信號提供給IEEE 1588時鐘同步模塊,并將該模塊時鐘端口配置為主時鐘狀態(tài),與之相對應(yīng)的時鐘模塊配置為從時鐘狀態(tài)。在平臺測試中,將兩個時鐘同步模塊的PPS輸出口接至數(shù)字示波器,來比較主從時鐘節(jié)點(diǎn)的同步誤差,測量該系統(tǒng)時鐘同步精度。
圖5 基于IEEE 1588時鐘同步測試平臺
2 測試結(jié)果及分析
基于IEEE 1588時鐘同步測試平臺系統(tǒng)建立之后,需要對時鐘同步系統(tǒng)的性能進(jìn)行測試分析。本文根據(jù)同步報文發(fā)報周期取不同時間值(標(biāo)準(zhǔn)周期默認(rèn)為2s),主要進(jìn)行3次測試,實(shí)驗(yàn)同步報文發(fā)報周期分別取4s、2s、1s,對主從時鐘同步模塊進(jìn)行IEEE 1588時鐘同步測試。
圖6 時鐘同步測試結(jié)果
圖7 測試結(jié)果對比圖
測試結(jié)果如圖6所示,其中圖中a、b、c分別為同步報文發(fā)報周期為4s、2s、1s時的同步誤差分布圖,圖7為不同同步報文發(fā)送周期時的測試結(jié)果對比圖,在此我們可以更直觀的觀測不同同步報文發(fā)送周期下的系統(tǒng)時鐘同步誤差。
由圖6、7測試結(jié)果表明:當(dāng)同步報文發(fā)報周期取4s時,主從時鐘節(jié)點(diǎn)之間IEEE 1588同步精度測試結(jié)果優(yōu)于200ns;當(dāng)同步報文發(fā)報周期取2s時,主從時鐘節(jié)點(diǎn)之間IEEE 1588同步誤差在100ns以內(nèi);當(dāng)同步報文發(fā)報周期取1s時,主從時鐘節(jié)點(diǎn)之間IEEE 1588同步精度能夠達(dá)到50ns。
表1 不同同步報文發(fā)送周期下的時鐘同步測試結(jié)果
表1中列出了同步報文不同發(fā)送周期下的時鐘同步測試結(jié)果,同步報文發(fā)送周期越短,時鐘同步精度越高,但隨著同步報文發(fā)送周期的減小,系統(tǒng)內(nèi)網(wǎng)絡(luò)流量隨之增加,在實(shí)際應(yīng)用中網(wǎng)絡(luò)負(fù)擔(dān)也會隨之加重,在運(yùn)行中可能會降低系統(tǒng)時鐘同步性能。
本文在對IEEE 1588精確時間同步原理進(jìn)行分析的基礎(chǔ)上,設(shè)計了嵌入式IEEE 1588時鐘同步軟硬件系統(tǒng),并在平臺測試中實(shí)現(xiàn)了高精度時鐘同步,提高了分布式系統(tǒng)中各節(jié)點(diǎn)的同步性能,可以極好地滿足了工業(yè)控制中分布式通信系統(tǒng)高精度同步要求,從應(yīng)用成本和時鐘同步精度等方面來考慮,可廣泛應(yīng)用于數(shù)字化變電站、智能電網(wǎng)、工業(yè)控制和通信等行業(yè)領(lǐng)域。
(編自《電氣技術(shù)》,作者為周峰、劉迎澍 等。)