顧小萍 譚躍剛 吳浩然
(1.湖北輕工職業(yè)技術(shù)學(xué)院機(jī)電工程系 武漢 430070)(2.武漢理工大學(xué) 武漢 430070)(3.海軍工程大學(xué) 武漢 430033)
基于PTP協(xié)議的分布式數(shù)據(jù)采集系統(tǒng)可行性分析*
顧小萍1譚躍剛2吳浩然3
(1.湖北輕工職業(yè)技術(shù)學(xué)院機(jī)電工程系武漢430070)(2.武漢理工大學(xué)武漢430070)(3.海軍工程大學(xué)武漢430033)
摘要論文首先介紹了PTP協(xié)議的開(kāi)發(fā)背景,接著對(duì)協(xié)議中涉及的時(shí)間同步原理、同步時(shí)鐘和最佳主時(shí)鐘算法進(jìn)行了詳述。然后就其它傳統(tǒng)同步技術(shù),分析了PTP協(xié)議的優(yōu)勢(shì),指出PTP協(xié)議綜合了軟硬件同步方法的優(yōu)點(diǎn),可以在不需要太多資源的前提下,就能夠獲得量級(jí)在亞微秒級(jí)的時(shí)鐘同步精度。最后,得出研究基于PTP協(xié)議的分布式數(shù)據(jù)采集系統(tǒng)是可行的結(jié)論。
關(guān)鍵詞PTP協(xié)議; 分布式數(shù)據(jù)采集; 時(shí)鐘同步
Class NumberTP274
1引言
時(shí)鐘同步是分布式數(shù)據(jù)采集系統(tǒng)正常工作的核心技術(shù)之一目前,針對(duì)分布式系統(tǒng)的實(shí)現(xiàn)以及所要求的時(shí)鐘精度,存在著不同的協(xié)議標(biāo)準(zhǔn)如:NTP、SNTP、IEEE1588 標(biāo)準(zhǔn)的 PTP 協(xié)議[1~3](除特別說(shuō)明外,本文中IEEE1588 協(xié)議等價(jià)于PTP 協(xié)議)。傳統(tǒng)的時(shí)間同步協(xié)議(這里特指軟件同步方法NTP、SNTP)由于受其實(shí)現(xiàn)機(jī)理的限制,同步精度一般較低(NTP在廣域網(wǎng)中的精度一般為幾十毫秒,局域網(wǎng)中一般為亞毫秒,而SNTP為NTP的簡(jiǎn)化版本,只能達(dá)到毫秒級(jí)的同步精度)。另一方面,利用硬件時(shí)鐘同步的方法,雖然可以獲得很高的精確度(一般為 10-9s~10-6s),但需引入專用的硬件時(shí)鐘同步設(shè)備,這使得時(shí)鐘同步的代價(jià)較高,應(yīng)用范圍小且操作不便。IEEE 1588協(xié)議綜合了軟硬件同步方法的優(yōu)點(diǎn),在不需要太多的資源的前提下,就可以獲得適用于高端設(shè)備以及低端廉價(jià)設(shè)備都能夠訪問(wèn)的,量級(jí)在亞微秒的時(shí)鐘同步精度。
2IEEE1588協(xié)議概述
IEEE1588定義了一個(gè)能夠在測(cè)量和控制系統(tǒng)中實(shí)現(xiàn)高精度時(shí)鐘同步的協(xié)議[4~6]——精確時(shí)間協(xié)議(Precision Time Protocol,PTP)。PTP集成了網(wǎng)絡(luò)通訊、局部計(jì)算和分布式對(duì)象等多項(xiàng)技術(shù),適用于所有通過(guò)支持多播的局域網(wǎng)進(jìn)行通訊的分布式系統(tǒng),特別適合于以太網(wǎng),但不局限于以太網(wǎng)。PTP協(xié)議能夠使異質(zhì)系統(tǒng)中各類不同精確度、分辨率和穩(wěn)定性的時(shí)鐘同步起來(lái),占用最少的網(wǎng)絡(luò)和局部計(jì)算資源,在最好情況下能達(dá)到系統(tǒng)級(jí)的亞微秒級(jí)的同步精度。
2.1同步原理
在通訊過(guò)程中,PTP通過(guò)主從設(shè)備間傳遞消息,計(jì)算時(shí)間偏差來(lái)達(dá)到主從同步。主時(shí)鐘周期性地組播包含時(shí)間戳的消息,需要同步的從時(shí)鐘向主時(shí)鐘發(fā)送消息,從時(shí)鐘根據(jù)收到的時(shí)間信息和自身發(fā)送消息的時(shí)間,計(jì)算出與主時(shí)鐘的偏差和線路延遲。這種同步消息傳遞的機(jī)制被稱為延時(shí)請(qǐng)求響應(yīng)機(jī)制。
2.2PTP時(shí)鐘狀態(tài)機(jī)
PTP時(shí)鐘狀態(tài)轉(zhuǎn)換如圖1所示。
圖1 狀態(tài)機(jī)
當(dāng)一個(gè)時(shí)鐘上線,它在系統(tǒng)指定的時(shí)間內(nèi)監(jiān)聽(tīng)來(lái)自主時(shí)鐘的Sync消息;
1)如果收到Sync消息,則根據(jù)最佳主時(shí)鐘算法,確定狀態(tài);
2)如果這段時(shí)間內(nèi)沒(méi)有收到Sync消息,該時(shí)鐘則假定自己為主時(shí)鐘,此時(shí)的狀態(tài)為Pre_ Master,時(shí)鐘的端口表現(xiàn)為主時(shí)鐘的狀態(tài),但是不發(fā)送Sync消息;(1)這個(gè)Pre_ Master狀態(tài)會(huì)保持一定的時(shí)間;(2)如果在指定的時(shí)間內(nèi)仍沒(méi)有收到其它時(shí)鐘的Sync消息,則該時(shí)鐘狀態(tài)為主狀態(tài)Master,并且發(fā)送Sync消息。
2.3PTP時(shí)鐘類型
PTP時(shí)鐘[7~8]主要包括:普通時(shí)鐘、邊界時(shí)鐘、透?jìng)鲿r(shí)鐘和混合類型時(shí)鐘。
2.4最佳主時(shí)鐘算法
在IEEEl588協(xié)議中,最佳主時(shí)鐘算法[9]BMC(Best Master Clock algorithm)是最核心也是最關(guān)鍵的技術(shù)之一,它直接關(guān)系到系統(tǒng)時(shí)鐘源的選擇。BMC由數(shù)據(jù)集比較算法和狀態(tài)決策算法兩個(gè)部分組成。其中,數(shù)據(jù)集比較算法比較兩組數(shù)據(jù)的優(yōu)劣,可能一組是代表本地時(shí)鐘的缺省特性的數(shù)據(jù),一組代表從某端口接收的同步報(bào)文所包含的信息。這個(gè)比較算法一方面要對(duì)各種數(shù)據(jù)組進(jìn)行比較,另一方面還要根據(jù)數(shù)據(jù)組比較結(jié)果計(jì)算每個(gè)端口的推薦狀態(tài)(主站、從站、待機(jī)、未校正、只聽(tīng)、禁止、初始化、故障狀態(tài))。
狀態(tài)決策算法是在數(shù)據(jù)集比較算法的基礎(chǔ)上來(lái)決定本地時(shí)鐘端口的狀態(tài).因此狀態(tài)決策算法實(shí)際上是通過(guò)多次運(yùn)行數(shù)據(jù)集比較算法,算法的流程如圖2所示。
圖2 狀態(tài)決策算法流程
在算法的開(kāi)始。首先判斷本地時(shí)鐘的默認(rèn)數(shù)據(jù)集D0的超主時(shí)鐘級(jí)別,如果D0的超主時(shí)鐘是1級(jí)或2級(jí)時(shí)鐘。則用數(shù)據(jù)集比較算法比較D0和時(shí)鐘端口接收到的同步報(bào)文中的最好值Erbest,如果Erbest性能優(yōu)于D0,則本地時(shí)鐘為被動(dòng)狀態(tài),并將更新?tīng)顟B(tài)碼設(shè)為P1,若D0優(yōu)于Erbest,則本地時(shí)鐘為主時(shí)鐘。同時(shí)將更新?tīng)顟B(tài)碼設(shè)為M1。如果D0的超主時(shí)鐘不是1級(jí)、2級(jí)時(shí)鐘,則用數(shù)據(jù)集比較算法比較數(shù)據(jù)集D0和時(shí)鐘的所有端口收到的同步報(bào)文中的最佳者Ebest,若D0優(yōu)于Ebest,則設(shè)本地時(shí)鐘為主時(shí)鐘,同時(shí)將更新?tīng)顟B(tài)碼設(shè)為M2。若同步報(bào)文Ebest性能優(yōu)于D0,則再用數(shù)據(jù)集比較算法比較Erbest與Ebest,若兩者相同,則設(shè)本地時(shí)鐘為從時(shí)鐘。并將更新?tīng)顟B(tài)碼設(shè)為S1。
時(shí)鐘端口在通過(guò)運(yùn)行狀態(tài)決策算法后,會(huì)得出本地時(shí)鐘端口的狀態(tài),同時(shí)也會(huì)得到一個(gè)更新?tīng)顟B(tài)碼。根據(jù)更新?tīng)顟B(tài)碼,時(shí)鐘的數(shù)據(jù)集管理系統(tǒng)會(huì)對(duì)時(shí)鐘的當(dāng)前數(shù)據(jù)集、父數(shù)據(jù)集和全球時(shí)間數(shù)據(jù)集進(jìn)行修正。修正的信息來(lái)源會(huì)根據(jù)不同的更新?tīng)顟B(tài)碼而有所不同。更新?tīng)顟B(tài)碼為M1、M2,系統(tǒng)將根據(jù)本地時(shí)鐘默認(rèn)數(shù)據(jù)集的相關(guān)參數(shù)對(duì)當(dāng)前數(shù)據(jù)集、父數(shù)據(jù)集和端口數(shù)據(jù)集進(jìn)行更新,如果更新?tīng)顟B(tài)碼是P1、P2,則更新數(shù)據(jù)源是時(shí)鐘端口接收到的同步報(bào)文中的最好值Erbest,若更新?tīng)顟B(tài)碼是M3,則更新數(shù)據(jù)源是時(shí)鐘的所有端口收到的同步報(bào)文中的最佳者Ebest。
3相對(duì)于傳統(tǒng)時(shí)間同步算法的優(yōu)勢(shì)
3.1時(shí)間戳獲取位置優(yōu)勢(shì)
在一個(gè)完整的信息封裝、發(fā)送、接收、解析過(guò)程中,報(bào)文從發(fā)送端協(xié)議棧中的發(fā)送時(shí)間戳[10]獲取點(diǎn)到接收端協(xié)議棧中的接收時(shí)間戳獲取點(diǎn)所經(jīng)過(guò)的網(wǎng)絡(luò)傳輸延遲的不確定性,主要來(lái)自于發(fā)送端和接收端的本地協(xié)議棧以及交換設(shè)備中的協(xié)議棧。這是由于協(xié)議棧的大部分都由軟件實(shí)現(xiàn),這些運(yùn)算處理的實(shí)際過(guò)程會(huì)受到CPU中斷和操作系統(tǒng)調(diào)度的影響,所以這些運(yùn)算處理從開(kāi)始到完成所經(jīng)過(guò)時(shí)間是不確定的,幾乎每次都不同。
如圖3所示,傳統(tǒng)的時(shí)間同步協(xié)議如NTP協(xié)議的時(shí)間戳處理在C點(diǎn),A-C的不確定性延時(shí)會(huì)導(dǎo)致NTP的誤差達(dá)到幾十毫秒,嚴(yán)重影響時(shí)間同步的精度;若要降低網(wǎng)絡(luò)傳輸延遲的不確定性,需要盡可能地將時(shí)間戳獲取點(diǎn)向協(xié)議棧的底層移動(dòng),時(shí)間戳的獲取點(diǎn)越靠近傳輸介質(zhì),獲取的發(fā)送和接收時(shí)間戳的精度越高,而IEEE1588的時(shí)間處理在A點(diǎn),這極大地提高了系統(tǒng)時(shí)間同步精度。
圖3 硬件打時(shí)間戳
3.2中間網(wǎng)絡(luò)設(shè)備延時(shí)獲取優(yōu)勢(shì)
當(dāng)系統(tǒng)中存在路由器或交換機(jī)這樣的中間轉(zhuǎn)換設(shè)備時(shí),由于需要進(jìn)行路由選擇,將會(huì)帶來(lái)時(shí)間延遲問(wèn)題。針對(duì)此種情況,傳統(tǒng)時(shí)間同步協(xié)議基本上是沒(méi)有考慮這些設(shè)備帶來(lái)的時(shí)延問(wèn)題。與傳統(tǒng)時(shí)間同步協(xié)議不同,IEEE1588V2新增的透?jìng)鲿r(shí)鐘模式,可以計(jì)算出中間網(wǎng)絡(luò)設(shè)備引入的駐留時(shí)間,從而實(shí)現(xiàn)主從時(shí)鐘間精確的時(shí)鐘同步。
3.3時(shí)間同步精度優(yōu)勢(shì)
網(wǎng)絡(luò)時(shí)間協(xié)議(NTP)已是以太網(wǎng)時(shí)間同步的傳統(tǒng)方式,它允許時(shí)間同步達(dá)到100ms。從圖4可以看出,采用PTP可以實(shí)現(xiàn)更嚴(yán)格的控制。其中單純采用軟件PTP(典型特征為軟件時(shí)間戳)精度為微秒級(jí),而采用硬件輔助的PTP 方案(典型特征為硬件時(shí)間戳)可以實(shí)現(xiàn)納秒級(jí)的時(shí)間同步性能。采用NTP、軟件IEEE1588以及硬件輔助方式的IEEE1588所能夠獲得的時(shí)間同步精度如圖4所示。
3.4其他性能對(duì)比情況
表1列出了TOP、以太網(wǎng)物理層同步、NTP以及IEEE1588四種同步技術(shù)關(guān)于各自技術(shù)特點(diǎn)、優(yōu)勢(shì)以及局限性方面的對(duì)比情況。
由表1可見(jiàn),只有IEEE1588協(xié)議能夠獲得低于亞微秒級(jí)的時(shí)間同步精度。
圖4 時(shí)鐘同步實(shí)現(xiàn)方案的選擇
同步技術(shù)技術(shù)特點(diǎn)優(yōu)勢(shì)局限TOP 將本地時(shí)鐘信息根據(jù)一定的封裝放入數(shù)據(jù)包中發(fā)送,在接收端從包中恢復(fù)時(shí)鐘,通過(guò)算法和封裝格式盡量規(guī)避PSN傳遞過(guò)程中的損傷1.支持PSN網(wǎng)絡(luò)透?jìng)?不要求中間設(shè)備支持TOP,運(yùn)用靈活;2.廠商芯片支持較好,實(shí)現(xiàn)技術(shù)比較成熟。1.恢復(fù)時(shí)間質(zhì)量依賴于承載的PSN網(wǎng)絡(luò),受網(wǎng)絡(luò)延遲抖動(dòng)、丟包、錯(cuò)序的影響非常大,需要保證業(yè)務(wù)高QoS;2.沒(méi)有標(biāo)準(zhǔn)化協(xié)議,不同設(shè)備間兼容性差;3.不支持時(shí)間同步。以太網(wǎng)物理層同步 利用以太網(wǎng)物理層同步技術(shù),最后達(dá)到包網(wǎng)絡(luò)的全面同步1.時(shí)鐘同步質(zhì)量SDH;2.不受PSN網(wǎng)絡(luò)影響。1.需要全網(wǎng)部署;2.不是所有的以太接口都可以恢復(fù)時(shí)鐘;3.不支持時(shí)間同步。NTP NTP(網(wǎng)絡(luò)時(shí)間協(xié)議),時(shí)間定時(shí)方式類似于1588,廣泛用于Internet網(wǎng)絡(luò)定時(shí)1.可以同時(shí)實(shí)現(xiàn)頻率與時(shí)間同步。1.同步精度為毫秒級(jí),不能滿足測(cè)控網(wǎng)絡(luò)的要求。IEEE1588v2 PTP(精確時(shí)鐘同步協(xié)議),利用協(xié)議報(bào)文傳遞同步信息,可應(yīng)用于電信.測(cè)量和工業(yè)控制領(lǐng)域的同步1.可以實(shí)現(xiàn)時(shí)間同步;2.時(shí)鐘精度為亞微秒級(jí),用于范圍廣;3.協(xié)議自動(dòng)協(xié)商,無(wú)需配置。1.要求全網(wǎng)設(shè)備支持,必須全網(wǎng)部署;2.新技術(shù),要求硬件支持,協(xié)議較復(fù)雜,部署成本較高。
4結(jié)論
在當(dāng)今經(jīng)濟(jì)技術(shù)高度發(fā)展,系統(tǒng)規(guī)模空前巨大,分散控制和網(wǎng)絡(luò)化的時(shí)代,分散時(shí)鐘的同步越加重要。IEEE1588定義了一個(gè)在測(cè)量和控制網(wǎng)絡(luò)中,與網(wǎng)絡(luò)交流、本地計(jì)算和分配對(duì)象有關(guān)的精確同步時(shí)鐘的協(xié)議。1588協(xié)議是建立在網(wǎng)絡(luò)基礎(chǔ)上的,但它并不需要為時(shí)鐘傳遞建立特別的網(wǎng)絡(luò),實(shí)現(xiàn)1588協(xié)議只需在原有網(wǎng)絡(luò)上添加時(shí)間同步報(bào)文,這些報(bào)文只占用少量網(wǎng)絡(luò)資源,它們只是和控制數(shù)據(jù)包或其他信息包共享網(wǎng)絡(luò)。從目前的原型實(shí)驗(yàn)和應(yīng)用來(lái)看,IEEE1588精確時(shí)間協(xié)議可以達(dá)到亞微秒級(jí)的同步精度,并且有可能達(dá)到更高的精度。目前許多芯片制造商已開(kāi)發(fā)出PTP 協(xié)議棧軟件開(kāi)發(fā)包,這減少了技術(shù)人員在理解PTP 協(xié)議深層次內(nèi)容的投入精力,縮短了開(kāi)發(fā)時(shí)間,提高了研發(fā)效率。因此,基于PTP協(xié)議的分布式數(shù)據(jù)采集系統(tǒng)是可行的。
參 考 文 獻(xiàn)
[1] ieee1588[EB/OL].http://www.ieee1588.com.
[2] IEEE Std 1588-2002.IEEE Standard for a precision ClockSynchronization Protocol for Networked Measurement andControl Systems[S].
[3] IEEE Std 1588-2008.IEEE Standard for a precision ClockSynchronization Protocol for Networked Measurement andControl Systems[S].
[4] IEEE Instrumentation and Measurement Society.IEEE Standard for a Precison Clock Synchronization Protocol for Networked Measurement and Control Systems.NewYork,USA.IEEE,2002.
[5] 陳姝,胡冰新,劉景夏,等.IEEE 1588精確時(shí)間同步協(xié)議淺析[J].微計(jì)算機(jī)信息,2012,28(2):126-128.
[6] 黃云水, 馮玉光.IEEE1588精密時(shí)鐘同步分析[J].國(guó)外電子測(cè)量技術(shù),2005,24(9):9-12.
[7] 舒邦久,姚沛,劉興文.IEEE 1588的時(shí)鐘設(shè)備模型研究[J].電子技術(shù),2009,12:42-44.
[8] 陳金鳳,華宇,孫中尉.IEEE1588v2透明時(shí)鐘研究與實(shí)現(xiàn)[J].宇航計(jì)測(cè)技術(shù),2013,33(3)11-16.
[9] 戴寶峰,崔少輝,常健.IEEE1588最佳主時(shí)鐘算法的分析與實(shí)現(xiàn)[J].儀表技術(shù),2008(2):29-34.
[10] Hans Weibel.IEEE1588 Implement ation and Performance of Time Stamping Techniques[C]//Gaithersbarg: Procedings of NIST Conference on IEEE 1588,2004.
Feasibility Analysis of Distributed Acquisition System Based on PTP
GU Xiaoping1TAN Yuegang2WU Haoran3
((1.Department of Electro-machinery Engineering, Hubei Light Industry Technology Institute,Wuhan430070)(2.Wuhan University of Technology, Wuhan430070)(3.Naval University of Engineering, Wuhan 430033)
AbstractThe paper firstly introduces the background of the precision time protocol (PTP). Then, it specifies the principles of time synchronization, clock types and best master clock algorithm (BMC) associated with the PTP. Compared with the conventional time synchronization methods based on the software and hardware, this report analyzes the advantages of the PTP. By using the PTP, it can easily obtain the time synchronization accuracy order of sub-microsecond without too much resource.Finally, a conclusion can be drawn that the study on the distributed acquisition system based on the PTP is feasible.
Key Wordsprecision time protocol, distributed acquisition system, time synchronization
*收稿日期:2015年12月13日,修回日期:2016年1月27日
作者簡(jiǎn)介:顧小萍,女,碩士研究生,研究方向:傳感器。譚躍剛,男,教授,研究方向:機(jī)械自動(dòng)化。吳浩然,男,博士研究生,研究方向:水聲信號(hào)處理。
中圖分類號(hào)TP274
DOI:10.3969/j.issn.1672-9730.2016.06.024