IEEE1588和高精度時間同步的方法
0引言
控制系統(tǒng)中的時間同步問題早就出現(xiàn),而隨著系統(tǒng)范圍的擴(kuò)大和分散控制的發(fā)展,通過網(wǎng)絡(luò)聯(lián)系的分散控制節(jié)點之間的時間同步變得越來越重要。系統(tǒng)中時間的使用通常有兩種不同的應(yīng)用類型:時間標(biāo)記性應(yīng)用和基于頻率的應(yīng)用。如配電應(yīng)用可代表時間標(biāo)記應(yīng)用,在這種系統(tǒng)中絕對時間很重要,因為特定事件的定時不僅需要與本系統(tǒng)內(nèi)的其他事件的時間作比較,而且由于電力系統(tǒng)的連貫性,經(jīng)??赡苄枰c外部相關(guān)系統(tǒng)的事件的時間作比較。哪一個事件先發(fā)生?是電網(wǎng)A先跳閘,還是電網(wǎng)B先跳閘?這些事件相隔多少時間?在實際應(yīng)用中這些事件可能發(fā)生在不同的地理區(qū)域。由于這個原因需要絕對時間值的概念,并且這個時間基準(zhǔn)需要校正為世界各地使用的常用時間。由于特定的事件和報警是被打上時間標(biāo)記的,只要這些時間標(biāo)記具有相同的基準(zhǔn),就可以在事后進(jìn)行這些事件的時間順序的分析。
另一方面,在控制系統(tǒng)中存在大量基于頻率的應(yīng)用,如通過網(wǎng)絡(luò)連接的多個分布驅(qū)動的協(xié)調(diào)控制,它們需要精確同時執(zhí)行,因為它們不能過度拉伸或損壞驅(qū)動機(jī)架之間的織物。在這些應(yīng)用中當(dāng)這些驅(qū)動器是同步工作時過程最佳。如果每個驅(qū)動器精確地在同時采樣反饋和執(zhí)行控制算法,同時執(zhí)行控制命令,那么作用力的施加是協(xié)調(diào)的。在這種應(yīng)用中絕對時間不是很重要,但是控制周期的同步非常重要。
解決這些問題的關(guān)鍵是時間同步,時間同步的目的就是要將時間基準(zhǔn)準(zhǔn)確地傳遞到各控制點,傳遞并不困難,難于達(dá)到的是傳遞的精度。在2002年出現(xiàn)的IEEE1588標(biāo)準(zhǔn)(網(wǎng)絡(luò)化測量和控制系統(tǒng)的精確時鐘同步協(xié)議,通常稱為Precision Time Protocol[PTP])在這方面取得了重大進(jìn)展。使用這個方法并不需要很多資源就可以達(dá)到100納秒級的同步精度。IEEE1588標(biāo)準(zhǔn)出現(xiàn)后得到業(yè)界高度重視,在2002年,2004年舉辦專業(yè)會議,2006年將舉辦第三次專業(yè)會議。工業(yè)控制的領(lǐng)先廠商Rockwell,Siemens等立即投入產(chǎn)品開發(fā),IEC已將它轉(zhuǎn)化為IEC61588-2004標(biāo)準(zhǔn),這個標(biāo)準(zhǔn)已為Ethernet/IP,Profinet,PowerLink,EtherCat等基于以太網(wǎng)的總線采用,成為當(dāng)前普遍采用的方法。
1 IEEE1588標(biāo)準(zhǔn)
IEEE1588標(biāo)準(zhǔn),規(guī)定了將分散在測量和控制系統(tǒng)內(nèi)的分離節(jié)點上獨立運(yùn)行的時鐘,同步到一個高精度和準(zhǔn)確度的協(xié)議。這些時鐘是在一個通信網(wǎng)絡(luò)中互相通信的。按這個基本格式,這個協(xié)議要形成樹形的管理,使系統(tǒng)內(nèi)的這些時鐘產(chǎn)生一個主從關(guān)系。在一個給定子網(wǎng)中包括多個節(jié)點,每一個節(jié)點都有一個時鐘。時鐘之間經(jīng)由網(wǎng)絡(luò)連接。IEEE1588規(guī)定了子網(wǎng)的劃分規(guī)則,它是按時鐘的級別劃分子網(wǎng),一個子網(wǎng)只有一個1級或2級時鐘。在一個子網(wǎng)中只有一個主時鐘,從時鐘從主時鐘得到時間,所有時鐘最終都是從一個稱為祖母時鐘那里得到它的時間。任何時鐘和它的祖母時鐘之間的通信路徑都是最小跨度樹的一部分。
分布時鐘的PTP系統(tǒng)由普通時鐘和邊界時鐘組成。普通時鐘是只有一個PTP端口的時鐘,邊界時鐘是帶兩個或多個不同的PTP通信路徑的端口的時鐘。如一個可在它的端口上實現(xiàn)PTP協(xié)議的交換機(jī)就是一個邊界時鐘。很明顯普通時鐘只有接收時間的能力,邊界時鐘具有傳遞時間的能力。
系統(tǒng)中的一個時鐘可選為主時鐘,由主時鐘向從時鐘發(fā)送同步報文,通過報文傳遞時鐘信息。圖1是一個配置的例子。
圖1-帶祖母時鐘、邊界時鐘和從時鐘的系統(tǒng)例子
2 PTP時鐘的協(xié)議模型
圖1是PTP子域的例子,最上面的是這個子域的祖母時鐘,它是一個GPS(Global Positioning Satellite System是由美國國防部維持的系統(tǒng),來自GPS的時間可以達(dá)到10~100ns的精度范圍)時鐘,是這個子域的時間源,下面通過父子結(jié)構(gòu)的時鐘端口構(gòu)成傳遞系統(tǒng)。這個結(jié)構(gòu)的根是祖母時鐘,這個結(jié)構(gòu)的每一個分支點通常需要一個邊界時鐘,這點上從根進(jìn)一步分支方向的所有時鐘端口必須是主或父代端口,而有一個端口是同步到更加靠近根的時鐘的從端口。分支到最后(不是根方向)的端口必定是從端口或不活動(Passive)端口(不活動端口的通信路徑上,除非另外規(guī)定不應(yīng)當(dāng)發(fā)生報文)。
3 PTP同步機(jī)制
IEEE1588定義了四種同步報文Sync,F(xiàn)ollow_up ,Delay_Request , Delay_Response , 和一組管理報文。為了簡化問題,我們先考慮一個主時鐘與一個從時鐘的同步過程:
1,主節(jié)點每2秒鐘(同步報文的間隔是可設(shè)置的,這里假設(shè)為2秒)向從節(jié)點發(fā)送一個“同步”(Sync)報文。這個報文是由主節(jié)點打上預(yù)計的發(fā)送時間標(biāo)記的報文,但是由于預(yù)計的發(fā)送時間和實際的發(fā)送報文發(fā)送本身可能的延遲,實際時間標(biāo)記不能隨“同步”報文一起發(fā)送。這個“同步”報文在接收端被從節(jié)點打上接收時間標(biāo)記(為了提高精度,應(yīng)在物理層或接近物理層的位置檢測、記錄和標(biāo)識發(fā)送或接收時間)。IEEE1588規(guī)范制定了可選件“硬件輔助”設(shè)計來實現(xiàn)這個精度的提高。
評論