時間戳生成方法、裝置及系統的制作方法
【專利摘要】本發明提供一種時間戳生成方法、裝置及系統,包括:通過數據包處理單元接收物理層收發單元或高層發送的數據包,識別數據包是否為精確時間同步協議PTP數據包,若是,則根據物理層時延獲取單元提供的物理層時延和非物理層時延獲取單元提供的非物理層時延生成精確時間戳并改寫數據包中的時間戳字段,有效提高了時間戳的精確度,提高整個通信網絡的時間同步精度。
【專利說明】時間戳生成方法、裝置及系統
【技術領域】
[0001] 本發明涉及通信技術,尤其涉及一種時間戳生成方法、裝置及系統。
【背景技術】
[0002] 隨著通信技術的發展,通信網絡對時間同步的要求越來越高。現有通信網絡對時 間同步的要求已經達到亞微秒量級,在未來,有可能使用大規模的協作通信,因此,如多小 區、多天線的協作通信可能需要納秒級甚至亞納秒級別的時間同步。IEEE1588V2時間同步 協議(Precision Time Protocol,簡稱:PTP)通過在通信網絡節點之間發送包含有時戳的 PTP數據包來實現整個網絡的時間同步,是目前較為精確的一種時間同步方案。
[0003] 現有技術中,通信網絡節點接收到一個PTP數據包后,會在物理層(Physical,簡 稱PHY)和媒體介入控制(Medium Access Control,簡稱:MAC)層之間識別PTP數據包,并為 該PTP數據包添加時戳。在添加時間戳的過程中基于識別PTP數據包的延遲而進行時延補 償。然而,這種方法獲得的時間戳精度不高,進而導致整個通信網絡的時間同步精度不高。
【發明內容】
[0004] 本發明提供一種時間戳生成方法、裝置及系統,用于避免在為PTP數據包添加時 間戳時,PHY層處理過程對時間戳精度的影響。
[0005] 本發明的第一個方面是提供一種網絡節點,包括:物理層收發單元,數據包處理單 元,物理層時延獲取單元,非物理層時延獲取單元;
[0006] 所述物理層收發單元,用于向所述數據包處理單元發送數據包;
[0007] 所述數據包處理單元,用于接收所述物理層收發單元或高層發送的所述數據包, 并識別所述數據包是否為精確時間同步協議PTP數據包,若是,則所述數據包處理單元根 據所述物理層時延獲取單元提供的物理層時延信息和所述非物理層時延獲取單元提供的 非物理層時延信息生成精確時間戳并改寫所述數據包中的時間戳字段;
[0008] 所述物理層時延獲取單元,用于獲取所述數據包經過所述物理層收發單元的物理 層時延信息,并將所述物理層時延信息提供給所述數據包處理單元;
[0009] 所述非物理層時延獲取單元,用于獲取所述數據包經過物理層-非物理層接口時 間點和所述數據包處理單元中精確時間戳生成時間點之間的非物理層時延信息,并將所述 非物理層時延信息提供給所述數據包處理單元。
[0010] 結合本發明第一方面,在第一種可能的實現方式中,所述數據包處理單元包括;數 據包識別子單元、時間戳生成改寫子單元;
[0011] 所述數據包識別子單元,用于接收所述物理層收發單元或高層發送的所述數據 包,并識別所述數據包是否為精確時間同步協議PTP數據包;
[0012] 所述時間戳生成改寫子單元,用于,在所述數據包識別子單元識別出所述數據包 為精確時間同步協議PTP數據包時,根據所述物理層時延獲取單元和所述非物理層時延獲 取單元生成精確時間戳并改寫所述數據包中的時間戳字段。
[0013] 結合本發明第一方面的第一種可能的實現方式,在第二種可能的實現方式中所述 數據包識別子單元接收高層發送的所述數據包,則所述物理層時延獲取單元獲取所述數據 包經過所述物理層收發單元的物理層時延信息為歷史物理層時延信息;所述非物理層時延 獲取單元獲取所述數據包經過物理層-非物理層接口時間點和所述數據包處理單元中精 確時間戳生成時間點之間的非物理層時延為歷史非物理層時延信息;所述歷史物理層時延 信息為所述數據包之前傳輸的數據包的物理層時延信息;所述非物理層時延信息為所述數 據包之前傳輸的數據包的非物理層時延信息;
[0014] 則所述時間戳生成改寫單元,用于根據所述物理層時延獲取單元獲取的所述歷史 物理層時延信息和所述非物理層時延獲取單元獲取的所述歷史非物理層時延信息預測生 成所述精確時間戳并改寫所述數據包中的時間戳字段。
[0015] 結合本發明第一方面的以及第一方面的前兩種可能的實現方式,在第三種可能的 實現方式中,所述物理層時延獲取單元獲取的所述數據包經過所述物理層收發單元的物理 層時延信息包括以下任意一種或多種時延信息的組合:固定時延信息、恢復時鐘與本地時 鐘不匹配造成的動態細粒度時延信息、碼組對齊時延信息、存儲模塊讀寫時延信息、數據速 率匹配模塊時延信息。
[0016] 結合本發明第一方面的以及第一方面的前兩種可能的實現方式,在第四種可能的 實現方式中,所述非物理層時延獲取單元獲取的所述數據包經過所述物理層-非物理層接 口時間點和所述數據包處理單元中時間戳生成時間點之間的非物理層時延信息包括所述 數據包在非物理層的以下任意一種或多種時延信息的組合:處理時延信息、隊列時延信息、 時鐘域不同造成的相差時延信息。
[0017] 結合本發明第一方面的以及第一方面的前四種可能的實現方式,在第五種可能的 實現方式中,所述數據包處理單元位于MAC層或者與MAC相連的隊列區。
[0018] 本發明的第二方面是提供一種時間戳生成方法,包括:
[0019] 網絡節點接收其他網絡節點發送的數據包或接收所述網絡節點的高層發送的數 據包;
[0020] 所述網絡節點獲取所述數據包的物理層時延信息和非物理層時延信息;
[0021] 所述網絡節點識別所述數據包是否為精確時間同步協議PTP數據包,若是,則根 據所述物理層時延和所述非物理層時延生成精確時間戳并改寫所述數據包中的時間戳字 段。
[0022] 結合本發明第二方面,在第一種可能的實現方式中,所述網絡節點接收其他網絡 節點發送的數據包;或者,接收所述網絡節點的高層發送的數據包,包括:
[0023] 所述網絡節點接收所述高層發送的數據包,則所述網絡節點獲取所述數據的物理 層時延信息為歷史物理層時延信息;所述網絡節點獲取所述數據包經過物理層-非物理層 接口時間點和所述網絡節點中精確時間戳生成時間點之間的非物理層時延信息為歷史非 物理層時延信息;所述歷史物理層時延信息為所述數據包之前傳輸的數據包的物理層時延 信息;所述非物理層時延信息為所述數據包之前傳輸的數據包的非物理層時延信息;
[0024] 對應,所述網絡節點,根據所述物理層時延和所述非物理層時延生成精確時間戳 并改寫所述數據包中的時間戳字段包括:根據所述歷史物理層時延信息和所述歷史非物理 層時延信息預測生成所述精確時間戳并改寫所述數據包中的時間戳字段。
[0025] 結合本發明第二方面以及第二方面的第一種可能的實現方式中,在第二種可能的 實現方式中,所述物理層時延信息包括以下任意一種或多種時延信息的組合:固定時延信 息、恢復時鐘與本地時鐘不匹配造成的動態細粒度時延信息、碼組對齊時延信息、存儲模塊 讀寫時延信息、數據速率匹配模塊時延信息。
[0026] 所述非物理層時延信息為所述數據包經過物理層-非物理層接口時間點和所述 網絡節點中精確時間戳生成時間點之間的時延信息,包括所述數據包在非物理層的以下任 意一種或多種時延信息的組合:處理時延信息、隊列時延信息、時鐘域不同造成的相差時延 信息。
[0027] 本發明的第三個方面是提供一種通信系統,包括上述第一方面以及第一方面各可 能的實現方式中任一一項所述的網絡節點。
[0028] 本實施例提供的時間戳生成方法、裝置及系統,通過物理層收發單元從數據包處 理單元接收數據包并發送至其它網絡節點;或者,從其它網絡節點接收數據包并發送至數 據包處理單元,物理層時延獲取單元獲取數據包經過物理層收發單元的物理層時延信息, 并將物理層時延信息提供給數據包處理單元;非物理層時延獲取單元獲取數據包經過物理 層-非物理層接口時間點和數據包處理單元中精確時間戳生成時間點之間的非物理層時 延信息,并將非物理層時延信息提供給數據包處理單元。同時數據包處理單元接收物理層 收發單元或高層發送的數據包,并識別數據包是否為精確時間同步協議PTP數據包,若是, 則數據包處理單元根據物理層時延獲取單元和非物理層時延獲取單元生成精確時間戳并 改寫數據包中的時間戳字段。實現時間戳依據物理層時延信息以及非物理層時延信息對時 間戳進行補償,有效提高了時間戳的精確度,提高整個通信網絡的時間同步精度。
【專利附圖】
【附圖說明】
[0029] 為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現 有技術描述中所需要使用的附圖做一簡單地介紹,顯而易見地,下面描述中的附圖是本發 明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動性的前提下,還可以 根據這些附圖獲得其他的附圖。
[0030] 圖1為本發明實施例一提供的網絡節點結構示意圖;
[0031] 圖2為本發明實施例二提供的網絡節點結構示意圖;
[0032] 圖3為本發明實施例二提供的網絡節點的工作原理示意圖;
[0033] 圖4為本發明實施例二提供的網絡節點接口應用示意圖;
[0034] 圖5為本發明實施例三提供的網絡節點的工作原理示意圖;
[0035] 圖6為本發明實施例四提供的一種基于IEEE1588V2時間同步協議的精確時間時 間同步通信系統結構示意圖;
[0036] 圖7為本發明實施例五提供的時間戳生成方法的流程示意圖。
【具體實施方式】
[0037] 為使本發明實施例的目的、技術方案和優點更加清楚,下面將結合本發明實施例 中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是 本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員 在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。
[0038] 圖1為本發明實施例一提供的網絡節點結構示意圖,如圖1所示,該網絡節點包 括:物理層收發單元10,數據包處理單元12,物理層時延獲取單元11,非物理層時延獲取單 元13 ;
[0039] 物理層收發單元10,用于向所述數據包處理單元發送數據包;
[0040] 具體地,用于從數據包處理單元12接收數據包并發送至其它網絡節點;或者,用 于從其它網絡節點接收數據包并發送至數據包處理單元12 ;
[0041] 數據包處理單元12,用于接收物理層收發單元10或高層發送的數據包,并識別數 據包是否為精確時間同步協議PTP數據包,若是,則數據包處理單元12根據物理層時延獲 取單元11和非物理層時延獲取單元13生成精確時間戳并改寫數據包中的時間戳字段;
[0042] 物理層時延獲取單元11,用于獲取數據包經過物理層收發單元10的物理層時延 信息,并將物理層時延信息提供給數據包處理單元12 ;
[0043] 非物理層時延獲取單元13,用于獲取數據包經過物理層-非物理層接口時間點和 數據包處理單元12中精確時間戳生成時間點之間的非物理層時延信息,并將非物理層時 延信息提供給數據包處理單元12。
[0044] 參照圖1,物理層收發單元10與數據包處理單元12可以通過現有介質無關接口 /媒體獨立接口(Media Independent Interface,簡稱:MII)連接,即物理層-非物理層接 口。物理層收發單元10將數據包從物理層傳送給數據包處理單元12,或者接收由高層發 送的數據包,例如,高層可以為該網絡節點的媒體訪問控制(Media Access Control,簡稱: MAC)層、操作(Operating System,簡稱0S)層以及應用層。物理層時延獲取單元11則可 以通過一個獨立的物理層-非物理層接口,與數據包處理單元12連接,將物理層時延獲取 單元11獲取到的數據包在物理層收發單元10的物理層時延信息通過該獨立的物理層-非 物理層接口傳送給數據包處理單元12。需要說明的是,該獨立的物理層-非物理層接口可 以與原有用于傳輸數據包的MII接口配合和兼容,并且獨立的物理層-非物理層接口與MII 傳輸的數據與網絡節點的本地時鐘同步,實現了獨立的物理層-非物理層接口與MII接口 傳輸數據的同步。這樣節省接口連線資源,以較小的代價即可實現物理層與MAC層的時延 信息傳輸。
[0045] 其中,數據包處理單元12以及非物理層時延獲取單元13可以設置在物理層和MAC 層之間,或者,設置在MAC層。數據包處理單元12接收到物理層時延獲取單元11發送的物 理層時延信息,又接收到非物理層時延獲取單元13發送的非物理層時延信息,因此,同時 根據物理層時延信息和非物理層時延信息對PTP數據包進行時延補償生成精確時間戳。需 要說明的是,物理層收發單元10接收的數據包均為以太網數據包,因此,物理層時延獲取 單元11獲取的物理層時延信息為以太網數據包的物理層時延信息,只有通過數據包處理 單元12識別到多個以太網數據包中某一個為PTP數據包時,數據包處理單元12根據確定 的PTP數據包以及與之對應的物理層時延信息和非物理層時延信息生成精確時間戳,并對 該PTP數據包進行時延補償。
[0046] 另外,在一種實施場景下,網絡節點作為發送節點,則該網絡節點需要將高層,例 如MAC層,處理過的數據包經物理層提供給其他網絡節點,在物理層將數據包發送之前,數 據包處理單元12若識別到某一以太網數據包為PTP數據包,則該網絡節點需要對該PTP數 據包添加時間戳;另一種實施場景下,網絡節點作為接收節點,則該網絡節點接收其他網絡 節點發送的以太網數據包,這些以太網數據包首先通過該網絡節點的物理層處理,進而通 過該網絡節點的其他高層,例如MAC層進行處理,在物理層處理后,數據包處理單元12會對 這些以太網數據包進行識別,若識別到某一以太網數據包為PTP數據包,則需要對該PTP數 據包添加時間戳。
[0047] 另外,上述物理層收發單元10、物理層時延獲取單元11與數據包處理單元12,非 物理層延時獲取單元13通過網絡節點的本地時鐘實現同步。
[0048] 本實施例提供的網絡節點,通過物理層收發單元從數據包處理單元接收數據包并 發送至其它網絡節點;或者,從其它網絡節點接收數據包并發送至數據包處理單元,物理層 時延獲取單元獲取數據包經過物理層收發單元的物理層時延信息,并將物理層時延信息提 供給數據包處理單元;非物理層時延獲取單元獲取數據包經過物理層-非物理層接口時間 點和數據包處理單元中精確時間戳生成時間點之間的非物理層時延信息,并將非物理層時 延信息提供給數據包處理單元。同時數據包處理單元接收物理層收發單元或高層發送的數 據包,并識別數據包是否為精確時間同步協議PTP數據包,若是,則數據包處理單元根據物 理層時延獲取單元和非物理層時延獲取單元生成精確時間戳并改寫數據包中的時間戳字 段。實現依據物理層時延信息以及非物理層時延信息對時間戳進行補償,有效提高了時間 戳的精確度,提高整個通信網絡的時間同步精度。
[0049] 進一步的,在圖1提供的網絡節點的基礎上,圖2為本發明實施例二提供的網絡節 點結構示意圖,如圖2所示,數據包處理單元12包括;數據包識別子單元121、時間戳生成 改寫子單元122 ;
[0050] 數據包識別子單元121,用于接收物理層收發單元10或高層發送的數據包,并識 別數據包是否為精確時間同步協議PTP數據包;
[0051] 若是,則時間戳生成改寫子單元122,用于根據物理層時延獲取單元11和非物理 層時延獲取單元11生成精確時間戳并改寫數據包中的時間戳字段。
[0052] 以下分別以網絡節點作為接收節點、以及網絡節點作為發送節點進行說明。
[0053] 在網絡節點作為接收節點,接收其他網絡節點發送的以太網數據包時,S卩,數據包 方向是該網絡節點的物理層向該網絡節點的高層,例如MAC層。圖3為本發明實施例二提 供的網絡節點的工作原理示意圖,如圖3所示,物理層收發單元10接收到的數據包由網絡 中其他網絡節點發送,而物理層時延獲取單元11獲取的物理層時延信息包括:物理層收發 單元10接收數據包中每個數據的時延信息。如圖3所示,物理層時延獲取單元11具體包 括:固定時延獲取單元110、動態精確時延獲取單元111、動態粗粒度時延獲取單元112、物 理層時延獲取子單元113。其中,固定時延獲取單元110用于獲取物理層收發單元10中相 關模塊產生的固定時延信息;動態精確時延獲取單元111用于獲取物理層收發單元10中相 關模塊產生的動態精確時延信息;動態粗粒度時延獲取單元112用于獲取物理層收發單元 10中相關模塊產生的動態粗粒度時延信息。物理層時延獲取子單元113接收上述固定時延 信息、動態精確時延信息以及動態粗粒度時延信息并將其加合為物理層時延信息,提供給 時間戳生成改寫子單元122。時間戳生成改寫子單元122可以根據數據包識別子單元121 提供的PTP確認指示信息以及時間戳生成改寫子單元122接收到的物理層時延信息和非物 理層時延信息來生成PTP數據包的精確時間戳。對于固定時延信息、動態精確時延信息以 及動態粗粒度時延信息將在下文中的實施例中進行詳細說明,此處不再贅述。
[0054] 具體的,圖4為本發明實施例二提供的網絡節點接口應用示意圖,如圖4所示,獨 立的接口為物理層和非物理層之間傳輸物理層時延信息的接口,獨立的物理層-非物理層 接口可以采用較為簡單的方式來實現,例如,與MII接口數據配合使用,獨立的物理層-非 物理層接口可以采用一根數據線來實現,如圖4所示,MII接口中與本發明相關的包括:RX_ CLK表不接收時鐘,RXD(receive data)表不接收數據。其中,SFD(Start Frame Delimiter) 表示巾貞起始,FCS(Frame Check Sequence)表示位于巾貞尾的巾貞校驗,Preamble為用來輔助 PHY層接收數據的前導信號。
[0055] 進一步地,參照圖3,在網絡節點作為接收節點,接收其他網絡節點發送的以太網 數據包時,網絡節點通過非物理層時延獲取單元13對以太網數據包中的每個幀的起始點 的時延信息進行實時測量獲得物理層時延信息,物理層時延信息以lbit串行時延數據的 方式通過獨立的物理層-非物理層接口提供給非物理層的時間戳生成改寫子單元122。串 行時延數據與MII接口的數據和時鐘是對齊的,其中,與SFD對應的物理層時延信息為比 特" 1",表示與每個數據幀對應的物理層時延信息的起始;與數據對應的比特"0"或" 1"表 示本數據幀起始點時刻(SFD)的接收時延信息的數據;與FCS和Preamble對應的物理層 時延信息為比特"〇",表示本幀物理層時延信息的終止。這種接口設計只需要一根物理數 據線,既和MII接口或lOGbps以太網連接單兀接口(lOGbps Ethernet Attachment Unit Interface,簡稱:XAUI接口)標準相兼容,又節省接口連線資源,以較小的代價即可實現物 理層到高層的時延信息傳輸,例如MAC層。進一步的,由于通過獨立的物理層-非物理層接 口的物理層時延信息與MII接口的數據和時鐘是對齊的,物理層收發單元10可以根據每一 個時鐘周期內的數據包與物理層時延信息的對應關系,時間戳生成改寫子單元122可以根 據數據包識別子單元121提供的PTP確認指示信息以及時間戳生成改寫子單元122接收到 的物理層時延信息和非物理層時延信息來生成PTP數據包的精確時間戳。具體的,數據包 識別子單元121對每個以太網數據包進行判斷是否為PTP數據包,判斷過程會產生動態時 延,無論是不是PTP數據包,物理層時延獲取單元11會計算每個以太網數據包的物理層時 延信息,非物理層時延獲取單元13獲取以太網數據包經過物理層至非物理層接口時間點 和數據包處理單元12中精確時間戳生成時間點之間的非物理層時延信息,并由時間戳生 成改寫子單元122將非物理層時延信息與物理層送來的物理層時延信息進行相加獲得總 時延信息。當確定為PTP數據包時,數據包識別子單元121發送一個觸發信息給時間戳生 成改寫子單元122,時間戳生成改寫子單元122利用這個觸發信息,讀取與之相對應的總時 延信息,并作為時間戳的基準生成精確時間戳,如果不是PTP數據包,則時間戳生成改寫子 單元122對獲得的總時延信息不予使用。例如,第6個周期為PTP數據包,則對應第6個周 期內的接收時延信息為該PTP數據包的物理層時延信息,最后時間戳生成單元根據PTP數 據包的物理層時延信息和非物理層時延信息生成PTP數據包的精確時間戳。
[0056] 在網絡節點作為發送節點,向其他網絡節點發送數據包時,S卩,數據包方向是該網 頁節點的高層,例如MAC層向物理層。參照圖2,數據包識別子單元121接收高層發送的數 據包,則物理層時延獲取單元11獲取數據包經過物理層收發單元10的物理層時延信息為 歷史物理層時延信息;非物理層時延獲取單元11獲取數據包經過物理層-非物理層接口時 間點和數據包處理單元12中精確時間戳生成時間點之間的非物理層時延為歷史非物理層 時延信息。則時間戳生成改寫子單元122根據物理層時延獲取單元11獲取的歷史物理層 時延信息和非物理層時延獲取單元11獲取的歷史非物理層時延信息預測生成精確時間戳 并改寫數據包中的時間戳字段。
[0057] 歷史物理層時延信息為數據包之前傳輸的數據包的物理層時延信息;非物理層時 延信息為數據包之前傳輸的數據包的非物理層時延信息。
[0058] 具體的,圖5為本發明實施例三提供的網絡節點的工作原理示意圖,如圖5所示, 物理層收發單元10在物理層接收到的數據包由MAC層發送。與圖2類似,物理層時延獲取 單元11具體包括:固定時延獲取單元110、動態精確時延獲取單元111、動態粗粒度時延獲 取單元112、物理層時延獲取子單元113。上述單元功能也與實施例二中功能類似,此處不 再贅述。物理層時延獲取單元11獲取的物理層時延信息包括:物理層收發單元10接收數 據包中每個數據的時延信息。
[0059] 物理層收發單元10在物理層接收到的數據包由該網絡節點的高層,例如MAC層 發送,則時間戳生成改寫子單元122具體用于:物理層時延獲取單元11會計算每個以太網 數據包的物理層時延信息,非物理層時延獲取單元13獲取以太網數據包經過物理層至非 物理層接口時間點和數據包處理單元12中精確時間戳生成時間點之間的非物理層時延信 息,由時間戳生成改寫子單元122將非物理層時延信息與物理層送來的物理層時延信息進 行相加獲得總時延信息。需要說明的是,本實施例中上述物理層時延信息為歷史物理層時 延信息,上述非物理層時延信息為歷史非物理層時延信息。攜帶有時間戳的PTP數據包提 供給物理層收發單元10,最終通過物理層提供給其他網絡節點。
[0060] 具體的,例如,網絡節點向其他網絡節點發送10個數據包,其中,第6個數據包為 PTP數據包,當數據包識別子單元121對該PTP數據包進行識別時,前5個數據包已經由MAC 層提供給物理層收發單元10,此時物理層時延獲取單元11可以根據上述5個數據包獲得 物理層時延信息,并將該物理層時延信息提供給時間戳生成改寫子單元122,時間戳生成改 寫子單元122接收物理層時延信息、以及接收非物理層時延獲取單元13獲取到的PTP數據 包非物理層時延信息。進一步的,時間戳生成改寫子單元122根據PTP數據包之前傳輸的 數據包的時延信息(即歷史物理層時延信息)和非物理層時延信息(即歷史非物理層時延信 息),時間戳生成改寫子單元122根據歷史物理層時延信息以及歷史非物理層時延信息生成 PTP數據包的精確時間戳。
[0061] 其中,網絡節點的物理層收發單元10包含PMA子單元和PCS子單元:PMA子單元包 含輸入緩存器(input buffer)、均衡器(Equalizer)、增益控制器(Gain Controller)、時鐘 數據恢復器(CDR)、串并轉換器(Deserializer)等模塊;PCS子單元包含字符校準器(Word Aligner)、速率匹配 FIFO (Rate-Match FIFO)、解碼器(如,10B/8B 解碼器或 66B/64B 解碼 器)、相位補償FIFO (Phase Compensation FIFO)等模塊。物理層時延獲取單元11根據物 理層收發單元10提供的時延指示信息來計算物理層PMA子單元和PCS子單元的固定時延、 動態粗粒度時延以及動態細粒度時延,并通過獨立的物理層-非物理層接口(Interface) 提供物理層時延信息給時間戳生成改寫子單元122來計算精確時延并生成精確時間戳,時 間戳生成改寫子單元122將生成的精確時間戳寫入PTP數據包。首先,通過數據包識別子 單元121對PTP數據包的進行識別,同時,由非物理層時延獲取單元11獲取數據包經過物 理層-非物理層接口時間點和數據包處理單元12中精確時間戳生成時間點之間的非物理 層時延信息,并將非物理層時延信息提供給數據包處理單元12中的時間戳生成改寫子單 元122,并找出PTP數據包中時間戳信息的位置。當數據包被判斷是PTP數據包時,則時間 戳生成改寫子單元122根據獨立的物理層-非物理層接口(Interface)提供的物理層時延 信息(即歷史物理層時延信息),以及非物理層時延獲取單元13計算和測量的非物理層時延 信息(即歷史非物理層時延信息)來進行時間戳生成,并由時間戳生成單元14將生成的時間 戳寫入相應的PTP數據包。
[0062] 對于網絡節點作為發送節點的場景,PTP數據包之前傳輸的數據包的時延信息為: PTP數據包之前傳輸的最后一個數據包的時延信息;或者,PTP數據包之前傳輸的所有數據 包的平均時延信息。需要說明的是,PTP數據包之前傳輸的數據包在經過物理層收發單元 10處理時產生的時延具有平滑性,即不同數據包之間其對應的時延變化差異較小,因此對 于PTP數據包的物理層時延信息,可以根據PTP數據包之前傳輸的數據包的時延信息獲得, 即歷史物理層時延信息,具體的,可以通過兩種方式,即PTP數據包之前傳輸的最后一個數 據包的時延信息;或者,PTP數據包之前傳輸的所有數據包的平均時延信息。類似的,在網 絡節點作為發送節點的場景,非物理層時延獲取單元13獲取數據包經過物理層-非物理層 接口時間點和數據包處理單元12中精確時間戳生成時間點之間的非物理層時延,也可以 是PTP數據包之前傳輸的數據包的非物理層時延信息,即歷史非物理層時延信息。
[0063] 進一步的,參照圖1、圖2及圖5,需要說明的是,該網絡節點的高層,例如MAC層向 物理層發送數據包之前,首先,由數據包識別單元12進行PTP數據包識別和處理以及時間 戳信息位置判斷,同時非物理層時延獲取單元13獲取數據包經過非物理層接口-物理層時 間點和數據包處理單元12中精確時間戳生成時間點之間的非物理層時延信息,并將非物 理層時延信息提供給數據包處理單元12中的時間戳生成改寫子單元122,物理層的接收延 時信息由物理層時延獲取單元11根據物理層收發單元10提供的物理層時延信息(即歷史 物理層時延信息)來進行時延預測計算,并通過獨立的物理層-非物理層接口提供給時間戳 生成改寫子單元122,當數據包識別單元12確定該數據包是PTP數據包時,時間戳生成改 寫子單元122根據物理層時延獲取單元11測得的物理層時延信息和非物理層時延獲取單 元13計算和測量的數據包非物理層時延信息生成精確時間戳,并由時間戳生成改寫子單 元122將生成的精確時間戳寫入相應的PTP數據包。
[0064] 對于上述各實施例,物理層時延獲取單元11獲取的數據包在物理層收發單元10 的物理層時延信息包括以下任意一種或多種時延信息的組合:固定時延信息、恢復時鐘與 本地時鐘不匹配造成的動態細粒度時延信息、碼組對齊時延信息、存儲模塊讀寫時延信息、 數據速率匹配模塊時延信息。
[0065] 通常來說,上述時延信息,是從物理層通道對所述數據包的處理過程得到的。
[0066] 需要說明的是,物理層產生的時延可分為固定時延、動態粗粒度時延和動態細粒 度時延。
[0067] 其中,固定延時信息是指網絡節點的物理層收發單元10在處理過程中相對固定、 不隨時間變化或變化可以忽略的時延,例如,接收信號進入器件的輸入緩存器帶來的固定 時延,以及信號經固定長度的乘加均衡濾波操作帶來的固定處理時鐘周期時延等。可根據 物理層中模塊的器件特性或參數直接求得,例如,固定抽頭的均衡器以及10B/8B解碼器; 或采用仿真工具進行時延仿真或直接測量得到,例如,輸入緩存器(Input Buffer)可通過 查詢硬件參數或通過時延仿真信息得到。
[0068] 動態粗粒度時延包括:存儲模塊讀寫時延信息、數據速率匹配模塊時延信息。動 態粗粒度時延是指信號在處理過程中使用的數倍處理時鐘(如125MHz)周期數并不固定, 而是動態變化的,例如,由信號處理過程中先入先出緩存器(FIFO/Buf f er )讀寫操作造成的 非固定整數倍時鐘周期時延,即存儲模塊讀寫時延信息;以及由于收發數據速率不匹配引 起的非固定整數倍處理時鐘周期延時,即數據速率匹配模塊時延信息等;并且,動態粗粒度 時延可以由物理層各引入動態延時的模塊,輸出的動態調整信息來計算,例如,在MII接口 中,在相鄰數據包之間會發送空閑(IDLE)字段,來進行填充,收發通道中的Rate Match模 塊會根據數據速率情況增加或刪除部分IDLE字段,這時就會造成動態粗粒度時延(整數周 期)。
[0069] 動態精確時延是由于收發通道模塊用到的不同時鐘的相位差所引起的,具體指, 指由于處理時鐘速率或相位不匹配造成的小于一個時鐘處理周期的精細時延,例如,由于 字校準(Word Alignment)操作引入的隨機比特滑動造成的動態分數倍時鐘周期延時,即 串行數據滑碼時延信息;物理層收發各模塊的處理時鐘有部分是使用時鐘數據恢復(Clock and Data Recovery,簡稱:CDR)恢復時鐘(Recover Clock),有部分是使用本地時鐘(Local Clock),這兩個時鐘之間會造成不匹配,當⑶R恢復時鐘進行FIFO數據寫入操作,而用本 地時鐘進行FIFO數據讀出操作,此時讀出的數據和寫入的數據存在不固定的相位差,這些 相位差通常包含小于一個時鐘處理周期(如處理時鐘125MHz,一個周期為8納秒)的動態 時延,即恢復時鐘與本地時鐘不匹配造成的動態細粒度時延信息。具體可以通過BangBang 鑒相器或雙混頻時差(Dual Mixer Time Difference,簡稱:DMTD)鑒相方法來測量。動態 細粒度延時可以利用產生動態延時的異步時鐘進行鑒相計算來獲得,或通過字校準(Word Align)模塊在產生比特滑碼時輸出滑碼指示信息來進行時延計算。
[0070] 進一步的,物理層時延信息以包括32個比特位的串行數據表示,其中,32個比特 位中的高16個比特位用于表示固定時延信息、存儲模塊讀寫時延信息、數據速率匹配模塊 時延信息,32個比特位中的低16個比特位用于表示恢復時鐘與本地時鐘不匹配造成的動 態細粒度時延信息、串行數據滑碼時延信息。并且,32個比特位中的高16個比特位用于表 示時延信息的整數倍納秒(ns)部分,所述32個比特位中的低16個比特位用于表示時延信 息的整數倍皮秒(ps)部分,例如延時信息為8. 001ns,則可表示為(0000_0000_0000_1000_ 0000_0000_0000_0001) 2。
[0071] 進一步的,非物理層時延獲取單元11獲取的數據包經過物理層-非物理層接口時 間點和數據包處理單元12中時間戳生成時間點之間的時延信息,S卩非物理層時延信息包 括數據包在非物理層的以下任意一種或多種時延信息的組合:處理時延信息、隊列時延信 息、時鐘域不同造成的相差時延信息。
[0072] 需要說明的是,對于上述各實施例,數據包處理單元12位于MAC層或者與MAC相 連的隊列區。其中MAC相連的隊列區為該網絡節點中與MAC相連的緩存器、寄存器等緩存 寄存操作區。
[0073] 本文上述實施例中描述的網絡節點可用于各種采用1588協議進行時間同步的 通信系統,例如當前2G,3G通信系統和下一代通信系統,例如全球移動通信系統(GSM, Global System for Mobile communications),石馬分多址(CDMA, Code Division Multiple Access)系統,時分多址(TDMA,Time Division Multiple Access)系統,寬帶碼分多 址(WCDMA, Wideband Code Division Multiple Access Wireless),頻分多址(FDMA, Frequency Division Multiple Addressing)系統,正交頻分多址(OFDMA,Orthogonal Frequency-Division Multiple Access)系統,單載波 FDMA (SC-FDMA)系統,通用分組無線 業務(GPRS,General Packet Radio Service)系統,長期演進(LTE,Long Term Evolution) 系統,以及其他此類通信系統或者需要精確時間同步的工業控制系統,交通控制系統時間 同步,雷達及航空網絡的精確時間同步等領域。
[0074] 下面通過具體的實施例對采用上述實施例中描述的網絡節點的通信系統進行說 明,圖6為本發明實施例四提供的一種基于IEEE1588V2時間同步協議的精確時間時間同步 通信系統結構示意圖。如圖6所示,本發明的網絡節點可以應用在需要精確時間戳的時間 同步系統,例如基于IEEE1588V2時間同步協議的精確時間時間同步通信系統,如圖6所示, 其由控制中心1、核心交換機2、匯聚交換機3、接入交換機4、終端設備5組成。可實現每個 網絡節點間的時間同步,以及整個網絡系統的時間同步。控制中心1作為主時鐘提供端,產 生精確的時間戳,時間戳通過PTP數據包經過各網絡節點,如圖6中所示:核心交換機2、匯 聚交換機3、接入交換機4。各網絡節點通過上述實施例中的各個模塊,根據接收到的精確 時間戳信息以及PTP數據包來使得本地時間(時鐘)和主時鐘端時間(時鐘)精確同步。 作為中間節點的核心交換機2、匯聚交換機3、接入交換機1均記錄進入本節點和離開本節 點的精確時間并生成精確時間戳信息,并且通過上述實施例有效地避免各網絡節點在物理 層和MAC層處理時產生的時延,通信網絡中每個網絡節點都支持高精度時間戳生成,則整 個通信系統可實現高精度的時間同步。
[0075] 圖7為本發明實施例五提供的時間戳生成方法的流程示意圖,如圖6所示,包括如 下步驟:
[0076] S100,網絡節點接收其他網絡節點發送的數據包或接收高層發送的數據包。
[0077] 具體的,本實施例中的網絡節點,可以作為接收節點接收其他網絡節點發送的數 據包,也可作為發送節點,向其他網絡節點發送數據包。在作為發送節點時,該網絡節點的 物理層首先需要接收該網絡節點的高層,例如MAC層、0S層、應用層等,發送的需要發送給 其他網絡節點的數據包。
[0078] S101,網絡節點獲取數據包的物理層時延信息和非物理層時延信息。
[0079] 具體的,網絡節點獲取數據包的物理層時延信息和非物理層時延信息,可以通過 在物理層設置物理層時延獲取單元對物理層進行測量得到物理層時延信息,類似的,在非 物理層,設置非物理層時延獲取單元獲得非物理層時延信息。詳細的方案可以參照本發明 網絡節點的各實施例,此處不再贅述。
[0080] S102,網絡節點識別數據包是否為精確時間同步協議PTP數據包,若是,則根據物 理層時延和非物理層時延生成精確時間戳并改寫數據包中的時間戳字段。
[0081] 本實施例提供的網絡節點,通過網絡節點接收其他網絡節點發送的數據包;或者, 接收所述網絡節點的高層發送的數據包。網絡節點獲取數據包的物理層時延信息和非物理 層時延信息。網絡節點識別數據包是否為精確時間同步協議PTP數據包,若是,則根據物理 層時延和非物理層時延生成精確時間戳并改寫數據包中的時間戳字段。實現時間戳依據物 理層接收時延以及PTP數據包識別時延信息對時間戳進行補償,有效提高了時間戳的精確 度,提高整個通信網絡的時間同步精度。
[0082] 進一步的,對于網絡節點作為發送節點時,圖7中S100具體包括:
[0083] 網絡節點接收高層發送的數據包,則網絡節點獲取數據的物理層時延信息為歷史 物理層時延信息;網絡節點獲取數據包經過物理層-非物理層接口時間點和網絡節點中精 確時間戳生成時間點之間的非物理層時延信息為歷史非物理層時延信息;
[0084] 則網絡節點根據歷史物理層時延信息和歷史非物理層時延信息預測生成精確時 間戳并改寫數據包中的時間戳字段。
[0085] 需要說明的是,PTP數據包之前傳輸的數據包在經過網絡節點的物理層時產生的 時延具有平滑性,即不同數據包之間其對應的時延變化差異較小,因此對于PTP數據包的 物理層時延信息,可以根據PTP數據包之前傳輸的數據包的時延信息獲得,即歷史物理層 時延信息,具體的,可以通過兩種方式,即PTP數據包之前傳輸的最后一個數據包的時延信 息;或者,PTP數據包之前傳輸的所有數據包的平均時延信息。類似的,在網絡節點作為發 送節點的場景,網絡節點獲取數據包經過物理層-非物理層接口時間點和數據包處理單元 12中精確時間戳生成時間點之間的非物理層時延信息,也可以是PTP數據包之前傳輸的數 據包的非物理層時延信息,即歷史非物理層時延信息。進一步的,對于上述實施例,物理層 時延信息包括以下任意一種或多種時延信息的組合:固定時延信息、恢復時鐘與本地時鐘 不匹配造成的動態細粒度時延信息、碼組對齊時延信息、存儲模塊讀寫時延信息、數據速率 匹配模塊時延信息。其具體含義已在上文中進行了詳細說明,此處不再贅述。
[0086] 非物理層時延信息為所述數據包經過物理層-非物理層接口時間點和網絡節點 中精確時間戳生成時間點之間的時延,包括數據包在非物理層的以下任意一種或多種時延 信息的組合:處理時延信息、隊列時延信息、時鐘域不同造成的相差時延信息。
[0087] 對于上述實施例,圖7中S101、S102的功能是在網絡節點的MAC層或者與MAC相 連的隊列區實現的,其中MAC相連的隊列區為該網絡節點中與MAC相連的緩存器、寄存器等 緩存寄存操作區。
[0088] 進一步的,對于網絡節點作為接收節點、發送節點這兩種情況,下面通過具體的實 施例進行說明。
[0089] 在網絡節點作為接收節點,接收其他網絡節點發送的數據包時,網絡節點物理層 時延信息中包括在物理層接收的數據包中每個數據的時延信息;網絡節點在數據包中識別 出精確時間同步協議PTP數據包,并獲取識別出PTP數據包的非物理層時延信息,網絡節點 根據物理層時延信息和非物理層時延信息生成PTP數據包的精確時間戳,并將精確時間戳 寫入PTP數據包中。
[0090] 具體的,可以參照上文圖3所提供的技術方案,此處不再贅述。
[0091] 若在物理層接收到的數據包由網絡中其他網絡節點發送,則網絡節點根據物理層 時延信息和非物理層時延信息生成PTP數據包的精確時間戳,具體為:
[0092] 網絡節點根據數據包進行識別過程中產生的PTP確認指示信息以及物理層時延 信息和非物理層時延信息來生成PTP數據包的精確時間戳。
[0093] 在網絡節點作為發送節點,向其他網絡節點發送數據包時,網絡節點物理層時延 信息中包括在物理層接收的數據包中每個數據的時延信息。
[0094] 若在物理層接收到的數據包由媒體接入MAC層發送,則網絡節點根據物理層時延 信息和非物理層時延信息生成PTP數據包的時間戳,具體為:
[0095] 網絡節點根據數據包進行識別過程中產生的ΡΤΡ確認指示信息以及物理層時延 信息和非物理層時延信息來生成ΡΤΡ數據包的精確時間戳。
[0096] 具體的,可以參照上文圖5所提供的技術方案,此處不再贅述。
[0097] 本領域普通技術人員可以理解:實現上述各方法實施例的全部或部分步驟可以通 過程序指令相關的硬件來完成。前述的程序可以存儲于一計算機可讀取存儲介質中。該程 序在執行時,執行包括上述各方法實施例的步驟;而前述的存儲介質包括:ROM、RAM、磁碟 或者光盤等各種可以存儲程序代碼的介質。
[〇〇98] 最后應說明的是:以上各實施例僅用以說明本發明的技術方案,而非對其限制; 盡管參照前述各實施例對本發明進行了詳細的說明,本領域的普通技術人員應當理解:其 依然可以對前述各實施例所記載的技術方案進行修改,或者對其中部分或者全部技術特征 進行等同替換;而這些修改或者替換,并不使相應技術方案的本質脫離本發明各實施例技 術方案的范圍。
【權利要求】
1. 一種網絡節點,其特征在于,包括:物理層收發單元,數據包處理單元,物理層時延 獲取單元,非物理層時延獲取單元; 所述物理層收發單元,用于向所述數據包處理單元發送數據包; 所述數據包處理單元,用于接收所述物理層收發單元或高層發送的所述數據包,并識 別所述數據包是否為精確時間同步協議PTP數據包,若是,則所述數據包處理單元根據所 述物理層時延獲取單元提供的物理層時延信息和所述非物理層時延獲取單元提供的非物 理層時延信息生成精確時間戳并改寫所述數據包中的時間戳字段; 所述物理層時延獲取單元,用于獲取所述數據包經過所述物理層收發單元的所述物理 層時延信息,并將所述物理層時延信息提供給所述數據包處理單元; 所述非物理層時延獲取單元,用于獲取所述數據包經過物理層-非物理層接口時間點 和所述數據包處理單元中精確時間戳生成時間點之間的所述非物理層時延信息,并將所述 非物理層時延信息提供給所述數據包處理單元。
2. 根據權利要求1所述的網絡節點,其特征在于,所述數據包處理單元包括;數據包識 別子單元、時間戳生成改寫子單元; 所述數據包識別子單元,用于接收所述物理層收發單元或高層發送的所述數據包,并 識別所述數據包是否為精確時間同步協議PTP數據包; 所述時間戳生成改寫子單元,用于,在所述數據包識別子單元識別出所述數據包為精 確時間同步協議PTP數據包時,根據所述物理層時延獲取單元和所述非物理層時延獲取單 元生成精確時間戳并改寫所述數據包中的時間戳字段。
3. 根據權利要求2所述的網絡節點,其特征在于,所述數據包識別子單元接收所述高 層發送的所述數據包,則所述物理層時延獲取單元獲取所述數據包經過所述物理層收發單 元的物理層時延信息為歷史物理層時延信息;所述非物理層時延獲取單元獲取所述數據包 經過物理層-非物理層接口時間點和所述數據包處理單元中精確時間戳生成時間點之間 的非物理層時延為歷史非物理層時延信息;所述歷史物理層時延信息為所述數據包之前傳 輸的數據包的物理層時延信息;所述非物理層時延信息為所述數據包之前傳輸的數據包的 非物理層時延信息; 則所述時間戳生成改寫單元,用于根據所述物理層時延獲取單元獲取的所述歷史物理 層時延信息和所述非物理層時延獲取單元獲取的所述歷史非物理層時延信息預測生成所 述精確時間戳并改寫所述數據包中的時間戳字段。
4. 根據權利要求1?3任一一項所述的網絡節點,其特征在于,所述物理層時延獲取單 元獲取的所述數據包經過所述物理層收發單元的所述物理層時延信息包括以下任意一種 或多種時延信息的組合:固定時延信息、恢復時鐘與本地時鐘不匹配造成的動態細粒度時 延信息、碼組對齊時延信息、存儲模塊讀寫時延信息、數據速率匹配模塊時延信息。
5. 根據權利要求1?3任一一項所述的網絡節點,其特征在于,所述非物理層時延獲取 單元獲取的所述數據包經過所述物理層-非物理層接口時間點和所述數據包處理單元中 時間戳生成時間點之間的非物理層時延信息包括所述數據包在非物理層的以下任意一種 或多種時延信息的組合:處理時延信息、隊列時延信息、時鐘域不同造成的相差時延信息。
6. 根據權利要求1?5任一一項所述的網絡節點,其特征在于,所述數據包處理單元 12位于MAC層或者與MAC相連的隊列區。
7. -種時間戳生成方法,其特征在于,包括: 網絡節點接收其他網絡節點發送的數據包或接收所述網絡節點的高層發送的數據 包; 所述網絡節點獲取所述數據包的物理層時延信息和非物理層時延信息; 所述網絡節點識別所述數據包是否為精確時間同步協議PTP數據包,若是,則根據所 述物理層時延和所述非物理層時延生成精確時間戳并改寫所述數據包中的時間戳字段。
8. 根據權利要求7所述的方法,其特征在于,所述網絡節點接收其他網絡節點發送的 數據包;或者,接收所述網絡節點的高層發送的數據包,包括: 所述網絡節點接收所述高層發送的數據包,則所述網絡節點獲取所述數據的物理層時 延信息為歷史物理層時延信息;所述網絡節點獲取所述數據包經過物理層-非物理層接口 時間點和所述網絡節點中精確時間戳生成時間點之間的非物理層時延信息為歷史非物理 層時延信息;所述歷史物理層時延信息為所述數據包之前傳輸的數據包的物理層時延信 息;所述非物理層時延信息為所述數據包之前傳輸的數據包的非物理層時延信息; 對應,所述網絡節點,根據所述物理層時延和所述非物理層時延生成精確時間戳并改 寫所述數據包中的時間戳字段包括:根據所述歷史物理層時延信息和所述歷史非物理層時 延信息預測生成所述精確時間戳并改寫所述數據包中的時間戳字段。
9. 根據權利要求7或8所述的方法,其特征在于,所述物理層時延信息包括以下任意一 種或多種時延信息的組合:固定時延信息、恢復時鐘與本地時鐘不匹配造成的動態細粒度 時延信息、碼組對齊時延信息、存儲模塊讀寫時延信息、數據速率匹配模塊時延信息。 所述非物理層時延信息為所述數據包經過物理層-非物理層接口時間點和所述網絡 節點中精確時間戳生成時間點之間的時延信息,包括所述數據包在非物理層的以下任意一 種或多種時延信息的組合:處理時延信息、隊列時延信息、時鐘域不同造成的相差時延信 肩、。
10. -種通信系統,其特征在于,包括權利要求1?6任一一項項所述的網絡節點。
【文檔編號】H04L29/06GK104113517SQ201310140394
【公開日】2014年10月22日 申請日期:2013年4月22日 優先權日:2013年4月22日
【發明者】趙國棟, 李波杰, 張錦芳 申請人:華為技術有限公司