時間同步系統(tǒng)及方法、交換機、嵌入式接口板的制作方法
【專利摘要】本發(fā)明涉及一種通信網(wǎng)絡(luò)時間精確同步系統(tǒng)、交換機、嵌入式接口板、以及相應(yīng)同步方法,其中,所述系統(tǒng)包括一個包含主時鐘同步裝置的主時鐘通信設(shè)備、一個或多個包含從時鐘同步裝置的從時鐘通信設(shè)備,主通信設(shè)備嵌入有g(shù)ps接收模塊以接收用于同步的主時鐘,并且,在主通信設(shè)備和從通信設(shè)備上嵌入加蓋擁有時鐘同步協(xié)議時間戳的協(xié)議模塊,在主通信設(shè)備和從通信設(shè)備上運行時鐘同步協(xié)議。通過本發(fā)明,可以在一定時間間隔內(nèi)對所有通信設(shè)備時鐘同步,彼此誤差在納秒級。
【專利說明】時間同步系統(tǒng)及方法、交換機、嵌入式接口板
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及應(yīng)用主鐘模塊到通信設(shè)備,同過通過時鐘同步協(xié)議來實現(xiàn)通信設(shè)備時鐘同步功能的系統(tǒng)。其應(yīng)用于通信設(shè)備出廠前的時鐘同步。
【背景技術(shù)】
[0002]目前,許多測試系統(tǒng)都建立在分布式的網(wǎng)絡(luò)環(huán)境之中,沒有一個統(tǒng)一、準確的時間標準,因此系統(tǒng)很難正常的協(xié)調(diào)各子系統(tǒng)的運行。因此,采用統(tǒng)一的時間標準成為本領(lǐng)域技術(shù)人員致力于解決的課題。
【發(fā)明內(nèi)容】
[0003]本發(fā)明針對上述【背景技術(shù)】中存在的技術(shù)問題,提出了一種應(yīng)用在通信網(wǎng)絡(luò)的時鐘同步系統(tǒng)。同時提出了一種相應(yīng)的時間同步方法、交換機、嵌入式接口板。
[0004]本發(fā)明的技術(shù)方案如下:
一種通信網(wǎng)絡(luò)時間精確同步系統(tǒng),該系統(tǒng)包括一個包含主時鐘同步裝置的主時鐘通信設(shè)備、一個或多個包含從時鐘同步裝置的從時鐘通信設(shè)備;其特征在于,所述主時鐘通信設(shè)備用于接收gps時鐘和向從通信設(shè)備同步時鐘,其包括電源模塊、中央處理模塊、存儲模塊、gps接收模塊裝置、加蓋擁有時鐘同步協(xié)議時間戳的模塊;所述從時鐘通信設(shè)備用于時間同步,其包括電源模塊、中央處理模塊、存儲模塊、加蓋擁有時鐘同步協(xié)議時間戳的模塊。
[0005]所述主時鐘通信設(shè)備從gps系統(tǒng)獲取標準時鐘。
[0006]所述中央處理模塊運行由加蓋擁有時鐘同步協(xié)議時間戳的模塊生成的時鐘報文。
[0007]所述的加蓋擁有時鐘同步協(xié)議時間戳的模塊在mac層產(chǎn)生用于時鐘同步協(xié)議所使用的報文。
[0008]所述通信設(shè)備有用于gps裝置和加蓋擁有時鐘同步協(xié)議時間戳的裝置的接口,可以方便實現(xiàn)從通信設(shè)備上進行拔插。
[0009]所述從時鐘通信設(shè)備接收主時鐘通信設(shè)備的同步時鐘。
[0010]所述通信設(shè)備可以是交換機、或路由器。
[0011]所述主時鐘同步裝置由cpu、時鐘同步芯片、flash、SDRAM、網(wǎng)絡(luò)接口組成,主時鐘同步裝置由CPU控制時鐘同步芯片,其用來接收和發(fā)送PTP時鐘同步協(xié)議報文。
[0012]一種應(yīng)用于上述通信網(wǎng)絡(luò)時間精確同步系統(tǒng)的交換機,所述交換機適用于組建千兆或百兆主干冗余環(huán)網(wǎng),其具有3個8端口的快速以太網(wǎng)接口模塊插槽和4個百/千兆以太網(wǎng)光電復用端口。
[0013]一種應(yīng)用于上述通信網(wǎng)絡(luò)時間精確同步系統(tǒng)的嵌入式接口板,包括核心處理器即CPU、存儲電路、網(wǎng)絡(luò)接口電路、時鐘處理芯片,其中時鐘處理芯片通過RMII接口總線與CPU處理器相連,把PTP報文的時間戳信息和當前時鐘讀數(shù)發(fā)送給CPU處理器,同時接收來自CPU處理器的時鐘調(diào)整值來調(diào)整本地時鐘。
[0014]一種應(yīng)用于上述通信網(wǎng)絡(luò)時間精確同步系統(tǒng)的通信網(wǎng)絡(luò)時間精確同步方法,包括如下步驟:
(I)現(xiàn)場設(shè)備A發(fā)送一個PTP包給現(xiàn)場設(shè)備B,并記錄下數(shù)據(jù)包離開A的時間,該時間戳為tl ; (2)當此PTP包到達現(xiàn)場設(shè)備B時,現(xiàn)場設(shè)備B加上自己接收到該數(shù)據(jù)包的時間戳,該時間戳為TSl ; (3)現(xiàn)場設(shè)備A發(fā)送一個Follow Up消息給現(xiàn)場設(shè)備B,通知B時間tl ;
(4)當此PTP包離開現(xiàn)場設(shè)備B時,并記錄下數(shù)據(jù)包離開B的時間t2 ; (5)當現(xiàn)場設(shè)備A接收到該響應(yīng)包時,加上一個新的時間戳,該時間戳為Tm2 ; (6)現(xiàn)場設(shè)備A再發(fā)送FollowUp消息給現(xiàn)場設(shè)備B,通知B時間Tm2 ;至此,現(xiàn)場設(shè)備B己擁有足夠的信息來計算2個重要的參數(shù):一是PTP數(shù)據(jù)包來回一個周期的時延,二是現(xiàn)場設(shè)備A和現(xiàn)場設(shè)備B的時鐘差,由此現(xiàn)場設(shè)備B能夠設(shè)定自己的時鐘與現(xiàn)場設(shè)備A同步。
[0015]其中,實現(xiàn)最佳主時鐘的方法包括如下兩個步驟:(I)從本地時鐘系統(tǒng)通信端口中選出一個質(zhì)量最好的同步報文;(2)根據(jù)上述結(jié)果,比較此時的主時鐘和本地時鐘屬性,決定本地設(shè)備PTP協(xié)議引擎所處的狀態(tài);其中,
步驟(I)采用數(shù)據(jù)集比較算法模塊來實現(xiàn),步驟(2)采用狀態(tài)決斷算法模塊來實現(xiàn);所述模塊定義了狀態(tài)決定算法函數(shù)來進行狀態(tài)的決斷和數(shù)據(jù)集的更新,在缺省數(shù)據(jù)集的層數(shù)是I或2的前提下,調(diào)用數(shù)據(jù)集對照算法模塊來判定本地時鐘缺省數(shù)據(jù)集DO和較好時鐘Erbest的數(shù)據(jù)集哪個更好;通過比較,如果是缺省數(shù)據(jù)集DO更好,則根據(jù)狀態(tài)決斷代碼M1,調(diào)用函數(shù)構(gòu)建主時鐘函數(shù)根據(jù)缺省數(shù)據(jù)集DO的屬性值來構(gòu)建主時鐘,并且將DO狀態(tài)更改為PTP主時鐘,這代表DO是目前最好的主時鐘;否則,調(diào)用構(gòu)建從時鐘函數(shù),根據(jù)Erbest的屬性來構(gòu)建從時鐘,Erbest的狀態(tài)則是PTP_SLAVE ;在主時鐘的層數(shù)大于2的情況下,調(diào)用數(shù)據(jù)集對照算法模塊,以對本地時鐘缺省數(shù)據(jù)集DO和最好時鐘Ebest進行判定;通過比較,如果是缺省數(shù)據(jù)集DO更好,則調(diào)用構(gòu)建主時鐘函數(shù),根據(jù)狀態(tài)決斷代碼M2,根據(jù)缺省數(shù)據(jù)集DO的屬性值來構(gòu)建主時鐘,并且更改DO狀態(tài)為PTP_主時鐘;否則,將調(diào)用數(shù)據(jù)集對照算法模塊將Ebest與Erbest進行比較,如果比較結(jié)果相同,根據(jù)狀態(tài)決斷代碼SI,根據(jù)Ebest的屬性來構(gòu)建從時鐘,更改Ebest狀態(tài)成ΡΤΡ_從時鐘;如果經(jīng)過比較Ebest有更好的屬性值,則根據(jù)狀態(tài)決斷代碼M3,根據(jù)Erbest的屬性來構(gòu)建從時鐘,并設(shè)置它的狀態(tài)為ΡΤΡ_從時鐘;否則,根據(jù)狀態(tài)決斷代碼Ρ2,根據(jù)Ebest的屬性來構(gòu)建主時鐘,改變它的狀態(tài)為ΡΤΡ_主時鐘。
[0016]其中,關(guān)于時鐘調(diào)整模塊,主時鐘被選擇出來后,就開始調(diào)用同步報文發(fā)送函數(shù),構(gòu)造同步報文并對報文初始化,記錄發(fā)送出去的時間戳,再調(diào)用Udp報文發(fā)送函數(shù)將報文打包并加入發(fā)送緩沖區(qū)進行發(fā)送;調(diào)用跟隨報文發(fā)送函數(shù),構(gòu)造跟隨報文并對報文初始化,記錄發(fā)送出去的時間戳,然后調(diào)用Udp報文發(fā)送函數(shù)將報文打包并加入發(fā)送緩沖區(qū)進行發(fā)送;從時鐘UdP報文接收函數(shù)設(shè)置接收緩沖區(qū)分別先后接收了同步報文和跟隨報文,記錄下接收的時間打上時間戳,再調(diào)用函數(shù)PTP報文接收處理函數(shù)判斷接收的是哪種報文,如果是同步報文,則調(diào)用函數(shù)PTP報文同步函數(shù),然后對報文解包,取出報文從主時鐘發(fā)送過來的時間;如果是跟隨報文,則調(diào)用函數(shù)PTP跟隨報文接收函數(shù)對報文解包,取出報文從主時鐘發(fā)送過來的時間;在這個函數(shù)最后,調(diào)用了 PTP發(fā)送延時請求函數(shù),它構(gòu)造延遲請求報文并對報文初始化,記錄發(fā)送出去的時間戳,然后調(diào)用udp報文發(fā)送函數(shù)將報文打包并加入發(fā)送緩沖區(qū)進行發(fā)送;而主時鐘的緩沖區(qū)一旦有報文,則主時鐘立即調(diào)用udp報文接收函數(shù)記錄下接收的時間打上時間戳,再調(diào)用函數(shù)PTP接收處理判斷接收的是哪種報文,如果是延遲請求報文,則函數(shù)PTP報文接收延時請求立即調(diào)用PTP報文發(fā)送請求,從時鐘根據(jù)收到的4個報文收發(fā)時間,計算出主從偏差,對自己的時間進行校正。
[0017]本發(fā)明的有益效果在于:
本發(fā)明在主時鐘通信設(shè)備嵌入gps接收裝置接收用于同步的主時鐘,在主通信設(shè)備和從通信設(shè)備上嵌入加蓋擁有時鐘同步協(xié)議時間戳的裝置,在主通信設(shè)備和從通信設(shè)備上運行的時鐘同步軟件裝置。在一定時間間隔內(nèi)所有通信設(shè)備時鐘會同步,誤差在納秒級。
[0018]本發(fā)明將gps接收裝置、加蓋擁有時鐘同步協(xié)議時間戳的裝置集成在通信設(shè)備中,通過軟件控制,達到每個通信設(shè)備在同一時刻時鐘同步精確到納秒級別,以滿足通信設(shè)備在對系統(tǒng)時鐘精度要求比較高的情況下正常運行。
[0019]本發(fā)明gps接收設(shè)備和加蓋擁有時鐘同步協(xié)議時間戳的裝置尺寸小,節(jié)省空間,并且方便連接和嵌入到其它通信設(shè)備;并降低成本。
【專利附圖】
【附圖說明】
[0020]圖1是本發(fā)明實施例的系統(tǒng)連接示意圖。
[0021]圖2是本發(fā)明實施例的支持PTP協(xié)議的嵌入式接口板硬件框圖。
[0022]圖3是本發(fā)明實施例的主從系統(tǒng)時鐘關(guān)系圖。
[0023]圖4是本發(fā)明實施例的嵌入到通信設(shè)備的時鐘模塊圖。
[0024]圖5是本發(fā)明實施例的主時鐘處理裝置示意圖。
[0025]圖6是本發(fā)明實施例的主從時鐘處理裝置連接示意圖。
[0026]圖7是本發(fā)明實施例的PTP時間同步示意圖。
[0027]圖8是本發(fā)明實施例的系統(tǒng)體系結(jié)構(gòu)示意圖。
[0028]圖9是本發(fā)明實施例的最佳主時鐘選擇模塊示意圖。
[0029]圖10是本發(fā)明實施例的整個程序流程圖。
[0030]圖11是本發(fā)明實施例的測試結(jié)果
【具體實施方式】
[0031]以下結(jié)合附圖對本發(fā)明實施例進行詳細描述,以使本發(fā)明的目的、技術(shù)方案及效果更加清楚,明確。此處所描述的具體實施例僅用于解釋本發(fā)明,并不用于限定本發(fā)明。本系統(tǒng)包含硬件部分和軟件兩大部分,下面分別對這兩大部分進行說明。
[0032]第一硬件部分
如圖1所示,一種具有PTP(Precis1n Time Protocol)精確對時、支持B碼輸出的以太網(wǎng)通信系統(tǒng),包括主通信設(shè)備和從通信設(shè)備,其中,主通信設(shè)備嵌入有g(shù)ps接收模塊以接收用于同步的主時鐘,并且,在主通信設(shè)備和從通信設(shè)備上嵌入加蓋擁有時鐘同步協(xié)議時間戳的協(xié)議模塊,在主通信設(shè)備和從通信設(shè)備上運行時鐘同步協(xié)議。
[0033]支持PTP協(xié)議嵌入式接口板設(shè)計根據(jù)PTP協(xié)議框架,支持PTP協(xié)議的嵌入式接口板硬件框圖如圖2所示。其包括:系統(tǒng)總線連接的FLASH、SDRAM、CPU處理器,時間處理芯片,網(wǎng)絡(luò)接口 ;所述時間處理芯片與CPU處理器之間通過MII總線連接。
[0034]時鐘處理芯片
高精度PHYTER收發(fā)器芯片內(nèi)置高精度PTP時鐘,并設(shè)有由硬件執(zhí)行的時間標記功能,可為接收及發(fā)送的信息包印上時間標記。時鐘處理芯片最大的特色在于將高精度時間協(xié)議(PTP)功能設(shè)于芯片的物理層之內(nèi),因此可以在最靠近網(wǎng)線的位置記錄時間標記,而且分辨度達8 ns,不但可為系統(tǒng)提供最準確的高精度控制功能,也確保采集回來的數(shù)據(jù)出現(xiàn)最少的抖動。時鐘處理芯片預載4個時鐘更新算法,用戶可以利用任何一個算法調(diào)節(jié)電路板上的PTP時鐘,而且偏差率保證不超過10億分之一(即Ippb [8]的準確度)。時鐘處理芯片也可與部分符合PTP協(xié)議規(guī)定的處理器搭配一起使用,為測試及測量儀表等設(shè)備提供更準確的時鐘同步功能。其系統(tǒng)連接后時鐘關(guān)系圖如圖3所示。
[0035]具體電路設(shè)計
系統(tǒng)實際設(shè)計電路主要包含如下部分:核心處理器(CPU),其具有低功耗高效率的特點。存儲電路,其中包含了 SDRAM和ROM兩部分的電路設(shè)計;網(wǎng)絡(luò)接口電路,其中使用時鐘處理芯片通過RMII接口總線與CPU處理器相連,把PTP報文的時間戳信息和當前時鐘讀數(shù)發(fā)送給CPU處理器,同時接收來自CPU處理器的時鐘調(diào)整值來調(diào)整本地時鐘。時鐘處理芯片通過RMII總線來獲取以太網(wǎng)報文比特流而不是直接從物理層獲取,從而實現(xiàn)10 Mb/s和100 Mb/s兩種速率的自適應(yīng)處理。
[0036]其中一臺主站的通信設(shè)備通過GPS主鐘授時,接收到的PTP報文經(jīng)通信設(shè)備打上時間戳后通過網(wǎng)橋和以太網(wǎng)絡(luò)傳輸?shù)礁鞣终镜耐ㄐ旁O(shè)備,每臺通信設(shè)備再把接收到的PTP報文轉(zhuǎn)換為B碼格式輸出到各站點的智能終端上。
[0037]如圖4所示,嵌入到通信設(shè)備的時鐘模塊裝置說明,時鐘模塊使用時鐘處理物理層芯片,在其上獲得報文時間戳信息,避免了系統(tǒng)軟件上獲取的時間戳信息的不確定性,可將同步精度達到納秒量級。
[0038]時鐘模塊裝置具有四種工作模式,分別為:PTP主時鐘模式、PTP從時鐘模式、NTP時間服務(wù)器模式、直流B碼模式。作為PTP主時鐘,其可接入直流B碼,GPS,BD,外接秒脈沖四種外接時間源。
[0039]本發(fā)明通信設(shè)備支持完善的二層協(xié)議,具有環(huán)網(wǎng)保護機制,主要面向大中型工業(yè)網(wǎng)絡(luò)的匯聚層進行高速交換應(yīng)用,并可用于構(gòu)筑千兆或百兆主干冗余環(huán)網(wǎng)。其提供3個8端口的快速以太網(wǎng)接口模塊插槽和4個百/千兆以太網(wǎng)光電復用端口,用于千兆上聯(lián)或構(gòu)筑千兆主干環(huán)網(wǎng),具有靈活的端口配置和良好的擴展性能。模塊化的設(shè)計使得通信設(shè)備在應(yīng)用中變得更加靈活,同時模塊化的設(shè)計也為網(wǎng)絡(luò)今后的擴展提供了一個良好的平臺。
[0040]實現(xiàn)方案,對圖5所示系統(tǒng),可將系統(tǒng)核心分為三部分設(shè)備來實現(xiàn)。
[0041]PTP 主時鐘:
如主站I中所示接收衛(wèi)星設(shè)備。其接收GPS或其他授時信號,獲得標準時間與秒脈沖。
[0042]PTP邊界時鐘:
如從站I中所示通信設(shè)備,根據(jù)需求,其只需要一個PTP輸入接口與一個PTP輸出接口,并帶有直流B碼輸出接口。
[0043]PTP 從鐘:
如從站2中所示通信設(shè)備,根據(jù)需求,其接收主時鐘同步報文,具有一個PTP輸入接口,并帶有直流B碼輸出接口。
[0044]PTP主時鐘,使用一塊時鐘處理裝置,編號為Α,令其工作為PTP主時鐘模式。需外接GPS模塊。
[0045]根據(jù)系統(tǒng)需求,需要兩塊時鐘處理裝置。編號分別為B,C。B模塊工作在PTP從時鐘模式,其與邊界時鐘相連進行網(wǎng)絡(luò)報文交換,并同步于邊界時鐘,C模塊工作在直流B碼模式,其通過邊界時鐘接口與B模塊相連。如圖6所示。
[0046]第二軟件部分
I精密時間協(xié)議實現(xiàn)原理精密時間協(xié)議PTP(Precis1n Time Protocol)是為了克服以太網(wǎng)實時性不足而規(guī)定的一種對時機制。精密時間協(xié)議可以估算出數(shù)據(jù)包在網(wǎng)絡(luò)上的往返延遲,并可獨立地估算設(shè)備時鐘偏差。網(wǎng)絡(luò)時間協(xié)議的工作原理說明如下[5-7]: (I)現(xiàn)場設(shè)備A發(fā)送一個PTP包給現(xiàn)場設(shè)備B,并記錄下數(shù)據(jù)包離開A的時間,該時間戳為tl。
(2)當此PTP包到達現(xiàn)場設(shè)備B時,現(xiàn)場設(shè)備B加上自己接收到該數(shù)據(jù)包的時間戳,該時間戳為TSl。(3)現(xiàn)場設(shè)備A發(fā)送一個Follow Up消息給現(xiàn)場設(shè)備B,通知B時間tl。(4)當此PTP包離開現(xiàn)場設(shè)備B時,并記錄下數(shù)據(jù)包離開B的時間t2。(5)當現(xiàn)場設(shè)備A接收到該響應(yīng)包時,加上一個新的時間戳,該時間戳為Tm2,整個同步過程如圖7所示。
[0047](6)現(xiàn)場設(shè)備A再發(fā)送Follow Up消息給現(xiàn)場設(shè)備B,通知B時間Tm2。至此,現(xiàn)場設(shè)備B己擁有足夠的信息來計算2個重要的參數(shù):一是PTP數(shù)據(jù)包來回一個周期的時延,二是現(xiàn)場設(shè)備A和現(xiàn)場設(shè)備B的時鐘差。于是現(xiàn)場設(shè)備B能夠設(shè)定自己的時鐘與現(xiàn)場設(shè)備A同步。可以根據(jù)下面公式算出現(xiàn)場設(shè)備A與現(xiàn)場設(shè)備B之間的時間差和延時:時間差:dt= [ - (T m2-t 2) ] /2
延時:Delay=[(T ,^t1)+ (T m2_t 2)]/2
2系統(tǒng)軟件設(shè)計系統(tǒng)軟件結(jié)構(gòu)如圖8所示。
[0048]2.1 PTP協(xié)議狀態(tài)機模塊PTP協(xié)議狀態(tài)機主要負責管理設(shè)備上電時的初始化狀態(tài)、出現(xiàn)異常情況下的故障狀態(tài)、通常情況下的偵聽狀態(tài)、主時鐘狀態(tài)、從時鐘狀態(tài)和未校準狀態(tài),以及各狀態(tài)之間的轉(zhuǎn)化。2.2最佳主時鐘選擇模塊最佳主時鐘算法模塊主要用于選擇本地網(wǎng)絡(luò)中的最佳時鐘作為主時鐘,同時決定本地時鐘應(yīng)處的狀態(tài)。實現(xiàn)最佳主時鐘的方法包括兩個步驟:(1)從本地時鐘系統(tǒng)通信端口中選出一個質(zhì)量最好的同步報文;(2)根據(jù)上述結(jié)果,比較此時的主時鐘和本地時鐘屬性,決定本地設(shè)備PTP協(xié)議引擎所處的狀態(tài)。步驟(I)采用數(shù)據(jù)集比較算法模塊來實現(xiàn),步驟(2)采用狀態(tài)決斷算法模塊來實現(xiàn)。該模塊定義了狀態(tài)決定算法函數(shù)來進行狀態(tài)的決斷和數(shù)據(jù)集的更新。在缺省數(shù)據(jù)集的層數(shù)是I或2的前提下,調(diào)用數(shù)據(jù)集對照算法模塊來判定本地時鐘缺省數(shù)據(jù)集DO和較好時鐘Erbest的數(shù)據(jù)集哪個更好。通過比較,如果是缺省數(shù)據(jù)集DO更好,則根據(jù)狀態(tài)決斷代碼Ml,調(diào)用函數(shù)構(gòu)建主時鐘函數(shù)根據(jù)缺省數(shù)據(jù)集DO的屬性值來構(gòu)建主時鐘,并且將DO狀態(tài)更改為PTP主時鐘,這代表DO是目前最好的主時鐘;否則,調(diào)用構(gòu)建從時鐘函數(shù),根據(jù)Erbest的屬性來構(gòu)建從時鐘,Erbest的狀態(tài)則是PTP_SLAVE。在主時鐘的層數(shù)大于2的情況下,調(diào)用數(shù)據(jù)集對照算法模塊,以對本地時鐘缺省數(shù)據(jù)集DO和最好時鐘Ebest進行判定。通過比較,如果是缺省數(shù)據(jù)集DO更好,則調(diào)用構(gòu)建主時鐘函數(shù),根據(jù)狀態(tài)決斷代碼M2,根據(jù)缺省數(shù)據(jù)集DO的屬性值來構(gòu)建主時鐘,并且更改DO狀態(tài)為PTP_主時鐘;否則,將調(diào)用數(shù)據(jù)集對照算法模塊將Ebest與Erbest進行比較,如果比較結(jié)果相同,根據(jù)狀態(tài)決斷代碼SI,根據(jù)Ebest的屬性來構(gòu)建從時鐘,更改Ebest狀態(tài)成ΡΤΡ_從時鐘。如果經(jīng)過比較Ebest有更好的屬性值,則根據(jù)狀態(tài)決斷代碼M3,根據(jù)Erbest的屬性來構(gòu)建從時鐘,并設(shè)置它的狀態(tài)為ΡΤΡ_從時鐘;否則,根據(jù)狀態(tài)決斷代碼P2,根據(jù)Ebest的屬性來構(gòu)建主時鐘,改變它的狀態(tài)為PTP_主時鐘。最佳主時鐘選擇模塊示意圖如圖9所示。
[0049]2.3時鐘調(diào)整模塊本地時鐘同步算法是PTP協(xié)議中十分關(guān)鍵的部分,主要用來調(diào)整本地時間,與主時鐘的基準時間保持一致性。主時鐘被選擇出來后,就開始調(diào)用同步報文發(fā)送函數(shù),構(gòu)造同步報文并對報文初始化,記錄發(fā)送出去的時間戳,再調(diào)用udp報文發(fā)送函數(shù)將報文打包并加入發(fā)送緩沖區(qū)進行發(fā)送。調(diào)用跟隨報文發(fā)送函數(shù),構(gòu)造跟隨報文并對報文初始化,記錄發(fā)送出去的時間戳,然后調(diào)用Udp報文發(fā)送函數(shù)將報文打包并加入發(fā)送緩沖區(qū)進行發(fā)送。從時鐘Udp報文接收函數(shù)設(shè)置接收緩沖區(qū)分別先后接收了同步報文和跟隨報文,記錄下接收的時間打上時間戳,再調(diào)用函數(shù)PTP報文接收處理函數(shù)判斷接收的是哪種報文,如果是同步報文,則調(diào)用函數(shù)PTP報文同步函數(shù),然后對報文解包,取出報文從主時鐘發(fā)送過來的時間。如果是跟隨報文,則調(diào)用函數(shù)PTP跟隨報文接收函數(shù)對報文解包,取出報文從主時鐘發(fā)送過來的時間。在這個函數(shù)最后,調(diào)用了 PTP發(fā)送延時請求函數(shù),它構(gòu)造延遲請求報文并對報文初始化,記錄發(fā)送出去的時間戳,然后調(diào)用udp報文發(fā)送函數(shù)將報文打包并加入發(fā)送緩沖區(qū)進行發(fā)送;而主時鐘的緩沖區(qū)一旦有報文,則主時鐘立即調(diào)用udp報文接收函數(shù)記錄下接收的時間打上時間戳,再調(diào)用函數(shù)PTP接收處理判斷接收的是哪種報文,如果是延遲請求報文,則函數(shù)PTP報文接收延時請求立即調(diào)用PTP報文發(fā)送請求,從時鐘根據(jù)收到的4個報文收發(fā)時間,計算出主從偏差,對自己的時間進行校正。整個程序流程如圖10所示。
[0050]3系統(tǒng)測試結(jié)果與結(jié)論系統(tǒng)測試將兩片時鐘處理芯片連接到I Hz信號輸出,利用時鐘處理芯片捕獲上升沿時間戳實現(xiàn),在系統(tǒng)中,利用MII總線讀取時鐘處理芯片時間戳寄存器,數(shù)據(jù)結(jié)果如圖11所示。
[0051]實驗結(jié)果,表明利用時鐘處理芯片達到了 10 ns級別的同步精度,完成了系統(tǒng)的設(shè)計目標。本發(fā)明系統(tǒng)提供的時間同步在理想條件下(網(wǎng)絡(luò)完全對稱),能夠達到極高的同步精度,為通信系統(tǒng)同步建設(shè)提供了更完美的解決方案。
【權(quán)利要求】
1.一種通信網(wǎng)絡(luò)時間精確同步系統(tǒng),該系統(tǒng)包括一個包含主時鐘同步裝置的主時鐘通信設(shè)備、一個或多個包含從時鐘同步裝置的從時鐘通信設(shè)備;其特征在于,所述主時鐘通信設(shè)備用于接收gps時鐘和向從通信設(shè)備同步時鐘,其包括電源模塊、中央處理模塊、存儲模塊、gps接收模塊裝置、加蓋擁有時鐘同步協(xié)議時間戳的模塊;所述從時鐘通信設(shè)備用于時間同步,其包括電源模塊、中央處理模塊、存儲模塊、加蓋擁有時鐘同步協(xié)議時間戳的模塊。
2.根據(jù)權(quán)利要求1所述的通信網(wǎng)絡(luò)時間精確同步系統(tǒng),其特征在于,所述主時鐘通信設(shè)備從gps系統(tǒng)獲取標準時鐘。
3.根據(jù)權(quán)利要求1所述的通信網(wǎng)絡(luò)時間精確同步系統(tǒng),其特征在于,所述中央處理模塊運行由加蓋擁有時鐘同步協(xié)議時間戳的模塊生成的時鐘報文。
4.根據(jù)權(quán)利要求1所述的通信網(wǎng)絡(luò)時間精確同步系統(tǒng),其特征在于,所述的加蓋擁有時鐘同步協(xié)議時間戳的模塊在mac層產(chǎn)生用于時鐘同步協(xié)議所使用的報文。
5.根據(jù)權(quán)利要求1所述的通信網(wǎng)絡(luò)時間精確同步系統(tǒng),其特征在于,所述通信設(shè)備有用于gps裝置和加蓋擁有時鐘同步協(xié)議時間戳的裝置的接口,可以方便實現(xiàn)從通信設(shè)備上進行拔插。
6.根據(jù)權(quán)利要求1所述的通信網(wǎng)絡(luò)時間精確同步系統(tǒng),其特征在于,所述從時鐘通信設(shè)備接收主時鐘通信設(shè)備的同步時鐘。
7.根據(jù)權(quán)利要求1所述的通信網(wǎng)絡(luò)時間精確同步系統(tǒng),其特征在于,所述通信設(shè)備可以是交換機、或路由器。
8.根據(jù)權(quán)利要求1所述的通信網(wǎng)絡(luò)時間精確同步系統(tǒng),其特征在于,所述主時鐘同步裝置由cpu、時鐘同步芯片、flash、SDRAM、網(wǎng)絡(luò)接口組成,主時鐘同步裝置由cpu控制時鐘同步芯片,其用來接收和發(fā)送PTP時鐘同步協(xié)議報文。
9.一種應(yīng)用于權(quán)利要求1-8中任一所述的通信網(wǎng)絡(luò)時間精確同步系統(tǒng)的交換機,所述交換機適用于組建千兆或百兆主干冗余環(huán)網(wǎng)。
10.根據(jù)權(quán)利要求9所述的交換機,其特征在于,其具有3個8端口的快速以太網(wǎng)接口模塊插槽和4個百/千兆以太網(wǎng)光電復用端口。
11.一種應(yīng)用于權(quán)利要求1-8中任一所述的通信網(wǎng)絡(luò)時間精確同步系統(tǒng)的嵌入式接口板,包括核心處理器即CPU、存儲電路、網(wǎng)絡(luò)接口電路、時鐘處理芯片,其中時鐘處理芯片通過RMII接口總線與CPU處理器相連,把PTP報文的時間戳信息和當前時鐘讀數(shù)發(fā)送給CPU處理器,同時接收來自CPU處理器的時鐘調(diào)整值來調(diào)整本地時鐘。
12.—種應(yīng)用于權(quán)利要求1-8中任一所述的通信網(wǎng)絡(luò)時間精確同步系統(tǒng)的通信網(wǎng)絡(luò)時間精確同步方法,包括如下步驟: (I)現(xiàn)場設(shè)備A發(fā)送一個PTP包給現(xiàn)場設(shè)備B,并記錄下數(shù)據(jù)包離開A的時間,該時間戳為tl; (2)當此PTP包到達現(xiàn)場設(shè)備B時,現(xiàn)場設(shè)備B加上自己接收到該數(shù)據(jù)包的時間戳,該時間戳為TSl ; (3)現(xiàn)場設(shè)備A發(fā)送一個Follow Up消息給現(xiàn)場設(shè)備B,通知B時間tl; (4)當此PTP包離開現(xiàn)場設(shè)備B時,并記錄下數(shù)據(jù)包離開B的時間t2 ; (5)當現(xiàn)場設(shè)備A接收到該響應(yīng)包時,加上一個新的時間戳,該時間戳為Tm2 ; (6)現(xiàn)場設(shè)備A再發(fā)送FollowUp消息給現(xiàn)場設(shè)備B,通知B時間Tm2 ;至此,現(xiàn)場設(shè)備B己擁有足夠的信息來計算2個重要的參數(shù):一是PTP數(shù)據(jù)包來回一個周期的時延,二是現(xiàn)場設(shè)備A和現(xiàn)場設(shè)備B的時鐘差,由此現(xiàn)場設(shè)備B能夠設(shè)定自己的時鐘與現(xiàn)場設(shè)備A同步。
13.根據(jù)權(quán)利要求12所述的通信網(wǎng)絡(luò)時間精確同步方法,其特征在于: 實現(xiàn)最佳主時鐘的方法包括如下兩個步驟:(I)從本地時鐘系統(tǒng)通信端口中選出一個質(zhì)量最好的同步報文;(2)根據(jù)上述結(jié)果,比較此時的主時鐘和本地時鐘屬性,決定本地設(shè)備PTP協(xié)議引擎所處的狀態(tài);其中, 步驟(I)采用數(shù)據(jù)集比較算法模塊來實現(xiàn),步驟(2)采用狀態(tài)決斷算法模塊來實現(xiàn);所述模塊定義了狀態(tài)決定算法函數(shù)來進行狀態(tài)的決斷和數(shù)據(jù)集的更新,在缺省數(shù)據(jù)集的層數(shù)是I或2的前提下,調(diào)用數(shù)據(jù)集對照算法模塊來判定本地時鐘缺省數(shù)據(jù)集DO和較好時鐘Erbest的數(shù)據(jù)集哪個更好;通過比較,如果是缺省數(shù)據(jù)集DO更好,則根據(jù)狀態(tài)決斷代碼M1,調(diào)用函數(shù)構(gòu)建主時鐘函數(shù)根據(jù)缺省數(shù)據(jù)集DO的屬性值來構(gòu)建主時鐘,并且將DO狀態(tài)更改為PTP主時鐘,這代表DO是目前最好的主時鐘;否則,調(diào)用構(gòu)建從時鐘函數(shù),根據(jù)Erbest的屬性來構(gòu)建從時鐘,Erbest的狀態(tài)則是PTP_SLAVE ;在主時鐘的層數(shù)大于2的情況下,調(diào)用數(shù)據(jù)集對照算法模塊,以對本地時鐘缺省數(shù)據(jù)集DO和最好時鐘Ebest進行判定;通過比較,如果是缺省數(shù)據(jù)集DO更好,則調(diào)用構(gòu)建主時鐘函數(shù),根據(jù)狀態(tài)決斷代碼M2,根據(jù)缺省數(shù)據(jù)集DO的屬性值來構(gòu)建主時鐘,并且更改DO狀態(tài)為PTP_主時鐘;否則,將調(diào)用數(shù)據(jù)集對照算法模塊將Ebest與Erbest進行比較,如果比較結(jié)果相同,根據(jù)狀態(tài)決斷代碼SI,根據(jù)Ebest的屬性來構(gòu)建從時鐘,更改Ebest狀態(tài)成ΡΤΡ_從時鐘;如果經(jīng)過比較Ebest有更好的屬性值,則根據(jù)狀態(tài)決斷代碼M3,根據(jù)Erbest的屬性來構(gòu)建從時鐘,并設(shè)置它的狀態(tài)為ΡΤΡ_從時鐘;否則,根據(jù)狀態(tài)決斷代碼Ρ2,根據(jù)Ebest的屬性來構(gòu)建主時鐘,改變它的狀態(tài)為ΡΤΡ_主時鐘。
14.根據(jù)權(quán)利要求13所述的通信網(wǎng)絡(luò)時間精確同步方法,其特征在于: 關(guān)于時鐘調(diào)整模塊,主時鐘被選擇出來后,就開始調(diào)用同步報文發(fā)送函數(shù),構(gòu)造同步報文并對報文初始化,記錄發(fā)送出去的時間戳,再調(diào)用udp報文發(fā)送函數(shù)將報文打包并加入發(fā)送緩沖區(qū)進行發(fā)送;調(diào)用跟隨報文發(fā)送函數(shù),構(gòu)造跟隨報文并對報文初始化,記錄發(fā)送出去的時間戳,然后調(diào)用udp報文發(fā)送函數(shù)將報文打包并加入發(fā)送緩沖區(qū)進行發(fā)送; 從時鐘udp報文接收函數(shù)設(shè)置接收緩沖區(qū)分別先后接收了同步報文和跟隨報文,記錄下接收的時間打上時間戳,再調(diào)用函數(shù)PTP報文接收處理函數(shù)判斷接收的是哪種報文,如果是同步報文,則調(diào)用函數(shù)PTP報文同步函數(shù),然后對報文解包,取出報文從主時鐘發(fā)送過來的時間;如果是跟隨報文,則調(diào)用函數(shù)PTP跟隨報文接收函數(shù)對報文解包,取出報文從主時鐘發(fā)送過來的時間;在這個函數(shù)最后,調(diào)用了 PTP發(fā)送延時請求函數(shù),它構(gòu)造延遲請求報文并對報文初始化,記錄發(fā)送出去的時間戳,然后調(diào)用udp報文發(fā)送函數(shù)將報文打包并加入發(fā)送緩沖區(qū)進行發(fā)送;而主時鐘的緩沖區(qū)一旦有報文,則主時鐘立即調(diào)用udp報文接收函數(shù)記錄下接收的時間打上時間戳,再調(diào)用函數(shù)PTP接收處理判斷接收的是哪種報文,如果是延遲請求報文,則函數(shù)PTP報文接收延時請求立即調(diào)用PTP報文發(fā)送請求,從時鐘根據(jù)收到的4個報文收發(fā)時間,計算出主從偏差,對自己的時間進行校正。
【文檔編號】H04L7/00GK104378193SQ201310357333
【公開日】2015年2月25日 申請日期:2013年8月16日 優(yōu)先權(quán)日:2013年8月16日
【發(fā)明者】劉向華, 楊國文 申請人:北京卓越信通電子股份有限公司