1.引言
實際的應用需求推動著我們對網絡實時性的不斷追求。通常一個真正具有實時性的自動化解決方案,是在任何條件下都能滿足控制操作對時間的要求。所有面向嚴格時間同步而設計的系統基本上都采用以下三個模式:
基于報文的實時系統――這類系統是在控制周期內,通過對傳感器和執行器進行輪巡檢測,達到對時間控制的目的。PLC和SCADA系統之間通過I/O網絡的通訊,就是該模式下實時應用的一個實例。
基于周期的實時系統――這里周期不僅指控制器的執行周期,它也是網絡的同步周期。傳感器、執行器和控制器都工作在一個嚴格同步的周期內。運動控制所使用的網絡,例如SERCOS網絡,就是一個典型的基于周期同步的實際應用。
基于時標的實時系統――在這個系統中的數據檢測、控制運算和傳動都是采用時標,參考本地實時時鐘實現,而不是通過響應網絡報文或外部中斷實現的。在一個分布式系統中,這些本地時鐘同步必須是非常精確。基于時標的系統雖然仍未在工廠自動化中廣泛應用,但是現在已在一些DCS I/O輸出中打上了時標。基于時標的系統已經在一些應用中大展手腳,例如太空船的控制。
三種系統的比較如下:
基于時標的實時網絡已在測量和實驗中得到應用,并將進一步應用到工廠自動化。它對于網絡上本地時鐘同步的要求很高。IEEE1588精確時間協議(PTP)是新的IEEE標準,是目前基于以太網實現精確時間同步的一個綜合解決方案。這一協議最重要的特點是可以實現微秒級甚至小于1個微秒的時間同步。IEEE1588協議適用于小的同質/異質網絡,它的設計者特別注意了較低的資源占用,從而可以使這一協議適用于低端和低成本的網絡。它只需要最小的網絡帶寬,無需特別的內存和CPU性能要求。這一協議所需要的較少的管理工作也是很重要的。由于支持主時鐘冗余,PTP系統可以自動采用最優的主時鐘同步算法實現設置,同時支持容錯功能。
2.IEEE1588的工作原理
IEEE1588精確時間同步技術是基于IP組播通信實現的,不只限于以太網,它可以用在任何一個支持組播的總線系統中。根據同步過程中角色的不同,將網絡上分為兩類,主時鐘和從時鐘。提供同步時鐘源的叫主時鐘,而與之同步的時鐘稱為從時鐘,因此主時鐘和從時鐘是相對的,任何一個網絡時鐘都可以充當主時鐘和從時鐘。
每一個從時鐘通過與主時鐘交換同步報文實現與主時鐘的時間同步。同步過程可以劃分為兩步:第一步是校正主時鐘和從時鐘之間的時差,即偏移值測量。在偏移值測量過程中,主時鐘以固定的時間間隔(默認每2秒一次)周期性地發送同步報文(SYNC報文)到相聯的從時鐘。在發送同步報文時,主時鐘測量出準確的發送時間(TM1);從時鐘在接收到同步報文時測量出準確的接收時間(TS1)。主時鐘在后續報文(Follow up報文)中包括了上述發送時間TM1。為了提高精度,在接收到同步報文和相應的后續報文時,從時鐘計算出其相對于主時鐘的偏差,然后根據這個偏差校正從時鐘Ts。如果不考慮在傳輸路徑上實際會產生的延遲,這兩個時鐘就已經同步了。
時鐘同步過程的第二步是延遲的測量,借此得到從時鐘和主時鐘之間的延遲或滯后。這了實現這個目的,從時鐘向主時鐘發送一個所謂的“延遲請求”報文,并測出該報文的準確發送時間TS3。在收到該報文時,主時鐘測得接收時間TM3并將該時間封裝在“延遲響應”報文中返回到從時鐘。從時鐘根據發送時間TS3和主時鐘返回的接收時間TM3計算出主時鐘和從時鐘之間的延遲。延遲的測量是非周期性的,而且時間間隔比較大(默認為4到60秒),這樣可以避免網絡過載。通過上述同步過程,在PTP設備間,尤其是協議棧之間的時間波動以及主時鐘和從時鐘之間的延遲被消除了。但是,對延遲測量精度來說主時鐘和從時鐘之間的對稱延遲,即發送和接收的延遲相同,是至關重要的。
3.IEEE1588與交換機
協議的精度也取決于網絡拓撲結構的延遲抖動。在極低負載或沒有負載的情況下,第二層交換機的處理時間很短,一般為2至10μs加上報文接收時間。而采用新設計的交換機的延遲抖動更低,例如,赫斯曼的RS2-FX/FX交換機本身只有約0.4μs的延遲抖動。
但由于交換機基于隊列和存儲/轉發機制工作,因此隊列中一個最長的數據包將可能給后續報文帶來122μs的延遲,而在大負載情況下,隊列中可能會包括不止一個長數據包。再者,該協議精度還取決于雙向完全對稱的延遲,而在大負載情況下,這一條件幾乎是不可能保證的。
采用數據包優先級,即IEEE802.D/p,實際上也不能解決上述問題,因為至少有一條最長數據包可能出現在同步報文之前,而它將帶來122μs的傳輸時間抖動。而現有的交換機在采用優先級調度機制后,在同步報文之前的優先級隊列中可能會有2至8個數據包。這意味著在大負載情況下延遲時間的抖動將從360μs到1ms。
解決這些問題的方法是采用IEEE1588 Boundary時鐘。這樣,對于點對點連接,主時鐘和從時鐘之間將幾乎沒有延遲時間抖動,而且與交換機內部的隊列延遲和抖動無關。
4.實驗結果
實驗裝置如圖所示,我們將帶IEEE1588增強功能的模塊安裝在Hirschmann模塊化交換機(MICE系列)上面。為了考查同步性能,我們采用了以太網數據包發生器制造較高的網絡負載,并在這兩個交換機上各安裝了一個PPS(Pulse Per Second)信號輸出,將它們連接到一個示波器。我們在實驗中所達到的同步精度(最大時間抖動)在±100ns以內,主時鐘和從時鐘之間的標準偏差為23.95ns,偏差平均值為-4.248ns。
5.結論
IEEE1588所定義的精確時間協議(PTP)達到了小于一個微秒的同步精度,并具有實現更高精度的潛力。對于高精度的交換式以太網,推薦采用支持IEEE1588技術的以太網交換機。它非常適用于那些在一個有限的網絡域中要求實現高精度分布式時鐘同步的應用。