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