專利名稱:面向測量與控制的精確時間同步方法與系統(tǒng)的制作方法
技術領域:
本發(fā)明涉及自動控制領域,尤其涉及自動控制系統(tǒng)中網(wǎng)絡測量與控制設備間的同步技術。
背景技術:
目前應用于工業(yè)控制網(wǎng)絡測量的時間同步協(xié)議主要是IEEE1588,針對協(xié)議的不同實現(xiàn)方法具有不同的時間同步精度。但在實際的工業(yè)控制網(wǎng)絡中,還應考慮實現(xiàn)精確時間同步協(xié)議引擎模塊、主時鐘、本地時鐘同步、發(fā)送與接收控制模塊對時間同步精度的影響。本發(fā)明針對上述影響因素分別優(yōu)化了最佳主時鐘算法、改進了本地時鐘同步算法、優(yōu)化了PTP報文發(fā)送與接收的控制過程,從而達到了理想的同步精度,可滿足自動控制領域中測量與控制對精確同步的要求。
發(fā)明內(nèi)容
本發(fā)明設計了一種精確時間同步系統(tǒng),通過構建精確時間同步(PTP)協(xié)議引擎模塊體系結構,采用最佳主時鐘算法、時鐘變量算法、本地時鐘同步算法,優(yōu)化了PTP報文發(fā)送與接收的控制過程。所構建精確時間同步協(xié)議體系結構,包括如下功能模塊PTP協(xié)議引擎模塊,PTP接收控制模塊,PTP發(fā)送控制模塊和數(shù)據(jù)集服務器。
PTP協(xié)議引擎模塊是整個精確時間同步實現(xiàn)的核心,它完成協(xié)議狀態(tài)機的轉化、報文計算,時鐘同步計算,還完成與本地時鐘、數(shù)據(jù)集服務器和接收發(fā)送模塊進行數(shù)據(jù)交互及總體控制,PTP協(xié)議引擎模塊具體包括PTP協(xié)議狀態(tài)機模塊、最佳主時鐘算法模塊、本地時鐘同步模塊、時鐘變量算法模塊。
PTP接收控制模塊,用于定義報文的處理流程,以便有效合理更新各個數(shù)據(jù)集,通過用戶數(shù)據(jù)報協(xié)議UDP通信接口實現(xiàn)PTP協(xié)議報文的接收,包括,同步報文接收部分、跟隨報文接收部分、時延請求報文接收部分、時延響應報文接收部分、管理報文接收部分。
PTP發(fā)送控制模塊,調(diào)用UDP服務,通過UDP通信接口實現(xiàn)PTP協(xié)議報文的發(fā)送,完成同步報文發(fā)送、跟隨報文發(fā)送、時延請求報文發(fā)送、時延響應報文發(fā)送。
數(shù)據(jù)集服務器部分,存放本地時鐘系統(tǒng)屬性特征信息和遠程主時鐘系統(tǒng)屬性特征信息,為PTP協(xié)議的配置和計算提供數(shù)據(jù)源,包括缺省數(shù)據(jù)集、當前數(shù)據(jù)集、父類數(shù)據(jù)集、全局時間數(shù)據(jù)集、端口配置數(shù)據(jù)集和外來主時鐘數(shù)據(jù)集。
本發(fā)明還提出一種精確時間同步實現(xiàn)方法,通過構建精確時間同步(PTP)協(xié)議引擎模塊體系結構,采用狀態(tài)決策算法、最佳主時鐘算法、時鐘變量算法來選擇PTP協(xié)議報文中最佳的時間值;采用定時器步長補償?shù)姆绞将@取時間的抖動誤差;計算出通信鏈路時延和從時鐘與主時鐘的時間偏差;PTP發(fā)送/接收控制模塊調(diào)用UDP服務,通過UDP通信接口實現(xiàn)PTP協(xié)議報文的發(fā)送/接收,優(yōu)化了PTP報文發(fā)送與接收的控制過程。
本發(fā)明具有與IEEE1588協(xié)議的嚴格一致性,降低了其他影響時間同步精度的因素,提高了系統(tǒng)的同步精度,主要用于各種需要精確同步的網(wǎng)絡及網(wǎng)絡設備。
說明書附1精確時間同步系統(tǒng)的體系結構示意2PTP狀態(tài)機轉化示意3數(shù)據(jù)集比較算法流程4狀態(tài)決策算法流程5PTP同步報文的通信流程6同步報文的接收流程7精確報文處理流程8時延請求報文處理流程9時延響應報文接收流程10PTP報文發(fā)送流程圖具體實施方式
本發(fā)明提出的精確時間同步實現(xiàn)方法主要是利用了通信鏈路時延的對稱性,通過從時鐘與主時鐘的三次通信握手過程,在從時鐘系統(tǒng)上通信過程的四個時間戳,從而計算出通信鏈路時延和從時鐘與主時鐘的時間偏差。為了提供時間同步的精度,本系統(tǒng)作了三個方面的改進一是網(wǎng)絡報文處理,接收報文時觸發(fā)網(wǎng)絡中斷,在中斷中記下接收時間,發(fā)送網(wǎng)絡報文時,在提交給網(wǎng)絡通信棧的物理層時記下發(fā)送時間戳,這樣可以避免通信棧引起的時間偏差;二是通過狀態(tài)決策算法、最佳主時鐘算法、時鐘變量算法來選擇PTP協(xié)議報文中最佳的時間值,進行時延和時間偏差的計算;三是獲取系統(tǒng)時間時,采用定時器步長補償?shù)姆绞綔p少獲取時間的抖動誤差。
精確時間同步(PTP)系統(tǒng)的體系結構如
圖1所示。它包括PTP協(xié)議引擎模塊、PTP接收控制模塊、PTP發(fā)送控制模塊三個主要模塊,以及數(shù)據(jù)集服務器(具體包括缺省數(shù)據(jù)集、當前數(shù)據(jù)集、父類數(shù)據(jù)集、全局時間數(shù)據(jù)集、端口配置數(shù)據(jù)集和外來主時鐘數(shù)據(jù)集)。其中,PTP協(xié)議引擎模塊是整個精確時間同步實現(xiàn)的核心,它完成協(xié)議狀態(tài)機的轉化、報文計算,時鐘同步計算,此外,還完成與本地時鐘、幾個數(shù)據(jù)集和接收發(fā)送模塊進行數(shù)據(jù)交互和總體控制;數(shù)據(jù)集服務器存放本地時鐘系統(tǒng)屬性特征信息和遠程主時鐘系統(tǒng)屬性特征信息,為PTP協(xié)議的配置和計算提供數(shù)據(jù)源;PTP接收、發(fā)送控制模塊通過用戶數(shù)據(jù)報協(xié)議(UDP)通信接口實現(xiàn)PTP協(xié)議報文的接收和發(fā)送,同時在網(wǎng)絡通信棧的物理層上,把此刻發(fā)送或接收網(wǎng)絡報文的時間記錄下來,這樣可以增加同步的精度。
PTP協(xié)議引擎模塊主要包括以下四個部分PTP協(xié)議狀態(tài)機模塊、最佳主時鐘算法模塊、本地時鐘同步算法模塊和時鐘變量算法模塊。PTP協(xié)議狀態(tài)機考慮了協(xié)議引擎在設備上電時的初始化狀態(tài)、出現(xiàn)異常情況下的故障狀態(tài)、通常情況下的偵聽狀態(tài)、主時鐘狀態(tài)、從時鐘狀態(tài)和未校準狀態(tài),以及各狀態(tài)之間的轉化。最佳主時鐘算法模塊是在一個網(wǎng)絡出現(xiàn)多個主時鐘情況下,比較多個主時鐘的關鍵屬性值,為本地時鐘提供一個最優(yōu)時鐘系統(tǒng)源。本地時鐘同步算法模塊的主要功能是分析本地時鐘接收外來主時鐘的同步報文時,當本地時鐘處于從時鐘狀態(tài)時,需要判別當前的主時鐘是否為最佳主時鐘,如果是最佳主時鐘且有跟隨報文的話,則記下接收同步報文的精確時間T2,并且等待跟隨報文;等到跟隨報文時,就可以記錄下主時鐘發(fā)送本次協(xié)議報文的精確時間T1,為了計算與主時鐘的偏差和通信鏈路的時延,本地時鐘發(fā)起時延請求報文,并且記錄發(fā)送時延請求協(xié)議報文的精確時間T3;主時鐘收到時延請求報文后,會記下接收時延請求報文的精確時間T4,同時通過時延響應報文把T4回送本地時鐘系統(tǒng),整個的時鐘同步的通信過程,請見圖5;當從時鐘收到時延響應報文后,就可以按照如下的公式計算從時鐘與主時鐘的時間偏差和通信鏈路的時延。
Toffset=T2-Ti-TD①TD=((T2-T1)+(T4-T3))/2 ②時鐘變量是本地時鐘的一個重要特性,通過周期性采集原子時鐘值(或其他高精度時鐘值)和本地時鐘值,統(tǒng)計本地時鐘晶振頻率的偏差屬性,按照Allan公式進行時間偏差計算,并將計算的結果值存放在時鐘變量寄存器。
(1)PTP協(xié)議狀態(tài)機PTP協(xié)議狀態(tài)機考慮設備上電后可能的各種狀態(tài)初始化狀態(tài)、故障狀態(tài)、從時鐘、主時鐘狀態(tài)、偵聽狀態(tài)、未校準狀態(tài),以及各個狀態(tài)的許可行為和狀態(tài)之間的轉化過程,為時鐘系統(tǒng)提供可靠運行機制。上電后或收到系統(tǒng)的初始化時鐘命令,時鐘系統(tǒng)處于初始化,它需要完成定時器隊列的初始化、為各數(shù)據(jù)集分配緩沖區(qū)、時鐘端口配置、通信協(xié)議棧初始化等操作。完成初始化操作后,系統(tǒng)應進入偵聽狀態(tài),偵聽網(wǎng)絡上的PTP協(xié)議報文。如果此時出現(xiàn)系統(tǒng)性錯誤,則自動進入到故障狀態(tài),并要求用戶對故障進行相應的處理,如果故障清除,系統(tǒng)則重新進入到初始化狀態(tài),否則將一直處于故障狀態(tài)。為了防止系統(tǒng)長期處于偵聽狀態(tài),我們需要設定偵聽外來同步報文的定時器,如果定時器超時,系統(tǒng)自動進入到主時鐘狀態(tài)。在偵聽時如果通信端口收到相應的PTP協(xié)議報文,應該進行最佳主時鐘算法,如果發(fā)現(xiàn)本地時鐘系統(tǒng)是最優(yōu)的,那么它將進入一個預備的主時鐘狀態(tài),在一個規(guī)定的時間內(nèi),如果沒有發(fā)現(xiàn)更好的時鐘的話,它將正式進入到主時鐘狀態(tài),處于主時鐘狀態(tài)的系統(tǒng)將周期性向外發(fā)送同步報文和跟隨報文,以便其他時鐘能夠協(xié)調(diào)時間。如果發(fā)現(xiàn)其他時鐘優(yōu)于本系統(tǒng),系統(tǒng)進入到從時鐘狀態(tài),進入從時鐘狀態(tài)后,從時鐘將啟動同步機制。如果同步過程中,發(fā)現(xiàn)當前的最佳主時鐘和先前同步的主時鐘不相符或發(fā)現(xiàn)同步過程發(fā)生了錯誤,則系統(tǒng)進入到未校準狀態(tài)。未校準狀態(tài)將調(diào)用最佳主時鐘算法算出最佳時鐘后,又將重新進入從時鐘狀態(tài)。整個PTP協(xié)議狀態(tài)機轉化如圖2所示。
(2)最佳主時鐘算法最佳主時鐘算法主要用于選擇本地網(wǎng)絡中的最佳時鐘作為主時鐘,同時決定本地時鐘所應處的狀態(tài)。計算最佳主時鐘的方法包括以下兩個步驟首先從本地時鐘系統(tǒng)通信端口中選出一個質(zhì)量最好的同步報文;根據(jù)上述結果,比較此時的主時鐘和本地時鐘屬性,決定本地設備PTP協(xié)議引擎所處的狀態(tài)。上面的第一個步驟采用數(shù)據(jù)集比較算法,而判斷PTP協(xié)議引擎所處的狀態(tài)采用狀態(tài)決策算法完成。
①數(shù)據(jù)集比較算法實現(xiàn)數(shù)據(jù)集比較算法主要是分析數(shù)據(jù)集A和數(shù)據(jù)集A中的時鐘變量值、最高主時鐘的層次、報文中間路由的次數(shù)、主時鐘是否優(yōu)先選擇標記等關鍵變量的性能,為系統(tǒng)從這些數(shù)據(jù)集選出質(zhì)量最佳的同步報文,并與它的時鐘進行同步,調(diào)整本地時間。數(shù)據(jù)集比較算法的流程如圖3所示,包括以下幾個步驟 依次比較數(shù)據(jù)集中最高主時鐘的層次、它到本地時鐘的中間節(jié)點數(shù)、它的時鐘變量值,它是否為優(yōu)先選擇等關鍵變量,如果能分出一個最優(yōu)的最高主時鐘的話,則選擇包含這個最高主時鐘的同步報文。
如果上述的性能變量值完全相同,比較數(shù)據(jù)集中的最近一次同步報文的序號,取其值大的同步報文。
②狀態(tài)決策算法采用狀態(tài)決策算法判斷當前PTP協(xié)議引擎所處的狀態(tài)。狀態(tài)決策算法流程如圖4所示,其中時鐘C0的缺省數(shù)據(jù)集以D0表示,Ebest是通過使用數(shù)據(jù)集比較算法得來的時鐘C0的最優(yōu)同步報文,Erbest是時鐘C0的第r號通信端口的最優(yōu)報文。
狀態(tài)決策算法首先判斷缺省數(shù)據(jù)集D0中最高主時鐘的層次,如果是位于第一或第二層,則按照數(shù)據(jù)集比較算法比較D0和時鐘C0的第r號通信端口的同步報文Erbest,如果Erbest性能屬性優(yōu)于D0,則本地時鐘根據(jù)Erbest的屬性值來確定主時鐘,系統(tǒng)應進入主時鐘狀態(tài),否則本地時鐘進入從時鐘狀態(tài)。如果D0中最高主時鐘不位于第一或第二層,則根據(jù)同樣的辦法來比較D0和C0的Ebest。
(3)時鐘變量算法時鐘變量是描述本時鐘性能的關鍵指標之一,它存放于各個數(shù)據(jù)集和同步報文中,最佳主時鐘算法和狀態(tài)決策算法需要使用它來選擇最佳主時鐘。
時鐘變量的計算是基于時鐘的艾倫(Allan)偏差,Allan偏差公式如下σy(τ)=12(N-1)τ2×Σk=1N-2(xk+2-2xk+1+xk)]]>上式表明每間隔時間τ就采樣一次此刻的本地時鐘值。假設第K個采集點的時間值為xk,第K+i個采集點的時間值為xk+1,第K+2個采集點的時間值為xk+2,系統(tǒng)共采集N-1個時間值,σy(τ)是時鐘y采集時間間隔為τ的Allan偏差值,從公式中可知Allan偏差主要是用于統(tǒng)計本地時鐘振蕩器的頻率偏差。PTP時鐘變量σPTP與Allan偏差σy(τ)關系如下σPTP2=τ2×13σy2]]>從上式可得到PTP時鐘變量σPTP與各采集點的關系σPTP2=13[12(N-2)×Σk=1N-2(xk+2-2xk+1+xk)2]]]>(4)本地時鐘同步算法本地時鐘同步算法是PTP協(xié)議中十分關鍵的部分,主要用來調(diào)整本地時間,與主時鐘的基準時間保持一致性。
本地時鐘主要通過與主時鐘交互時間戳來完成同步過程,如圖5所示。主時鐘以一定的周期廣播或組播時間同步報文,同時把發(fā)送的當前時間T1記錄在報文中,從時鐘設備在接收到測試報文后記下接收時間T2,如果主時鐘支持報文,則等待報文的到來。如果從時鐘的數(shù)據(jù)集中已存有相應的通信時延,則可以通過下面的公式1算出時間偏差,否則,就在T3的時刻發(fā)送時延請求報文,主時鐘接收時延請求報文時記下時刻T4,并通過時延響應報文把時刻T4傳送從時鐘時間。計算方法如公式2。
假設從時鐘與主時鐘通信延遲為TD、時鐘偏差為Toffset則Toffset=T2-T1-TD①TD=((T2-T1)+(T4-T3))/2 ②3、PTP接收控制模塊該模塊主要用來分析、控制接收到的各種網(wǎng)絡報文,把符合PTP協(xié)議的報文接收到PTP協(xié)議引擎中,并負責檢查PTP協(xié)議報文的有效性。
PTP接收控制模塊主要包括以下四個部分同步報文接收模塊、跟隨報文接收模塊、時延請求報文接收模塊、時延響應報文接收模塊。下面進一步分析上述報文的處理過程。
(1)同步報文接收過程當同步報文接收時,應該對關聯(lián)的數(shù)據(jù)集進行更新升級,通常同步報文來自于主時鐘,因此同步報文的接收是時間同步的一個前提,同步報文質(zhì)量影響到時間同步的精度。
同步報文的處理流程可見圖6。同步報文的處理中,首先應該要判斷PTP協(xié)議引擎所處的狀態(tài),如果是處于初始化或故障狀態(tài),則直接退出,否則就要分析同步報文中的同步突發(fā)標記位,如果這位置1的話,說明同步報文是突發(fā)性的,可能需要特殊處理。接下來需要分析一下協(xié)議引擎是否處于從時鐘狀態(tài),如果不處于從時鐘狀態(tài),就只需要更新外來主時鐘數(shù)據(jù)集。如果處于從時鐘狀態(tài)而且同步報文是來自當前的主時鐘則更新當前主時鐘的數(shù)據(jù)集,假如同步報文的同步輔助位沒有置1的話,就可以使用時間同步算法來調(diào)整時間,如果置1的話,則啟動定時器等待跟隨報文的到來。
(2)跟隨報文接收主時鐘在發(fā)送同步報文時,報文中的發(fā)送時間往往是不準確的,因此如果主時鐘支持更高精度的時間同步的話,往往會通過另外一個報文把同步報文發(fā)送的準確時間發(fā)送到網(wǎng)絡上,這樣可以減少同步計算時的誤差。
跟隨報文的接收如圖7所示。與同步報文處理流程相似,接收到跟隨報文時也需要判斷和分析PTP協(xié)議引擎是否處于初始化、故障狀態(tài)、從時鐘狀態(tài),判斷和分析跟隨報文中的同步突發(fā)標記是否置1,跟隨報文是否是當前主時鐘發(fā)送的,判斷跟隨報文是否關聯(lián)上一次的同步報文,如果是的話,就可完成本地時間的調(diào)整工作。
(3)時延請求報文接收如果只接收同步報文和跟隨報文,可以收到主時鐘的同步報文發(fā)送的準確時間,但是如果需要計算通信鏈路的通信時延的話,那么就得向主時鐘發(fā)送一個時延請求報文,要求對方給一個時延響應報文,再把主時鐘接收時延請求報文的時間送過來,因此時延請求報文的接收是對主時鐘而言的。
時延請求報文接收流程如圖8。判斷PTP協(xié)議引擎是否處于主時鐘狀態(tài),如果是,打上時間戳,發(fā)送時延響應報文,當時延請求報文到達時,設備啟動網(wǎng)絡中斷,在網(wǎng)絡中斷中記下此刻報文達到的時間,并發(fā)送包含有這個時間的時延響應報文,如果時延請求報文中的同步突發(fā)標志位置1的話,還應再發(fā)送一個同步報文。
(4)時延響應報文接收時延響應報文接收帶有主時鐘接收時延請求報文的準確時間,這個時間用于計算通信鏈路時延時間。
時延響應報文接收流程如圖9所示。只有在從時鐘狀態(tài)的時候,系統(tǒng)才能有效接收時延響應報文,當收到有效的時延響應報文后,首先應該判斷此報文是否是當前主時鐘發(fā)送的,是否對應于系統(tǒng)發(fā)送的時延請求報文,如果是的話,那么就可以開始計算通信鏈路的時延。
4、PTP發(fā)送控制模塊PTP發(fā)送控制模塊用于發(fā)送同步報文、跟隨報文、時延請求報文、時延響應報文,因此發(fā)送模塊的主要任務就是編碼封裝PTP協(xié)議報文,以及何時發(fā)送這些報文,PTP發(fā)送控制模塊要受到定時器事件、PTP報文事件和設備異常事件的影響。
PTP發(fā)送控制流程如圖10所示。PTP發(fā)送模塊主體是一個循環(huán),只有PTP協(xié)議引擎處于從時鐘或主時鐘狀態(tài)時候(故障狀態(tài),循環(huán)退出),才有可能發(fā)送協(xié)議報文。當處于從時鐘狀態(tài)時,如果收到同步報文、跟隨報文且通信鏈路更新定時器時間超時,那么應該根據(jù)此時同步報文更新的數(shù)據(jù)集,封裝一個時延請求報文發(fā)送。但是如果長時間收不到同步報文,同步接收定時器超時或者本系統(tǒng)時鐘在網(wǎng)絡中的性能最優(yōu),那么從時鐘有可能會轉化到主時鐘狀態(tài),就應該啟動同步報文發(fā)送定時器,定時器超時即可發(fā)送同步報文,如果協(xié)議引擎支持同步輔助位的話,還應立即送出一個跟隨報文,發(fā)出上述報文后,從時鐘會發(fā)送一些時延請求報文,因此主時鐘還應對這些從時鐘作出自己的時延響應報文。
5、數(shù)據(jù)集服務器,包括缺省數(shù)據(jù)集、當前數(shù)據(jù)集、父類數(shù)據(jù)集、全局時間數(shù)據(jù)集、端口配置數(shù)據(jù)集和外來主時鐘數(shù)據(jù)集。
缺省數(shù)據(jù)集描述了本地時鐘的固有屬性,當本地時鐘成為網(wǎng)絡中的主時鐘時需要使用此數(shù)據(jù)集的相關屬性。該數(shù)據(jù)集主要包括本地時鐘標識符、本地的PTP時鐘變量、PTP域名、同步間隔、優(yōu)先選擇標記、同步輔助標記以及外來主時鐘記錄最大值等數(shù)據(jù)。
當前數(shù)據(jù)集主要描述本地時鐘與當前主時鐘關聯(lián)屬性,主要包括主時鐘到從時鐘的中間節(jié)點數(shù)、主時鐘到從時鐘的通信鏈路時延等數(shù)據(jù)。
父類數(shù)據(jù)集主要描述了本地時鐘關聯(lián)主時鐘的關鍵屬性,主要用于數(shù)據(jù)集比較和選擇最優(yōu)主時鐘,主要包括父類(或稱主時鐘)的時鐘標識符、PTP時鐘變量、同步輔助標記、最近一次同步報文的序號以及最高級主時鐘的時鐘標識符、PTP時鐘變量、同步輔助標記、最近一次同步報文的序號等數(shù)據(jù)。
全局時間數(shù)據(jù)集主要描述協(xié)議對時間的相關約定,主要包括協(xié)議的基準時間、閏秒標記、與世界統(tǒng)一時間的偏差值等數(shù)據(jù)。
端口配置數(shù)據(jù)集主要提供本地時鐘的網(wǎng)絡通信端口的基本配置信息,在封裝數(shù)據(jù)報文的時候往往需要使用此數(shù)據(jù)集,它主要包括本端口的協(xié)議引擎狀態(tài)、域名地址、標識符、接收到最近一次同步報文的序列號、同步突發(fā)標記等數(shù)據(jù)。
外來主時鐘數(shù)據(jù)集主要統(tǒng)計主時鐘的摘要信息,包括主時鐘使用的通信技術、主時鐘標識符、接收到主時鐘的同步報文數(shù)量等數(shù)據(jù)。
本發(fā)明提出一種精確時間同步實現(xiàn)方法,通過構建精確時間同步(PTP)協(xié)議引擎模塊體系結構、采用PTP協(xié)議狀態(tài)機的決策算法、主時鐘的最佳算法與時鐘變量算法、本地時鐘同步實現(xiàn)方法、優(yōu)化了PTP報文發(fā)送與接收的控制過程,滿足自動控制領域中測量與控制器件對同步的高精確度要求。
權利要求
1.一種面向測量與控制的精確時間同步PTP的實現(xiàn)方法,其特征在于通過構建精確時間同步協(xié)議引擎模塊,采用PTP協(xié)議最佳主時鐘算法、時鐘變量算法、本地時鐘同步算法選擇PTP協(xié)議報文中最佳的時間值,計算從時鐘與主時鐘的時間偏差和通信鏈路的時延;優(yōu)化PTP發(fā)送/接收控制模塊,為測控網(wǎng)絡設備提供一個統(tǒng)一的時間基準。
2.根據(jù)權利要求1所述的實現(xiàn)方法,其特征在于,所述PTP協(xié)議最佳主時鐘算法包括從端口選擇質(zhì)量最好的同步報文,選擇本地網(wǎng)絡中的最佳時鐘作為網(wǎng)絡的主時鐘,同時決定PTP協(xié)議引擎所應處的狀態(tài)。
3.根據(jù)權利要求1所述的實現(xiàn)方法,其特征在于,通過統(tǒng)計本地時鐘晶振頻率的偏差屬性,采用基于艾倫(Allan)偏差的算法計算時鐘變量,本地時鐘同步算法通過與主時鐘交互時間戳來完成同步過程。
4.根據(jù)權利要求2所述的實現(xiàn)方法,其特征在于,采用數(shù)據(jù)集比較算法,選擇本地網(wǎng)絡中的最佳時鐘作為主時鐘,采用狀態(tài)決策算法判斷PTP協(xié)議引擎所處的狀態(tài)。
5.一種實現(xiàn)精確時間同步的系統(tǒng),通過構建精確時間同步協(xié)議引擎模塊實現(xiàn),其特征在于,該系統(tǒng)包括PTP協(xié)議引擎模塊它完成協(xié)議狀態(tài)機的轉化,報文計算,時鐘同步計算,與本地時鐘、各個數(shù)據(jù)集和接收/發(fā)送模塊進行數(shù)據(jù)交互;PTP接收控制模塊調(diào)用用戶數(shù)據(jù)報文UDP服務,通過UDP通信接口實現(xiàn)PTP協(xié)議報文的接收;PTP發(fā)送控制模塊調(diào)用UDP服務,通過UDP通信接口實現(xiàn)PTP協(xié)議報文的發(fā)送;數(shù)據(jù)集服務器部分存放本地時鐘信息、主時鐘特征信息,為協(xié)議的配置和計算提供數(shù)據(jù)源。
6.根據(jù)權利要求5所述的系統(tǒng),其特征在于,所述PTP協(xié)議引擎模塊包括,PTP協(xié)議狀態(tài)機模塊定義PTP協(xié)議引擎在各個狀態(tài)之間的轉化行為;最佳主時鐘算法模塊為本地時鐘有效選擇一個質(zhì)量最好的同步報文用于同步計算,同時確定PTP協(xié)議引擎應處的狀態(tài);本地時鐘同步模塊通過計算從時鐘與主時鐘的偏差,調(diào)整本地的時鐘;時鐘變量算法模塊周期性對本地時鐘的頻率特性進行統(tǒng)計。
7.根據(jù)權利要求5所述的系統(tǒng),其特征在于,PTP接收控制模塊包括同步報文接收模塊、跟隨報文接收模塊、時延請求報文接收模塊、時延響應報文接收模塊;PTP發(fā)送控制模塊包括同步報文發(fā)送模塊、跟隨報文發(fā)送模塊、時延請求報文發(fā)送模塊、時延響應報文發(fā)送模塊。
8.根據(jù)權利要求5所述的系統(tǒng),其特征在于,所述數(shù)據(jù)集部分包括缺省數(shù)據(jù)集描述了本地時鐘的固有屬性;當前數(shù)據(jù)集描述本地時鐘與當前主時鐘關聯(lián)屬性;父類數(shù)據(jù)集描述與本地時鐘關聯(lián)的主時鐘的關鍵屬性;全局時間數(shù)據(jù)集描述協(xié)議對時間的相關約定;端口配置數(shù)據(jù)集提供本地時鐘網(wǎng)絡通信端口的基本配置信息;外來主時鐘數(shù)據(jù)集用于統(tǒng)計主時鐘的摘要信息。
9.根據(jù)權利要求6所述的系統(tǒng),其特征在于,所述最佳主時鐘算法模塊采用數(shù)據(jù)集比較算法選擇本地網(wǎng)絡中的最佳時鐘作為主時鐘,采用狀態(tài)決策算法決定當前PTP協(xié)議引擎所處的狀態(tài);所述本地時鐘同步模塊通過與主時鐘網(wǎng)絡通信,獲得主時鐘的有效時間戳,調(diào)整本地時間保持與主時鐘的基準時間一致。
全文摘要
本發(fā)明請求保護一種面向測量與控制的精確時間同步方法與系統(tǒng),涉及自動控制領域。本發(fā)明通過構建精確時間同步PTP協(xié)議引擎模塊體系結構、采用PTP協(xié)議狀態(tài)機的決策算法、最佳主時鐘算法、時鐘變量算法、本地時鐘同步算法,優(yōu)化了PTP報文發(fā)送與接收的控制過程,滿足自動控制領域中測量與控制器件對同步的高精確度要求。所構建精確時間同步協(xié)議體系結構包括如下功能模塊PTP協(xié)議引擎模塊,PTP接收控制模塊,PTP發(fā)送控制模塊和各種數(shù)據(jù)集。
文檔編號H04L29/06GK1845546SQ200610054138
公開日2006年10月11日 申請日期2006年3月15日 優(yōu)先權日2006年3月15日
發(fā)明者謝昊飛, 王平, 向敏, 孫攀 申請人:重慶郵電學院