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