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