專利名稱:一種實現(xiàn)時鐘同步的方法及裝置的制作方法
技術領域:
本發(fā)明涉及通信技術領域,具體而言,尤其涉及一種基于IEEE1588(網(wǎng)絡測量和控制系統(tǒng)的精確時鐘同步協(xié)議標準)的精確時鐘協(xié)議(Precision Time Protocol,精確時鐘協(xié)議)的實現(xiàn)時鐘同步的方法及裝置。
背景技術:
精確時鐘協(xié)議是以IEEE1588為標準定義的一種分布式以太網(wǎng)的精確同步時鐘協(xié)議,它能利用應用廣泛、價格低廉的以太網(wǎng),實現(xiàn)各個系統(tǒng)之間的同步,大大降低系統(tǒng)時鐘同步的成本,其同步精度可以達到微秒級。精確時鐘協(xié)議借鑒了 NTP技術,具有容易配置、快速收斂以及對網(wǎng)絡帶寬和資源消耗少等特點。它的主要同步原理是,通過一個同步信號周期性地對網(wǎng)絡中所有節(jié)點的時鐘進行同步校正,從而可以使基于以太網(wǎng)的分布式系統(tǒng)達到精確同步,精確時鐘協(xié)議時鐘同步技術可以應用于任何組播網(wǎng)絡中。精確時鐘協(xié)議同步的基本原理包括時間發(fā)出和接收時間信息的記錄(這類精確時鐘協(xié)議時間信息幀又叫1588報文或精確時鐘協(xié)議報文),并且對每一條信息增加一個 “時間戳”。系統(tǒng)的頂層時鐘(grandmaster時鐘)給系統(tǒng)定義了整體參考源,有了時間記錄,接收端的從時鐘就可以計算出自己在網(wǎng)絡中的時鐘誤差和延時,從而進行時鐘調整,將自身的時鐘同步到系統(tǒng)頂層時鐘以達到同步的目的。由此可見,精確時鐘協(xié)議報文的同步精確度與時間戳和時間信息緊密相關,時間戳的時間越接近真實發(fā)送時間,同步精度就越高。時間戳的產生應該盡可能地靠近物理層, 這樣可以使得產生的時間戳能夠更加準確地反映報文的傳遞時間,并將該時間戳添加到隨后發(fā)送的跟隨報文中。在基于精確時鐘協(xié)議的系統(tǒng)實現(xiàn)同步的過程中,可以根據(jù)實際情況,選擇不同的時間戳點,例如可選擇硬件層、軟件驅動層或軟件應用層為時間戳點。其中最精確的方法是在硬件層檢測精確時鐘協(xié)議報文并加蓋時間戳,因為軟件層加蓋時間戳的準確性還跟軟件操作系統(tǒng)的計時特性和負載相關,軟件計時不如硬件計時準確。所以當前提高系統(tǒng)的同步精度的常見做法為將介于MAC層和物理層芯片之間的媒體獨立接口(Media Independent Interface, Mil)作為時間戳點的加蓋時間。這種方法的同步精度的準確性取決于物理層芯片的計時特性和傳輸延時特性。相對于軟件層的延時來說,硬件層的傳輸延時是比較固定的。目前已有的方案一般將硬件層傳輸延時當成固定值來計算。但實際上,硬件層的傳輸延時也不是完全固定的, 這是因為硬件可能會升級或改動,從而導致變動之后的硬件延時與變動之前的延時不相同;同時硬件本身內部也存在納秒級的延時波動,所以硬件延時并不是完全固定的。由于現(xiàn)有技術中忽略了硬件層傳輸延時的波動,所以對最后的同步精度會有一定的影響
發(fā)明內容
本發(fā)明要解決的主要技術問題是,提供一種實現(xiàn)時鐘同步的方法及裝置,能夠根據(jù)實時測量的延時值和提取的時間戳,進行相應地時延補償,從而提高精確時鐘協(xié)議報文的同步精度。為解決上述技術問題,本發(fā)明采用了以下技術方案一種實現(xiàn)時鐘同步的裝置,包括 延時測量模塊,用于實時測量報文經(jīng)過硬件延時節(jié)點時的延時值并發(fā)送給時延補償模塊;時鐘提取模塊,用于在確定所述報文為精確時鐘協(xié)議報文時,提取所述精確時鐘協(xié)議報文進入所述硬件延時節(jié)點之前加蓋的時間戳,并發(fā)送給時延補償模塊;時延補償模塊,用于根據(jù)接收到的所述延時值和所述時間戳,相應進行時延補償。在本發(fā)明的一種實施例中,所述裝置還包括物理層報文傳輸模塊,用于從以太網(wǎng)處接收所述精確時鐘協(xié)議報文;媒體獨立接口模塊,用于為所述精確時鐘協(xié)議報文加蓋時間戳并傳輸給所述硬件延時節(jié)點。在本發(fā)明的一種實施例中,所述時延補償模塊包括接口通信單元,分別與所述延時測量模塊和時鐘提取模塊相連,用于對應接收所述延時值和所述時間戳;時延補償單元,用于根據(jù)所述延時值和所述時間戳,相應進行時延補償。在本發(fā)明的一種實施例中,所述硬件延時節(jié)點、時鐘提取模塊以及延時測量模塊集成在同一現(xiàn)場可編程門陣列FPGA中。在本發(fā)明的一種實施例中,所述硬件延時節(jié)點為先進先出模塊。在本發(fā)明的一種實施例中,所述延時測量模塊為計數(shù)器。在本發(fā)明的一種實施例中,所述時鐘提取模塊為具有時間戳管理功能的媒體訪問控制模塊。同時,本發(fā)明還提供了一種實現(xiàn)時鐘同步的方法,包括以下步驟實時測量報文經(jīng)過硬件延時節(jié)點時的延時值;確定所述報文是否為精確時鐘協(xié)議報文,若確定所述報文為精確時鐘協(xié)議報文, 則提取所述精確時鐘協(xié)議報文進入所述硬件延時節(jié)點之前加蓋的時間戳;根據(jù)所述延時值和所述時間戳,相應進行時延補償。在本發(fā)明的一種實施例中,在測量所述延時值的步驟之前,還包括判斷物理層是否接收到報文的步驟。在本發(fā)明的一種實施例中,所述實時測量報文經(jīng)過硬件延時節(jié)點時的延時值的步驟包括在所述報文進入所述硬件延時節(jié)點時,標記測量起點信號,作為所述延時值的測
量起點;在所述報文出所述硬件延時節(jié)點時,標記測量終點信號,作為所述延時值的測量錄占.
廣、;WN 根據(jù)所述測量起點和測量終點來計算所述延時值。本發(fā)明的有益效果是通過實時測量精確時鐘協(xié)議報文經(jīng)過某個硬件延時節(jié)點的延時值,以及根據(jù)提取到的精確時鐘協(xié)議報文進入該硬件延時節(jié)點之前的時間戳,來進行相應地延時補償。由于精確時鐘協(xié)議報文經(jīng)過不同的硬件延時節(jié)點產生的延時值是動態(tài)變化的。因此,與現(xiàn)有技術相比,本發(fā)明技術方案實時測量得到的精確時鐘協(xié)議報文經(jīng)過某個硬件延時節(jié)點的延時值更加精確,如此則能夠根據(jù)測量得到的精確延時值和提取到的時間戳進行相應的時間戳的調整,與現(xiàn)有技術相比,提高了精確時鐘協(xié)議報文的同步精度。
圖1為本發(fā)明的裝置組成示意圖;圖2為本發(fā)明一種實施例的裝置組成示意圖;圖3為本發(fā)明的方法流程圖;圖4為本發(fā)明一種實施例的方法流程圖。
具體實施例方式下面通過具體實施方式
結合附圖對本發(fā)明作進一步詳細說明?,F(xiàn)有的基于精確時鐘協(xié)議的系統(tǒng)在實現(xiàn)精確時鐘協(xié)議報文(PTP報文)同步時,由于認為硬件層的傳輸延時是比較固定的,因此在PTP報文在媒體獨立接口加蓋了時間戳后且在硬件層傳輸時,就把硬件層的傳輸延時值當成一個固定值來計算。但實際上,由于硬件層的傳輸延時也有一定的波動,并不是固定不變的,所以使得現(xiàn)有方案中PTP報文的同步精度會受到一定的影響。為盡可能減少硬件層的傳輸延時波動對同步精度的影響,本發(fā)明提出了一種實現(xiàn)時鐘同步的方法及裝置。本發(fā)明的主要構思是由于不同的PTP報文經(jīng)過同一個硬件節(jié)點的延時值可能不一樣,而同一個PTP報文經(jīng)過不同的硬件節(jié)點的延時值也可能不一樣,并且同一個硬件節(jié)點出現(xiàn)硬件延時波動的時間點不確定。因此,通過實時測量當前PTP報文經(jīng)過某個硬件延時節(jié)點時的延時值,并同時提取該PTP報文經(jīng)過該硬件節(jié)點之前的時間戳,根據(jù)該延時值和提取得到的時間戳,就可以對出了硬件延時節(jié)點后的PTP報文的當前時間戳進行動態(tài)調整,從而使得PTP報文的時鐘偏差和延時計算更加精確,進而提高了 PTP報文的同步精度。根據(jù)該構思,本發(fā)明提出了一種實現(xiàn)時鐘同步的裝置。如圖1所示,該裝置1包括硬件延時節(jié)點11,延時測量模塊12,時鐘提取模塊13以及時延補償模塊14。其中,硬件延時節(jié)點11用于傳輸報文收發(fā)路徑上的報文,并對報文進行時鐘域的轉換,保證本地獲得的數(shù)據(jù)的可靠性。由于硬件延時節(jié)點是延時不確定節(jié)點,因此報文經(jīng)過硬件延時節(jié)點時,產生的傳輸延時也是不確定的。延時測量模塊12的作用就是實時測量報文進入硬件延時節(jié)點11和出硬件延時節(jié)點11所用的時間,即延時值,并將該延時值傳輸給時延補償模塊14。而時鐘提取模塊13的作用是在確定硬件延時節(jié)點11上傳輸?shù)膱笪臑镻TP報文時,用來提取該PTP報文進入硬件延時節(jié)點11之前加蓋的時間戳等信息,并將該時間戳傳輸給時延補償模塊14。時延補償模塊14根據(jù)接收到的延時值和時間戳等信息,動態(tài)地調整硬件延時節(jié)點輸出的PTP報文當前的時間戳,進行相應的時延補償。通過延時測量模塊實時測量PTP報文經(jīng)過某個硬件延時節(jié)點的延時值,以及時鐘提取模塊提取的該PTP報文進入該硬件延時節(jié)點之前的時間戳,來進行相應地延時補償。由于PTP報文經(jīng)過不同的硬件 延時節(jié)點產生的延時值是動態(tài)變化的。因此,與現(xiàn)有的把PTP 報文經(jīng)過某個硬件延時節(jié)點的延時值當成固定值計算相比,采用本發(fā)明的裝置來實時測量 PTP報文經(jīng)過某個硬件延時節(jié)點的延時值,可以使得延時值的測量更加精確。因此,時延補償模塊能夠根據(jù)PTP報文經(jīng)過某個硬件延時節(jié)點的精確延時值進行相應的時間戳的調整, 與現(xiàn)有技術相比,提高了 PTP報文的同步精度。需要說明的一點是,本發(fā)明測量得到的PTP報文的延時值,是PTP報文加蓋時間戳后在硬件延時節(jié)點上傳輸時產生的延時值,本發(fā)明的PTP報文在進入硬件延時節(jié)點之前, 剛剛被加蓋上時間戳。因此時鐘提取模塊提取到的時間戳信息是PTP報文進入硬件延時節(jié)點之前加蓋的時間戳。需要說明的另一點是,本發(fā)明的時延補償模塊,可以采用軟件語言來實現(xiàn),并在 CPU上運行。如此,CPU可以根據(jù)接收到的延時測量模塊上報的延時值以及時鐘提取模塊上報的時間戳,就可以對延時測量模塊輸出的PTP報文的當前時間戳進行相應地調整,從而提高PTP報文的同步精度。如圖2所示,在該裝置的實際運用中,硬件延時節(jié)點11、延時測量模塊12以及時鐘提取模塊13三者的功能可通過現(xiàn)場可編程門陣列FPGA來實現(xiàn),即在同一個FPGA上,集成有硬件延時節(jié)點11、延時測量模塊12以及時鐘提取模塊13。利用該FPGA,可以實現(xiàn)對以太網(wǎng)報文在硬件層傳輸延時的實時測量,并將測量得到的延時值以及提取的時間戳一起上報給時延補償模塊,如此則省去了傳統(tǒng)的示波器等延遲測量儀器,使用簡單方便,成本低。并且,本發(fā)明的時延測量模塊,可以通過硬件語言來實現(xiàn),也可以通過軟件語言來實現(xiàn),通用性強。本裝置能自適應網(wǎng)口速率,能實現(xiàn)1000M、100M、10M網(wǎng)絡情況下的動態(tài)時延補償;在 125M工作時鐘下,延時值的測量精度為8ns。并且,本裝置還可以通過提高工作時鐘速率來進一步提高延時值的測量精度。如圖2所示,在本發(fā)明實施例中,該裝置還包括物理層報文傳輸模塊(PHY傳輸模塊)15和媒體獨立接口(Mil接口)模塊16。其中,物理層報文傳輸模塊15用于將從以太網(wǎng)處接收到的報文通過媒體獨立接口 MII模塊16傳輸給FPGA中的硬件延時節(jié)點11。若接收到的報文是PTP報文,則在媒體獨立接口模塊處給接收到的PTP報文加蓋上時間戳。采用物理層報文傳輸模塊從物理層接收PTP報文,并在媒體獨立接口模塊處加蓋時間戳的方式,使得PTP報文時間戳的產生盡可能地靠近物理層,更加準確地反映PTP報文的傳遞時間。在本發(fā)明實施例中,如圖2所示,時延補償模塊14包括接口通信單元141和時延補償單元142。接口通信單元141分別與延時測量模塊12和時鐘提取模塊13相連,用于對應接收傳來的延時值和時間戳,并將其傳輸給時延補償單元142。時延補償單元142用于實現(xiàn)精確時鐘協(xié)議,完成同步過程,具體是根據(jù)獲取的延時值和時間戳,根據(jù)精確時鐘協(xié)議對這些數(shù)據(jù)進行相應的處理,動態(tài)調整硬件延時節(jié)點輸出的PTP報文的當前時間戳,進行相應的時延補償,實現(xiàn)時鐘同步。例如,可以將提取得到的PTP報文的時間戳加上測量得到的延時值的和作為硬件延時節(jié)點輸出的PTP報文的當前時間戳。在本發(fā)明實施例中,如圖2所示,硬件延時節(jié)點指的是有報文經(jīng)過時,會產生延時波動的模塊,例如先進先出FIFO模塊,當然也還可以是其它的、傳輸報文時會產生延時的硬件模塊。時鐘提取模塊會對進入FIFO模塊的報文做相應的標記,即標記報文進入FIFO模塊時的測量起點信號,以及標記報文輸出FIFO模塊時的測量終點信號,并將這兩個信號傳送給延時測量模塊。延時測量模塊可以為計數(shù)器。具體地,計數(shù)器將接收到的測量起點信號作為延時值的測量起點,將測量終點信號作為延時值的測量終點,并通過自身對這兩個信號的相位差的計數(shù),來計算延時值。如此計算得到的延時值,精確地反映了 PTP報文經(jīng)過FIFO模塊的傳輸時間,使得在后續(xù)的時鐘同步過程中,能夠得到精確的延時值。需要說明的是,由于FIFO模塊帶來的硬件延時波動通常在在幾十到上百ns,與 FIFO模塊的深度相關,因此,采用本發(fā)明能夠有效的提高PTP報文的同步精度。如圖2所示,在本發(fā)明實施例中,時鐘提取模塊為具有時間戳管理功能的媒體訪問控制MAC模塊。MAC模塊用于實現(xiàn)PTP報文的解析,時間戳的獲取以及根據(jù)通信標準 IEEE802. 3完成帶時間戳的報文的發(fā)送和接收,以及將提取到的時間戳傳送給時延補償模塊,當然,時鐘提取模塊也可能是帶時間戳管理功能的物理層芯片(PHY芯片)。圖2所示的裝置開始工作后,帶時間戳管理功能的MAC模塊開始檢測FIFO模塊是否收到報文。在確認收到報文后,對應標記報文進入FIFO模塊時的測量起點信號,出FIFO 模塊時的測量終點信號。同時,還判斷該報文為是否PTP報文,若是,那么該MAC模塊則需要對該報文進行處理,提取時間戳等信息。將測量得到的延時值和提取的時間戳等信息通過通信接口單元上報給時延補償單元,時延補償單元根據(jù)實時測量得到的延時值和提取到的時間戳,調用CPU的資源,進而相應進行時延補償,從而提高了 PTP報文的同步性能。同時,如圖3所示,本發(fā)明還提供了一種實現(xiàn)時鐘同步的方法,包括以下步驟Si、實時測量報文經(jīng)過硬件延時節(jié)點的延時值;S2、同時,確定所述報文是否為精確時鐘協(xié)議報文(PTP報文),如果確定該報文為 (PTP報文),則提取該PTP報文進入該硬件延時節(jié)點之前加蓋的時間戳;S3、根據(jù)該延時值和該時間戳,相應進行時延補償。通過上述兩個步驟,即可以根據(jù)提取到的PTP報文的時間戳和實時測量得到的延時值,對PTP報文進行動態(tài)時延補償。與傳統(tǒng)的把硬件層的延時值當成固定值的計算相比, 本發(fā)明得到的硬件層的延時值更能接近PTP報文的真實延時值,從而使得后續(xù)進行時延補償處理更加精確,提高了 PTP報文的同步精度。實際上,在進行延時值的測量之前,還有一個判斷步驟,即判斷是否有報文經(jīng)過硬件延時節(jié)點,也可以說判斷物理層是否接收到報文。若物理層沒有接收到報文,即不需要進行后續(xù)的操作步驟,并繼續(xù)檢測是否收到報文。只有在物理層接收到報文后,才進行延時值的測量,并在判斷該報文為PTP報文時,才提取時間戳等信息,若不是PTP報文,則不用進行后續(xù)的延時補償操作。如圖4所示,是本發(fā)明實施例的方法流程圖,具體為首先,檢測物理層是否接收到報文,若沒有接收到報文,則繼續(xù)檢測,若接收到報文,則對接收到的報文進行處理,在報文進入硬件延時節(jié)點時標記一個測量起點信號,在報文出硬件延時節(jié)點時標記一個測量終點信號。其次,進行延時值的計算,具體是將該測量起點信號作為開始延時值計算的測量起點,將測量終點信號作為結束延時值計算的測量終點,根據(jù)測量起點和測量終點來計算延時值。同時,判斷經(jīng)過硬件延時節(jié)點的報文是否為PTP報文,若為PTP報文,則提取PTP 報文的時間戳等信息。
最后,根據(jù)計算得到的延時值以及提取的時間戳等信息,對PTP報文的當前時間戳進行調整。應用本發(fā)明,能夠實時測量PTP報文經(jīng)過某個硬件延時節(jié)點時所消耗的時間,即延時值,與現(xiàn)有方案相比,本發(fā)明測量得到的延時值更加精確;根據(jù)提取得到的PTP報文進入該硬件延時節(jié)點之前的時間戳以及實時測量得到的延時值,對硬件延時節(jié)點輸出的PTP 報文進行動態(tài)時延補償,從而能夠提高PTP報文的同步精度。以上內容是結合具體的實施方式對本發(fā)明所作的進一步詳細說明,不能認定本發(fā)明的具體實施只局限于這些說明。對于本發(fā)明所屬技術領域的普通技術人員來說,在不脫離本發(fā)明構思的前提下,還可以做出若干簡單推演或替換,都應當視為屬于本發(fā)明的保護范圍。
權利要求
1.一種實現(xiàn)時鐘同步的裝置,其特征在于,包括延時測量模塊,用于實時測量報文經(jīng)過硬件延時節(jié)點時的延時值并發(fā)送給時延補償模塊;時鐘提取模塊,用于在確定所述報文為精確時鐘協(xié)議報文時,提取所述精確時鐘協(xié)議報文進入所述硬件延時節(jié)點之前加蓋的時間戳,并發(fā)送給時延補償模塊;時延補償模塊,用于根據(jù)接收到的所述延時值和所述時間戳,相應進行時延補償。
2.如權利要求1所述的裝置,其特征在于,所述裝置還包括 物理層報文傳輸模塊,用于從以太網(wǎng)處接收所述精確時鐘協(xié)議報文;媒體獨立接口模塊,用于為所述精確時鐘協(xié)議報文加蓋時間戳并傳輸給所述硬件延時節(jié)點。
3.如權利要求2所述的裝置,其特征在于,所述時延補償模塊包括接口通信單元,分別與所述延時測量模塊和時鐘提取模塊相連,用于對應接收所述延時值和所述時間戳;時延補償單元,用于根據(jù)所述延時值和所述時間戳,相應進行時延補償。
4.如權利要求1-3任一所述的裝置,其特征在于,所述硬件延時節(jié)點、時鐘提取模塊以及延時測量模塊集成在同一現(xiàn)場可編程門陣列FPGA中。
5.如權利要求1-3任一所述的裝置,其特征在于,所述硬件延時節(jié)點為先進先出模塊。
6.如權利要求1-3任一所述的裝置,其特征在于,所述延時測量模塊為計數(shù)器。
7.如權利要求1-3任一所述的裝置,其特征在于,所述時鐘提取模塊為具有時間戳管理功能的媒體訪問控制模塊。
8.一種實現(xiàn)時鐘同步的方法,其特征在于,包括以下步驟 實時測量報文經(jīng)過硬件延時節(jié)點時的延時值;確定所述報文是否為精確時鐘協(xié)議報文,若確定所述報文為精確時鐘協(xié)議報文,則提取所述精確時鐘協(xié)議報文進入所述硬件延時節(jié)點之前加蓋的時間戳; 根據(jù)所述延時值和所述時間戳,相應進行時延補償。
9.如權利要求8所述的方法,其特征在于,在測量所述延時值的步驟之前,還包括判斷物理層是否接收到報文的步驟。
10.如權利要求8或9所述的方法,其特征在于,所述實時測量報文經(jīng)過硬件延時節(jié)點時的延時值的步驟包括在所述報文進入所述硬件延時節(jié)點時,標記測量起點信號,作為所述延時值的測量起點在所述報文出所述硬件延時節(jié)點時,標記測量終點信號,作為所述延時值的測量終點根據(jù)所述測量起點和測量終點來計算延時值。
全文摘要
本發(fā)明公開了一種實現(xiàn)時鐘同步的裝置及方法,所述裝置包括延時測量模塊,用于實時測量報文經(jīng)過硬件延時節(jié)點時的延時值并發(fā)送給時延補償模塊;時鐘提取模塊,用于在確定所述報文為精確時鐘協(xié)議報文時,提取所述精確時鐘協(xié)議報文進入所述硬件延時節(jié)點之前加蓋的時間戳,并發(fā)送給時延補償模塊;時延補償模塊,用于根據(jù)接收到的所述延時值和所述時間戳,相應進行時延補償。與把PTP報文經(jīng)過某個硬件延時節(jié)點的延時值當成固定值計算相比,本發(fā)明實時測量得到的PTP報文經(jīng)過某個硬件延時節(jié)點的延時值更加精確。如此則能夠根據(jù)該精確的延時值和提取到的時間戳進行相應時間戳的調整,從而提高了精確時鐘協(xié)議報文的同步精度。
文檔編號H04L7/00GK102244572SQ20111020085
公開日2011年11月16日 申請日期2011年7月18日 優(yōu)先權日2011年7月18日
發(fā)明者萬娟 申請人:中興通訊股份有限公司