一種跨非1588網(wǎng)絡(luò)傳輸精密時鐘報文的方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開了一種跨非1588網(wǎng)絡(luò)傳輸精密時鐘報文的方法及系統(tǒng),解決現(xiàn)有主、從交換機穿越非基于1588協(xié)議的交換機進行時鐘同步精度不高的問題,該方法從時鐘接收主時鐘發(fā)送多個含有每個第一發(fā)送時間信息的Sync報文,確定每個第一接收時間信息,向主時鐘發(fā)送多個含有每個第二發(fā)送時間信息的Delay-Req報文,接收主時鐘返回的對應(yīng)的多個含有每個第二接收時間信息的Delay-Resp報文,根據(jù)上述接收時間和發(fā)送時間,確定鏈路延時并進行時鐘同步。本發(fā)明實施例中每個時鐘同步報文發(fā)送多個,多個時鐘同步報文在交換機的出端口總會存在不受存儲/轉(zhuǎn)發(fā)機制的報文,從而可以有效的降低時延的抖動,提高時鐘同步的精度。
【專利說明】一種跨非1588網(wǎng)絡(luò)傳輸精密時鐘報文的方法及系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及工業(yè)以太網(wǎng)【技術(shù)領(lǐng)域】,尤其涉及一種跨非1588網(wǎng)絡(luò)傳輸精密時鐘報文的方法及系統(tǒng)。
【背景技術(shù)】
[0002]隨著工業(yè)技術(shù)的不斷發(fā)展,對時鐘同步的要求也越來越高,尤其是在分布式控制系統(tǒng)中,對時鐘同步已經(jīng)提出了微妙級的要求。在IEEE1588標(biāo)準(zhǔn)中定義了在工業(yè)自動化系統(tǒng)中的精確同步時鐘協(xié)議(Precision Time Protocol, PTP),該協(xié)議使用時間戳來同步時鐘。采用該協(xié)議在進行時鐘同步時,在網(wǎng)絡(luò)通信的過程中,同步控制信號可能會有一定的波動,但該方法達到的精度可以使該協(xié)議適用于以太網(wǎng)系統(tǒng)中。通過采用該協(xié)議以太網(wǎng)、TCP/IP協(xié)議以及基于以太網(wǎng)的各種現(xiàn)場總線不需要大的改動,就可以運行高精度的時鐘同步機制?;赑TP協(xié)議的系統(tǒng)即PTP系統(tǒng)由一個或多個PTP子域系統(tǒng)組成,每個子域系統(tǒng)都包括一個或多個相互通信的時鐘。一個簡單的PTP子域系統(tǒng)包括一個主時鐘和多個從時鐘,當(dāng)存在多個主時鐘時,可以通過選舉的方式?jīng)Q定出一個主時鐘。
[0003]圖1為基于ΙΕΕΕ1588協(xié)議的交換機主、從時鐘進行同步的示意圖,在該圖中,主時鐘可以對從時鐘進行授時,從而可以使主時鐘和從時鐘保持精確的同步。
[0004]圖2為主、從時鐘穿越非基于ΙΕΕΕ1588協(xié)議的交換機(非1588協(xié)議的交換機)進行時鐘同步的結(jié)構(gòu)示意圖,在現(xiàn)有技術(shù)中基于ΙΕΕΕ1588協(xié)議的交換機非常的少,而對于非基于ΙΕΕΕ1588協(xié)議的交換機其基于隊列和存儲/轉(zhuǎn)發(fā)機制進行工作,因此隊列中一個最長的數(shù)據(jù)包可能給后續(xù)數(shù)據(jù)包帶來122us的延遲,而在大負(fù)載情況下,隊列中的數(shù)據(jù)包是隨機的,可能包括不止一個長數(shù)據(jù)包。同時,基于PTP協(xié)議進行時鐘同步的精度取決于雙向完全對稱的延遲,但在大負(fù)載的情況下,在隊列中數(shù)據(jù)包是隨機的,并且隨著網(wǎng)絡(luò)流量的增力口,時鐘同步報文排隊的幾率也越來越大,完全對稱幾乎是不可能的。
[0005]即使采用數(shù)據(jù)包優(yōu)先的原則,即基于IEEE802.D/p也不能解決上述問題,這是因為,在接收到時鐘同步報文時,可能當(dāng)前至少有一個數(shù)據(jù)包正在發(fā)送,而且也很可能是個最長數(shù)據(jù)包,此時將會帶來122us的傳輸時間抖動。而實際上采用優(yōu)先級調(diào)度機制后,在同步報文之前的可能會有2到8個數(shù)據(jù)包,這意味著在大負(fù)載情況下延遲時間的抖動將會在360us到Ims之間。因此,在主從時鐘穿越非基于ΙΕΕΕ1588協(xié)議的交換機在進行時鐘同步時,基本無法保證Ius的對時精度。
【發(fā)明內(nèi)容】
[0006]本發(fā)明實施例提供一種跨非1588網(wǎng)絡(luò)傳輸精密時鐘報文的方法及系統(tǒng),用以解決現(xiàn)有技術(shù)主、從交換機穿越非基于ΙΕΕΕ1588協(xié)議的交換機進行時鐘同步時,因為隊列和存儲/轉(zhuǎn)發(fā)機制導(dǎo)致的對時精度不高的問題。
[0007]本發(fā)明實施例提供了一種跨非1588網(wǎng)絡(luò)傳輸精密時鐘報文的方法,所述方法包括:[0008]A、在每個時鐘同步周期內(nèi),主時鐘按照設(shè)定的時間間隔向從時鐘發(fā)送多個Sync報文S1、S2、……、SN,其中每個Sync報文中含有Sync報文的發(fā)送時間信息T11、T12、……、T1N,N為大于I的整數(shù);
[0009]B、從時鐘接收主時鐘發(fā)送的每個Sync報文,記錄接收每個Sync報文的接收時間信息T21、T22、……、T2N,從時鐘在接收到主時鐘發(fā)送的第一個Sync報文SI時,按照設(shè)定的時間間隔向主時鐘發(fā)送對應(yīng)的多個DeIay-Req報文S1、S2、……、SN,其中每個DeIay-Req報文中包含該Delay-Req報文的發(fā)送時間信息T31、T32、……、T3N ;
[0010]C、主時鐘針對接收到的每個Delay-Req報文,記錄接收到每個Delay-Req報文的接收時間信息T41、T42、……、T4N,并向按照設(shè)定的時間間隔向從時鐘發(fā)送多個Delay-Resp
報文S1、S2、......、SN,其中每個Delay-Resp報文中包含Delay-Resp報文的發(fā)送時間信息
T51、T52、......、T5N ;
[0011]D、從時鐘接收主時鐘發(fā)送的每個Delay-Resp報文,記錄接收每個Delay-Resp報文的接收時間信息T61、T62、……、T6N;
[0012]E、從時鐘根據(jù)每 個發(fā)送時間信息Til、T12、......、TlN和對應(yīng)的每個接收時間信
息T21、T22、……、T2N,確定主時鐘到從時鐘的第一延時,以及根據(jù)每個發(fā)送時間信息T31、T32、……、T3N和對應(yīng)的每個接收時間信息T41、T42、……、T4N,確定從時鐘到主時鐘的第二延時,根據(jù)所述第一延時和第二延時,確定鏈路延時并進行時間同步;
[0013]F、從時鐘根據(jù)每個發(fā)送時間T11、T12、……、T1N和對應(yīng)的每個接收時間信息T21、T22、……、T2N,確定主時鐘到從時鐘的第一頻率補償值,以及根據(jù)每個發(fā)送時間信息T51、T52、……、T5N和對應(yīng)的每個接收時間信息T61、T62、……、T6N,確定主時鐘到從時鐘的第二頻率補償值,根據(jù)所述第一頻率補償值和第二頻率補償值,確定主時鐘與從時鐘的頻率補償值并進行頻率同步。
[0014]本發(fā)明實施例提供了一種跨非1588網(wǎng)絡(luò)傳輸精密時鐘報文的系統(tǒng),所述系統(tǒng)包括:
[0015]主時鐘,用于在每個時鐘同步周期內(nèi),按照設(shè)定的時間間隔向從時鐘發(fā)送多個Sync報文S1、S2、……、SN,其中每個Sync報文中含有Sync報文的發(fā)送時間信息T11、
T12、......、T1N ;針對接收到的每個Delay-Req報文,記錄接收到每個Delay-Req報文的接
收時間信息T41、T42、……、T4N,并向按照設(shè)定的時間間隔向從時鐘發(fā)送多個Delay-Resp
報文S1、S2、......、SN,其中每個Delay-Resp報文中包含Delay-Resp報文的發(fā)送時間信息
T51、T52、……、T5N,N為大于I的整數(shù);
[0016]從時鐘,用于接收主時鐘發(fā)送的每個Sync報文,記錄接收每個Sync報文的接收時間信息T21、T22、……、T2N,從時鐘在接收到主時鐘發(fā)送的第一個Sync報文SI時,按照設(shè)定的時間間隔向主時鐘發(fā)送對應(yīng)的多個De I ay-Req報文S1、S2、……、SN,其中每個De I ay-Req報文中包含該Delay-Req報文的發(fā)送時間信息T31、T32、……、T3N ;接收主時鐘發(fā)送的每
個Delay-Resp報文,記錄接收每個Delay-Resp報文的接收時間信息T61、T62、......、T6N ;
根據(jù)每個發(fā)送時間信息Til、T12、……、T1N和對應(yīng)的每個接收時間信息T21、T22、……、T2N,確定主時鐘到從時鐘的第一延時,以及根據(jù)每個發(fā)送時間信息T31、T32、……、T3N和對應(yīng)的每個接收時間信息T41、T42、……、T4N,確定從時鐘到主時鐘的第二延時,根據(jù)所述第一延時和第二延時,確定鏈路延時并進行時間同步;根據(jù)每個發(fā)送時間Til、T12、……、TIN和對應(yīng)的每個接收時間信息T21、T22、……、T2N,確定主時鐘到從時鐘的第一頻率補償值,以及根據(jù)每個發(fā)送時間信息T51、T52、……、T5N和對應(yīng)的每個接收時間信息T61、T62、……、T6N,確定主時鐘到從時鐘的第二頻率補償值,根據(jù)所述第一頻率補償值和第二頻率補償值,確定主時鐘與從時鐘的頻率補償值并進行頻率同步。
[0017]本發(fā)明實施例提供一種跨非1588網(wǎng)絡(luò)傳輸精密時鐘報文的方法及系統(tǒng),該方法包括:從時鐘接收主時鐘發(fā)送多個含有每個第一發(fā)送時間信息的Sync報文,并確定每個第一接收時間信息,向主時鐘發(fā)送多個含有每個第二發(fā)送時間信息的Delay-Req報文,并接收主時鐘返回的對應(yīng)的多個含有每個第二接收時間信息的Delay-Resp報文,根據(jù)上述接收時間和發(fā)送時間,確定鏈路延時并進行時鐘同步。由于在本發(fā)明實施例中主、從時鐘之間在穿越非基于IEEE1588協(xié)議的交換機進行時鐘同步時,每個時鐘同步報文時發(fā)送多個,即使非基于IEEE1588協(xié)議的交換機基于隊列和存儲/轉(zhuǎn)發(fā)機制,但是多個時鐘同步報文在交換機的出端口的不排隊的情況下,總會存在不受存儲/轉(zhuǎn)發(fā)機制的報文,從而可以有效的降低時延的抖動,提高時鐘同步的精度。
【專利附圖】
【附圖說明】
[0018]圖1為基于IEEE1588協(xié)議的交換機王、從時鐘進彳丁同步的不意圖;
[0019]圖2為主、從交換機穿越非基于IEEE1588協(xié)議的交換機進行時鐘同步的結(jié)構(gòu)示意圖;
[0020]圖3為本發(fā)明實施例提供的一種跨非1588網(wǎng)絡(luò)傳輸精密時鐘報文的過程示意圖;
[0021]圖4為本發(fā)明實施例提供的主時鐘與從時鐘之間的時鐘同步過程示意圖;
[0022]圖5為本發(fā)明實施例提供的一種跨非1588網(wǎng)絡(luò)傳輸精密時鐘報文的具體過程示意圖;
[0023]圖6為本發(fā)明實施例提供的一種跨非1588網(wǎng)絡(luò)傳輸精密時鐘報文系統(tǒng)的結(jié)構(gòu)示意圖。
【具體實施方式】
[0024]本發(fā)明為了在主、從交換機穿越非基于IEEE1588協(xié)議的交換機進行時鐘同步時,提高對時的精度,提供了一種跨非1588網(wǎng)絡(luò)傳輸精密時鐘報文的方法及系統(tǒng)。
[0025]下面結(jié)合說明書附圖,對本發(fā)明進行詳細(xì)說明。
[0026]圖3為本發(fā)明實施例提供的一種跨非1588網(wǎng)絡(luò)傳輸精密時鐘報文的過程示意圖,該過程包括以下步驟:
[0027]S301:在每個時鐘同步周期內(nèi),主時鐘按照設(shè)定的時間間隔向從時鐘發(fā)送多個Sync報文S1、S2、……、SN,其中每個Sync報文中含有Sync報文的發(fā)送時間信息T11、T12、……、T1N,N為大于I的整數(shù)。
[0028]具體的,在本發(fā)明實施例中采用一步法進行時鐘同步,其中,每個時鐘同步周期是指主時鐘與從時鐘之間 完成一輪Sync報文、Delay-Req報文和Delay-Resp報文的交互之后,完成主時鐘對從時鐘的時間和頻率同步的過程。
[0029]本發(fā)明實施例中為了有效的減小穿越非基于IEEE1588協(xié)議的交換機進行對時時,引起的精度低的問題,主時鐘在向從時鐘發(fā)送Sync報文時,發(fā)送多個,例如可以為512個,或128個,或1000個等。并且主時鐘每向從時鐘發(fā)送一個Sync報文,都會在該Sync報文中攜帶發(fā)送該Sync報文的發(fā)送時間信息(Til、T12、……、T1N),以便從時鐘準(zhǔn)確對時。
[0030]S302:從時鐘接收主時鐘發(fā)送的每個Sync報文,記錄接收每個Sync報文的接收時間信息T21、T22、……、T2N,從時鐘在接收到主時鐘發(fā)送的第一個Sync報文SI時,按照設(shè)定的時間間隔向主時鐘發(fā)送對應(yīng)的多個Delay-Req報文S1、S2、……、SN,其中每個Delay-Req報文中包含該Delay-Req報文的發(fā)送時間信息T31、T32、……、T3N。
[0031]該多個含有每個發(fā)送時間信息的Sync報文穿越非基于IEEE1588協(xié)議的交換機到達從時鐘,從時鐘根據(jù)接收到每個Sync報文的時間,確定與每個Sync報文對應(yīng)的每個接收時間信息(T21、T22、......、T2N)。
[0032]例如,接收到含有發(fā)送時間信息為A的Sync報文的時間為B,則與該Sync報文對應(yīng)的接收時間信息為B。
[0033]當(dāng)從時鐘接收到主時鐘發(fā)送的多個Sync報文時,為了響應(yīng)主時鐘,該從時鐘向主時鐘發(fā)送對應(yīng)的多個Delay-Req報文。并且,在本發(fā)明實施例中,可以當(dāng)從時鐘接收到主時鐘發(fā)送的一個Sync報文時,向主時鐘返回一個含有該Delay-Req報文發(fā)送時間信息(T31、T32、……、T3N)的Delay-Req報文。當(dāng)然為了提高時鐘同步的效率,當(dāng)從時鐘接收到一個到達的Sync報文時,可以根據(jù)設(shè)置的報文數(shù)量,向主時鐘返回含該Delay-Req報文發(fā)送時間信息(T31、T32、……、T3N)的多個Delay-Req報文,其中該設(shè)置的報文數(shù)量與主時鐘設(shè)置的發(fā)送Sync報文的數(shù)量相同。
[0034]S303:主時鐘針對接收到的每個Delay-Req報文,記錄接收到每個Delay-Req報文的接收時間信息T41、T42、……、T4N,并向按照設(shè)定的時間間隔向從時鐘發(fā)送多個
Delay-Resp報文S1、S2、..·....、SN,其中每個Delay-Resp報文中包含Delay-Resp報文的發(fā)
送時間信息T51、T52、......、T5N。
[0035]當(dāng)主時鐘接收到從時鐘發(fā)送的每個含有該Delay-Req報文發(fā)送時間信息的Delay-Req報文后,確定接收到每個Delay-Req報文的時間信息,將該每個時間信息確定為該每個Delay-Req報文的接收時間信息(T41、T42、……、T4N),將每個Delay-Req報文的接收時間信息包含在對應(yīng)的每個Delay-Resp報文中發(fā)送給從時鐘,其中所述每個Delay-Resp報文中還包括主時鐘發(fā)送該Delay-Resp報文的發(fā)送時間信息(T51、T52、……、T5N)。
[0036]S304:從時鐘接收主時鐘發(fā)送的每個Delay-Resp報文,記錄接收每個Delay-Resp報文的接收時間信息T61、T62、……、T6N。
[0037]當(dāng)從時鐘接收到主時鐘發(fā)送的每個Delay-Resp報文后,確定接收到每個Delay-Resp報文的時間信心,將該每個時間信息確定為每個Delay-Resp報文的接收時間信息(T61、T62、……、T6N),并獲取該接收到的每個Delay-Resp報文中攜帶的含有主時鐘接收所述每個Delay-Req報文的接收時間信息(T41、T42、……、T4N)和主時鐘發(fā)送每個Delay-Resp報文的發(fā)送時間信息(T51、T52、......、T5N)。
[0038]S305:從時鐘根據(jù)每個發(fā)送時間信息T11、T12、……、TlN和對應(yīng)的每個接收時間信息T21、T22、……、T2N,確定主時鐘到從時鐘的第一延時,以及根據(jù)每個發(fā)送時間信息T31、T32、……、T3N和對應(yīng)的每個接收時間信息T41、T42、……、T4N,確定從時鐘到主時鐘的第二延時,根據(jù)所述第一延時和第二延時,確定鏈路延時并進行時間同步。
[0039]具體的,從時鐘可以根據(jù)與主時鐘之間交互的每個Sync報文,確定每個Sync報文的發(fā)送時間信息T11、T12、……、T1N和對應(yīng)的每個接收時間信息T21、T22、……、T2N,從而可以確定主時鐘到從時鐘的鏈路的每個待選第一延時,之后,從時鐘還可以根據(jù)與主時鐘之間交互的Delay-Req報文包含的該的發(fā)送時間信息T31、T32、……、T3N和Delay-Resp報文包含的該Delay-Req報文對應(yīng)的接收時間信息T41、T42、……、T4N,確定從時鐘到主時鐘的鏈路的每個待選第二延時。當(dāng)確定了每個待選第一延時和每個待選第二延時后,可以在待選第一延時中任意選擇一個作為第一延時,也可以在待選第一延時中選擇一個最小值作為第一延時,或者還可以將每個待選第一延時的平均值作為第一延時,相應(yīng)的確定第二延時的方法相同。
[0040]根據(jù)所述第一延時和第二延時,確定鏈路延時并進行時鐘同步。
[0041]當(dāng)確定了第一延時和第二延時后,即可以根據(jù)第一延時和第二延時確定鏈路的平均延時,從而可以根據(jù)該平均延時進行時鐘同步。
[0042]當(dāng)選擇每個待選第一延時的最小值作為第一延時時,可以認(rèn)為該時鐘同步報文在經(jīng)過非基于IEEE1588的交換機時沒有在隊列中等待,且交換機當(dāng)前沒有發(fā)送其他報文時對應(yīng)的延時,從而可以保證時鐘同步的精度。
[0043]S306:從時鐘根據(jù)每個發(fā)送時間T11、T12、……、TlN和對應(yīng)的每個接收時間信息T21、T22、……、T2N,確定主時鐘到從時鐘的第一頻率補償值,以及根據(jù)每個發(fā)送時間信息T51、T52、……、T5N和 對應(yīng)的每個接收時間信息T61、T62、……、T6N,確定主時鐘到從時
鐘的第二頻率補償值,根據(jù)所述第一頻率補償值和第二頻率補償值,確定主時鐘與從時鐘的頻率補償值并進行頻率同步。
[0044]具體的,從時鐘根據(jù)與主時鐘之間交互的每個Sync報文,確定每個Sync報文的發(fā)送時間信息T11、T12、……、T1N和對應(yīng)的每個接收時間信息T21、T22、……、T2N,從而可以確定主時鐘到從時鐘的鏈路的每個待選第一延時,之后,從時鐘根據(jù)與主時鐘之間交互
的每個Delay-Resp報文,確定每個Delay-Resp報文的發(fā)送時間信息T51、T52、......、T5N
和對應(yīng)的每個接收時間信息T61、T62、……、T6N,從而可以確定主時鐘到從時鐘的鏈路的每個待選第三延時,當(dāng)確定了每個待選第一延時和每個待選第三延時后,可以在待選第一延時中任意選擇一個作為第一延時,也可以在待選第一延時中選擇一個最小值作為第一延時,或者還可以將每個待選第一延時的平均值作為第一延時,相應(yīng)的確定第三延時的方法相同。
[0045]根據(jù)所述第一延時和第三延時,確定主時鐘與從時鐘之間對應(yīng)的第一頻率補償值和第二頻率補償值,根據(jù)頻率反算算法,確定主時鐘與從時鐘的頻率補償值,并根據(jù)所述頻率補償值對從時鐘進行頻率同步。
[0046]當(dāng)選擇每個待選第一延時的最小值作為第一延時時,可以認(rèn)為該時鐘同步報文在經(jīng)過非基于IEEE1588的交換機時沒有在隊列中等待,且交換機當(dāng)前沒有發(fā)送其他報文時對應(yīng)的延時,從而可以保證時鐘同步的精度。
[0047]由于在本發(fā)明實施例中主、從時鐘之間在穿越非基于IEEE1588協(xié)議的交換機進行時鐘同步時,每個時鐘同步報文時發(fā)送多個,即使非基于IEEE1588協(xié)議的交換機基于隊列和存儲/轉(zhuǎn)發(fā)機制,但是多個時鐘同步報文在交換機的出端口的不排隊的情況下,總會存在不受存儲/轉(zhuǎn)發(fā)機制的報文,從而可以有效的降低時延的抖動,提高時鐘同步的精度。
[0048]在本發(fā)明實施例中由于主時鐘和從時鐘在進行時鐘同步時,時鐘同步報文要穿過非基于IEEE1588協(xié)議的交換機,如果時鐘同步報文在該交換機的發(fā)送端口不排隊的情況下,報文轉(zhuǎn)發(fā)的延時的抖動會比較小,可以控制在200ns內(nèi),因此在本發(fā)明實施例中采用發(fā)送大量時鐘同步報文的方式,從而確定主、從時鐘之間的鏈路延時。
[0049]為了減少時鐘同步報文的發(fā)送數(shù)量,提高時鐘同步的效率,在本發(fā)明實施例中采用一步法進行時鐘同步。由于在本發(fā)明實施例中每個報文發(fā)送多個,主時鐘和從時鐘在每個時鐘同步周期內(nèi)發(fā)送的每種報文的數(shù)量可以預(yù)先設(shè)置。例如對于主時鐘,其每秒鐘可以發(fā)送128到2000個Sync報文,具體的在每個時鐘同步周期內(nèi)發(fā)送Sync報文的數(shù)量可以進行設(shè)置,同樣,從時鐘發(fā)送的時鐘同步報文的數(shù)量也可以預(yù)先設(shè)置。為了保證時鐘同步的準(zhǔn)確性,可以在每個報文中攜帶順序標(biāo)識信息,由主、從時鐘的發(fā)送端口在進行發(fā)送時,將該順序標(biāo)識信息添加到每個報文中。
[0050]圖4為本發(fā)明實施例提供的主時鐘與從時鐘之間的時鐘同步過程示意圖,現(xiàn)結(jié)合圖4對本發(fā)明實施例中的時鐘同步過程進行說明。
[0051]具體的,主時鐘根據(jù)自身設(shè)置的時鐘同步報文的發(fā)送數(shù)量,發(fā)送對應(yīng)數(shù)量的多個
Sync報文(S1、S2、......、SN),并且在發(fā)送每個Sync報文時,根據(jù)該Sync報文的發(fā)送時間,
將每個發(fā)送時間信息(Til、T12、……、TIN)包含在Sync報文中,并且根據(jù)該Sync報文的發(fā)送順序,將順序標(biāo)識信息添加到該Sync報文中。主時鐘在發(fā)送每個Sync報文時,可以按照固定的時間間隔發(fā)送,也可以任意發(fā)送,只要在每個Sync報文中包含當(dāng)前時刻的發(fā)送時間信息以及順序標(biāo)識信息即可。例如,每個時鐘同步周期內(nèi),主時鐘發(fā)送512個Sync報文,主時鐘向從時鐘發(fā)送的每個Sync報文的順序標(biāo)識信息可以預(yù)先約定,Sync報文的順序標(biāo)識信息可以從I開始,一直到512標(biāo)識主時鐘發(fā)送的每個Sync報文。
[0052]當(dāng)從時鐘接收到主時鐘發(fā)送的Sync報文時,可以根據(jù)接收到每個Sync報文的時
間,記錄每個Sync報文的收時間信息(T21、T22、......、T2N)。由于在每個Sync報文中攜
帶送時間信息及順序標(biāo)識信息,因此從時鐘可以對Sync報文進行區(qū)別,并且確定每個Sync報文的接收時間,從而可以確定每個Sync報文的接收時間信息。
[0053]從時鐘接收到主時鐘發(fā)送的每個Sync報文時,可以相應(yīng)的向主時鐘返回Delay-Req報文,其中在該Delay-Req報文中包含發(fā)送該報文的發(fā)送時間信息(T31、T32、……、T3N)。另外,在本發(fā)明實施例中為了進一步提高時鐘同步的效率,向主時鐘發(fā)送對應(yīng)的多個含有發(fā)送時間信息(T31、T32、……、T3N)的Delay-Req報文包括:
[0054]當(dāng)接收到所述主時鐘發(fā)送的第一個Sync報文時,向主時鐘發(fā)送對應(yīng)的多個含有發(fā)送時間信息的Delay-Req報文。
[0055]即,當(dāng)從時鐘接收到主時鐘發(fā)送的Sync報文時,由于在從時鐘中保存有需要發(fā)送的Delay-Req報文的數(shù)量SN,因此為了提高時鐘同步的效率,該從時鐘即可向主時鐘返回對應(yīng)的多個含有每個發(fā)送時間信息(T31、T32、……、T3N)的Delay-Req報文,而無需接收到每個Sync報文再進行每個Delay-Req報文的發(fā)送。另外,在該實施例中當(dāng)從時鐘發(fā)送該多個Delay-Req報文時,也是可以按照固定的時間間隔來發(fā)送,也可以任意發(fā)送,只要保證發(fā)送該多個Delay-Req報文即可。
[0056]從時鐘在向主時鐘發(fā)送每個Delay-Req報文時,該每個Delay-Req報文中包含當(dāng)前發(fā)送該報文的發(fā)送時間信息(T31、T32、……、Τ3Ν),并且,為了進一步的標(biāo)識該Delay-Req報文的發(fā)送順序,可以在每個Delay-Req報文中攜帶該報文的順序標(biāo)識信息。同樣的,例如,每個時鐘同步周期內(nèi),主時鐘發(fā)送512個Sync報文,從時鐘向主時鐘發(fā)送的每個Delay-Req報文的順序標(biāo)識可以預(yù)先約定,Delay-Req報文的順序標(biāo)識信息可以從I開始,一直到512標(biāo)識從時鐘發(fā)送的每個Delay-Req報文。
[0057]主時鐘在接收到從時鐘發(fā)送每個Delay-Req報文時,記錄接收每個Delay-Resp報文的接收時間信息(Τ41、Τ42、……、Τ4Ν),并針對接收到的每個Delay-Req報文,主時鐘向從時鐘返回對應(yīng)的Delay-Resp報文,其中,每個Delay-Resp報文中攜帶主時鐘接收到該Delay-Resp報文的接收時間信息(Τ41、Τ42、……、Τ4Ν)和主時鐘發(fā)送該Delay-Resp報文的發(fā)送時間信息(Τ51、Τ52、……、Τ5Ν)。另外,為了減少時鐘同步報文對主時鐘CPU的沖擊,在本發(fā)明實施例中主時鐘采用硬件打時間戳的方法,所述方法包括:
[0058]主時鐘包含F(xiàn)PGA芯片,所述主時鐘接收到每個Delay-Req報文,記錄接收時間信息T4i,并立即轉(zhuǎn)發(fā)Delay-Resp報文Si,其中該Delay-Resp報文中包含的發(fā)送時間信息T5i與T4i相等,i為位于I和N之間的整數(shù)。
[0059]即,主時鐘接收到每個Delay-Req報文后,F(xiàn)PGA芯片通過直接打時間戳的方式,記錄當(dāng)前時間然后立即回復(fù)Delay-Resp報文,由于是硬件打時間戳的方式,因此,接收Delay-Req報文的時間與發(fā)送Delay-Resp報文的時間相同,從而減少了大量Delay-Req報文對主時鐘CPU的沖擊。另外,為了進一步提高主時鐘對從時鐘的時鐘同步精度,避免因更高級的主時鐘對主時鐘進行同時產(chǎn)生的抖動,從而引起的主時鐘與從時鐘之間同步精度降低的問題,所述方法還包括:
[0060]在當(dāng)前時鐘同步周期內(nèi),當(dāng)所述主時鐘確定自身的時鐘發(fā)生變化時,所述主時鐘停止與所述從時鐘之間的時鐘同步操作,并重新與所述從時鐘進行步驟A及后續(xù)步驟,其中所述主時鐘自身的時鐘發(fā)生變化包括,所述主時鐘接收到GPS或完成與其他更高級別的主時鐘的時鐘同步操作。
[0061]具體的,主時鐘在收到GPS信號或其他更高級別的主時鐘的時鐘同步報文對自身的時鐘進行調(diào)整,導(dǎo)致主時鐘自身的時鐘發(fā)生變化時,主時鐘停止當(dāng)前與從時鐘之間的時鐘同步操作,即,在當(dāng)前的時鐘同步周期內(nèi),當(dāng)主時鐘正在向從時鐘發(fā)送第Si個Sync報文時,主時鐘在完成自身的時鐘調(diào)整后,停止下一個序號為Si+Ι的Sync報文的發(fā)送,重新發(fā)送序號為SI的Sync報文啟動新的一個時鐘同步周期,相應(yīng)的當(dāng)主時鐘接收從時鐘發(fā)送的Delay-Req報文或者主時鐘向從時鐘發(fā)送Delay-Resp報文時,采用的方法相同。
[0062]圖5為本發(fā)明實施例提供的一種跨非1588網(wǎng)絡(luò)傳輸精密時鐘報文的具體過程示意圖,該過程包括以下步驟:
[0063]S501:主時鐘根據(jù) 預(yù)先設(shè)置的時鐘同步報文的發(fā)送數(shù)量,向從時鐘發(fā)送該對應(yīng)數(shù)量的多個Sync報文,并且根據(jù)每個Sync報文的發(fā)送時間,在每個Sync報文中包含對應(yīng)的發(fā)送時間信息Tlx。
[0064]S502:從時鐘判斷在該時鐘同步周期內(nèi)是否接收到第一個Sync報文,當(dāng)判斷結(jié)果為是時,進行步驟S503,否則,進行步驟S502。
[0065]S503:從時鐘根據(jù)預(yù)先設(shè)置的時鐘同步報文的發(fā)送數(shù)量,向主時鐘發(fā)送對應(yīng)數(shù)量的多個Delay-Req報文,并根據(jù)發(fā)送每個Delay-Req報文的發(fā)送時間,每個Delay-Req報文中包含對應(yīng)的發(fā)送時間信息T3y。
[0066]S504:從時鐘根據(jù)接收到每個Sync報文的時間,確定接收該每個Sync報文的接收時間信息T2x。從時鐘根據(jù)確定的每個接收時間信息T2i,以及對應(yīng)的每個發(fā)送時間信息Tlx,確定主時鐘到從時鐘的第一延時。
[0067]S505:主時鐘根據(jù)接收到每個Delay-Req報文的時間,確定接收時間信息T4y,并將接收時間信息包含在對應(yīng)的每個Delay-Resp報文中,將該Delay-Resp報文發(fā)送給從時鐘,并包含該Delay-Resp報文的發(fā)送時間信息T5z。
[0068]S506:從時鐘根據(jù)接收到的每個Delay-Resp報文的時間,確定每個Delay-Resp報文的接收時間信息Τ6ζ,獲取每個Delay-Resp報文中包含的時間信息Τ5ζ和T4y,根據(jù)每個Delay-Req報文的接收時間信息T4y及對應(yīng)的發(fā)送時間信息T3y,確定從時鐘到主時鐘的第二延時,根據(jù)每個Delay-Resp報文的接收時間信息T6z及對應(yīng)的發(fā)送時間信息Τ5ζ,確定主時鐘到從時鐘的第三延時。
[0069]S507:從時鐘根據(jù)計算的第一延時和第二延時的平均值,確定鏈路延時,根據(jù)確定的該鏈路延時進行時間同步。
[0070]S508:從時鐘根據(jù)主時鐘到從時鐘的第一延時及第三延時,確定主時鐘到從時鐘
的第一頻率補償值和二頻率補償值。
[0071]S509:從時鐘根據(jù)第一頻率補償值及二頻率補償值,通過頻率反算算法計算主時鐘與從時鐘的頻率補償值,并根據(jù)所述頻率補償值進行頻率同步。
[0072]具體的,在本發(fā)明實施例中可以設(shè)置時鐘同步的時間長度,即設(shè)置調(diào)整時間窗的大小,在該調(diào)整時間窗內(nèi),通過一步法進行時鐘同步,例如該調(diào)整時間窗的大小為2秒鐘,在該調(diào)整時間窗內(nèi)主時鐘發(fā)送512個Sync報文,從時鐘發(fā)送512個Delay-Req報文,主時鐘回應(yīng)512個Delay-Resp報文。在每個調(diào)整時間窗內(nèi),主時鐘和從時鐘發(fā)送的時鐘同步報文中攜帶順序標(biāo)識信息,該順序標(biāo)識信息為I?512的整數(shù)。
[0073]主時鐘在向從時鐘發(fā)送第一個Sync報文時,根據(jù)發(fā)送該Sync報文的時間,在該Sync報文中包含發(fā)送時間信息T11,并且由主時鐘的發(fā)送端口在該Sync報文中添加順序標(biāo)識信息SI,之后主時鐘發(fā)送第二個Sync報文,在該報文中包含有發(fā)送該第二個Sync報文的發(fā)送時間信息T12,及該報文的順序標(biāo)識信息S2,之后以此類推,主時鐘完成512個Sync報文的發(fā)送。
[0074]從時鐘接收到主時鐘發(fā)送的Sync報文后,識別該報文中攜帶的順序標(biāo)識信息,當(dāng)識別該報文的順序標(biāo)識信息為SI時,確定新的時鐘同步周期到來。從時鐘根據(jù)接收該Sync報文的接收時間信息T21,及該第一個Sync報文中包含的發(fā)送時間信息Tll,確定主時鐘到從時鐘的第一個待選第一延時,將當(dāng)前的待選第一延時保存為第一延時,之后根據(jù)接收第二個Sync報文的接收時間信息T22,及該Sync報文中包含的發(fā)送時間信息T12,確定第二個待選第一延時。判斷該第二個待選第一延時是否小于保存的該第一延時,當(dāng)該第二個待選第一延時小于該第一延時時,米用該第二個待選第一延時更新該第一延時,否則,保持該第一延時不變。之后,采用相同的方法,確定每個Sync報文的待選第一延時,并判斷是否對該第一延時進行更新。
[0075]當(dāng)從時鐘接收到每個Sync報文時,從時鐘生成Delay-Req報文,根據(jù)該調(diào)整時間窗內(nèi)該Delay-Req報文的生成順序,在該Req報文中攜帶對應(yīng)的順序標(biāo)識信息,并根據(jù)發(fā)送該Delay-Req報文的時間,將該發(fā)送時間信息(T21、T22、……、T2N)包含在Delay-Req報文中?;蛘邽榱颂岣邥r鐘同步的效率,在本發(fā)明實施例中該從時鐘接收到第一個Sync報文時,向主時鐘發(fā)送512個Delay-Req報文,根據(jù)發(fā)送每個Delay-Req報文的時間,在每個Delay-Req報文中包含發(fā)送時間信息(T31、T32、……、T3N),并且從時鐘的發(fā)送端口在每個Delay-Req報文中添加順序標(biāo)識信息I~512。
[0076]由于主時鐘不需要從從時鐘獲取任何信息,因此主時鐘接收到的每個Delay-Req報文不上CPU進行處理,直接由主時鐘的FPGA向從時鐘回復(fù)對應(yīng)的Delay-Resp報文,并根據(jù)回復(fù)每個Delay-Resp報文的時間,將接收時間信息(T41、T42、……、T4N)包含在該Delay-Resp報文中,并根據(jù)回復(fù)每個Delay-Resp報文的順序,在該Delay-Resp報文中攜帶對應(yīng)的順序標(biāo)識信息。
[0077]從時鐘接收到主時鐘發(fā)送的De Iay-Resp報文后,識別該報文中攜帶的順序標(biāo)識信息,當(dāng)識別該報文的順序標(biāo)識信息為SI時,確定新的時鐘同步周期到來。從時鐘根據(jù)識別到的該Delay-Resp報文包含的接收時間信息T41,及發(fā)送對應(yīng)順序標(biāo)識信息的Delay-Req報文的發(fā)送時間信息T31,確定從時鐘到主時鐘的第一個待選第二延時,將當(dāng)前的待選第二延時保存為第二延時,之后根據(jù)接收到的第二個Delay-Resp報文攜帶的接收時間信息T42,及發(fā)送第二個Delay-Req報文的發(fā)送時間信息T32,確定第二個待選第二延時。判斷該第二個待選第二延時是否小于保存的該第二延時,當(dāng)該第二個待選第二延時小于該第二延時時,采用該第二個待選第二延時更新該第二延時,否則,保持該第二延時不變。之后,采用相同的方法,根據(jù)接收到的每個Delay-Resp報文識別每個Delay-Req報文的接收時間信息,確定每個Delay-Req報文的待選第二延時,并判斷是否對該第二延時進行更新。
[0078]從時鐘根據(jù)確定的第一 延時和第二延時,確定第一延時和第二延時的平均值,根據(jù)該平均值進行時鐘同步。
[0079]從時鐘接收到主時鐘發(fā)送的Delay-Resp報文后,識別該報文中攜帶的順序標(biāo)識信息,當(dāng)識別該報文的順序標(biāo)識信息為SI時,確定新的時鐘同步周期到來。從時鐘根據(jù)接收該Delay-Resp報文的接收時間信息T61,及該第一個Delay-Resp報文中包含的發(fā)送時間信息T51,確定主時鐘到從時鐘的第一個待選第三延時,將當(dāng)前的待選第三延時保存為第三延時,之后根據(jù)接收第二個Delay-Resp報文的接收時間信息T62,及該Delay-Resp報文中包含的發(fā)送時間信息T52,確定主時鐘到從時鐘的第二個待選第三延時。判斷該第二個待選第三延時是否小于保存的該第三延時,當(dāng)該第二個待選第三延時小于該第三延時時,采用該第二個待選第三延時更新該第三延時,否則,保持該第三延時不變。之后,采用相同的方法,確定每個Delay-Resp報文的待選第三延時,并判斷是否對該第三延時進行更新。
[0080]由于在本發(fā)明實施例中主、從時鐘之間在穿越非基于IEEE1588協(xié)議的交換機進行時鐘同步時,每個時鐘同步報文時發(fā)送多個,即使非基于IEEE1588協(xié)議的交換機基于隊列和存儲/轉(zhuǎn)發(fā)機制,但是多個時鐘同步報文在交換機的出端口的不排隊的情況下,總會存在不受存儲/轉(zhuǎn)發(fā)機制的報文,從而可以有效的降低時延的抖動,提高時鐘同步的精度。
[0081]圖6為本發(fā)明實施例提供的一種跨非1588網(wǎng)絡(luò)傳輸精密時鐘報文系統(tǒng)的結(jié)構(gòu)示意圖,所述系統(tǒng)包括:
[0082]主時鐘61,用于在每個時鐘同步周期內(nèi),按照設(shè)定的時間間隔向從時鐘發(fā)送多個Sync報文S1、S2、……、SN,其中每個Sync報文中含有Sync報文的發(fā)送時間信息Til、
T12、......、T1N ;針對接收到的每個Delay-Req報文,記錄接收到每個Delay-Req報文的接
收時間信息T41、T42、……、T4N,并向按照設(shè)定的時間間隔向從時鐘發(fā)送多個Delay-Resp
報文S1、S2、......、SN,其中每個Delay-Resp報文中包含Delay-Resp報文的發(fā)送時間信息
T51、T52、……、T5N,N為大于I的整數(shù);[0083]從時鐘62,用于接收主時鐘發(fā)送的每個Sync報文,記錄接收每個Sync報文的接收時間信息T21、T22、……、T2N,從時鐘在接收到主時鐘發(fā)送的第一個Sync報文SI時,按照設(shè)定的時間間隔向主時鐘發(fā)送對應(yīng)的多個Delay-Req報文S1、S2、……、SN,其中每個Delay-Req報文中包含該Delay-Req報文的發(fā)送時間信息T31、T32、……、T3N ;接收主時鐘發(fā)送的每個Delay-Resp報文,記錄接收每個Delay-Resp報文的接收時間信息T61、T62、……、了61根據(jù)每個發(fā)送時間信息1'11、112、……、TlN和對應(yīng)的每個接收時間信息T21、T22、……、T2N,確定主時鐘到從時鐘的第一延時,以及根據(jù)每個發(fā)送時間信息T31、T32、……、T3N和對應(yīng)的每個接收時間信息T41、T42、……、T4N,確定從時鐘到主時鐘的第二延時,根據(jù)所述第一延時和第二延時,確定鏈路延時并進行時間同步;根據(jù)每個發(fā)送時間T11、T12、……、T1N和對應(yīng)的每個接收時間信息T21、T22、……、T2N,確定主時鐘到從時鐘的第一頻率補償值,以及根據(jù)每個發(fā)送時間信息T51、T52、……、T5N和對應(yīng)的每個接收時間信息T61、T62、……、T6N,確定從時鐘到主時鐘的第二頻率補償值,根據(jù)所述第一頻率補償值和第二頻率補償值,確定主時鐘與從時鐘的頻率補償值并進行頻率同步。
[0084]所述主時鐘61,具體用于包含F(xiàn)PGA芯片,接收到每個Delay-Req報文,記錄接收時間信息T4i,并立即轉(zhuǎn)發(fā)Delay-Resp報文Si,其中該Delay-Resp報文中包含的發(fā)送時間信息Τ5?與T4i相等,i為位于I和N之間的整數(shù)。
[0085]所述主時鐘61,還用于在當(dāng)前時鐘同步周期內(nèi),確定自身的時鐘發(fā)生變化時,停止與所述從時鐘之間的時鐘同步操作,并重新開始與所述從時鐘進行時鐘同步操作,其中所述主時鐘自身的時鐘發(fā)生變化包括,所述主時鐘接收到GPS或完成與其他更高級別的主時鐘的時鐘同步操作。
[0086]所述從時鐘62,具體用于根據(jù)每個接收時間信息T21、T22、……、T2N與對應(yīng)的每個發(fā)送時間信息Til、T12、……、TlN的差,確定主時鐘到從時鐘的每個待選第一延時;選擇待選第一延時的最小值作為主時鐘到從時鐘的第一延時;根據(jù)每個接收時間信息T41、T42、……、T4N與對應(yīng)的每個發(fā)送時間信息T31、T32、……、T3N的差,確定從時鐘到主時鐘的每個待選第二延時;選擇待選第二延時的最小值作為從時鐘到主時鐘的第二延時。
[0087]所述從時鐘62,具體用于根據(jù)每個接收時間信息T21、T22、……、T2N與對應(yīng)的每個發(fā)送時間信息Til、T12、……、TlN的差,確定主時鐘到從時鐘的每個待選第一延時;選擇待選第一延時的最小值對應(yīng)的Sync報文Si,提取該Sync報文Si的發(fā)送時間信息Tli和接收時間信息T2i,并確定第一頻率補償值;根據(jù)每個接收時間信息T61、T62、……、T6N與對應(yīng)的每個發(fā)送時間信息T51、T52、……、T5N的差,確定主時鐘到從時鐘的每個待選第三延時;選擇待選第三延時的最小值對應(yīng)的Delay-Resp報文Sj,提取該Delay-Resp報文Sj的發(fā)送時間信息T5j和接收時間信息T6j,并確定第二頻率補償值,i為位于I和N之間的整數(shù)。
[0088]本發(fā)明實施例提供一種基于1588協(xié)議的時鐘同步方法、系統(tǒng)及裝置,該方法包括:從時鐘接收主時鐘發(fā)送多個含有每個第一發(fā)送時間信息的Sync報文,并確定每個第一接收時間信息,向主時鐘發(fā)送多個含有每個第二發(fā)送時間信息的Delay-Req報文,并接收主時鐘返回的對應(yīng)的多個含有每個第二接收時間信息的Delay-Resp報文,根據(jù)上述接收時間和發(fā)送時間,確定鏈路延時并進行時鐘同步。由于在本發(fā)明實施例中主、從時鐘之間在穿越非基于IEEE1588協(xié)議的交換機進行時鐘同步時,每個時鐘同步報文時發(fā)送多個,即使非基于IEEE1588協(xié)議的交換機基于隊列和存儲/轉(zhuǎn)發(fā)機制,但是多個時鐘同步報文在交換機的出端口的不排隊的情況下,總會存在不受存儲/轉(zhuǎn)發(fā)機制的報文,從而可以有效的降低時延的抖動,提高時鐘同步的精度。
[0089]本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本申請的實施例可提供為方法、系統(tǒng)、或計算機程序產(chǎn)品。因此,本申請可采用完全硬件實施例、完全軟件實施例、或結(jié)合軟件和硬件方面的實施例的形式。而且,本申請可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(zhì)(包括但不限于磁盤存儲器、CD-ROM、光學(xué)存儲器等)上實施的計算機程序產(chǎn)品的形式。
[0090]本申請是參照根據(jù)本申請實施例的方法、設(shè)備(系統(tǒng))、和計算機程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計算機程序指令實現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合。可提供這些計算機程序指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個機器,使得通過計算機或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
[0091]這些計算機程序指令也可存儲在能引導(dǎo)計算機或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
[0092]這些計算機程序指令也可裝載到計算機或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計算機或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計算機實現(xiàn)的處理,從而在計算機或其他可編程設(shè)備上執(zhí)行的指令提供用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
[0093]盡管已描述了本申請的優(yōu)選實施例,但本領(lǐng)域內(nèi)的技術(shù)人員一旦得知了基本創(chuàng)造性概念,則可對這些實施例做出另外的變更和修改。所以,所附權(quán)利要求意欲解釋為包括優(yōu)選實施例以及落入本申請范圍的所有變更和修改。
[0094]顯然,本領(lǐng)域的技術(shù)人員可以對本申請進行各種改動和變型而不脫離本申請的精神和范圍。這樣,倘若本申請的這些修改和變型屬于本申請權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本申請也意圖包含這些改動和變型在內(nèi)。
【權(quán)利要求】
1.一種跨非1588網(wǎng)絡(luò)傳輸精密時鐘報文的方法,其特征在于,所述方法包括: A、在每個時鐘同步周期內(nèi),主時鐘按照設(shè)定的時間間隔向從時鐘發(fā)送多個Sync報文S1、S2、……、SN,其中每個Sync報文中含有Sync報文的發(fā)送時間信息Til、T12、……、T1N,N為大于I的整數(shù); B、從時鐘接收主時鐘發(fā)送的每個Sync報文,記錄接收每個Sync報文的接收時間信息T21、T22、……、T2N,從時鐘在接收到主時鐘發(fā)送的第一個Sync報文SI時,按照設(shè)定的時間間隔向主時鐘發(fā)送對應(yīng)的多個Delay-Req報文S1、S2、……、SN,其中每個Delay-Req報文中包含該Delay-Req報文的發(fā)送時間信息T31、T32、……、T3N ; C、主時鐘針對接收到的每個Delay-Req報文,記錄接收到每個Delay-Req報文的接收時間信息T41、T42、……、T4N,并向按照設(shè)定的時間間隔向從時鐘發(fā)送多個Delay-Resp報文S1、S2、......、SN,其中每個Delay-Resp報文中包含Delay-Resp報文的發(fā)送時間信息T51、T52、......、T5N; D、從時鐘接收主時鐘發(fā)送的每個Delay-Resp報文,記錄接收每個Delay-Resp報文的接收時間信息T61、T62、……、T6N; E、從時鐘根據(jù)每個發(fā)送時間信息Til、T12、……、TlN和對應(yīng)的每個接收時間信息T21、T22、……、T2N,確定主時鐘到從時鐘的第一延時,以及根據(jù)每個發(fā)送時間信息T31、T32、……、T3N和對應(yīng)的每個接收時間信息T41、T42、……、T4N,確定從時鐘到主時鐘的第二延時,根據(jù)所述第一延時和第二延時,確定鏈路延時并進行時間同步; F、從時鐘根據(jù)每個發(fā)送時間Til、T12、……、TlN和對應(yīng)的每個接收時間信息T21、T22、……、T2N,確定主時鐘到從時鐘的第一頻率補償值,以及根據(jù)每個發(fā)送時間信息T51、T52、……、T5N和對應(yīng)的每個接收時間信息T61、T62、……、T6N,確定主時鐘到從時鐘的第二頻率補償值,根據(jù)所述第一頻率`補償值和第二頻率補償值,確定主時鐘與從時鐘的頻率補償值并進行頻率同步。
2.如權(quán)利要求1所述的方法,其特征在于,所述主時鐘包含F(xiàn)PGA芯片,所述主時鐘接收到每個Delay-Req報文,記錄接收時間信息T4i,并立即轉(zhuǎn)發(fā)Delay-Resp報文Si,其中該Delay-Resp報文中包含的發(fā)送時間信息T5i與T4i相等,i為位于I和N之間的整數(shù)。
3.如權(quán)利要求1所述的方法,其特征在于,所述方法還包括: 在當(dāng)前時鐘同步周期內(nèi),當(dāng)所述主時鐘確定自身的時鐘發(fā)生變化時,所述主時鐘停止與所述從時鐘之間的時鐘同步操作,并重新與所述從時鐘進行步驟A及后續(xù)步驟,其中所述主時鐘自身的時鐘發(fā)生變化包括,所述主時鐘接收到GPS或完成與其他更高級別的主時鐘的時鐘同步操作。
4.如權(quán)利要求1所述的方法,其特征在于,所述確定主時鐘到從時鐘的第一延時包括: 根據(jù)每個接收時間信息T21、T22、……、T2N與對應(yīng)的每個發(fā)送時間信息TH、T12、……、TlN的差,確定主時鐘到從時鐘的每個待選第一延時; 選擇待選第一延時的最小值作為主時鐘到從時鐘的第一延時; 其中,確定從時鐘到主時鐘的第二延時包括: 根據(jù)每個接收時間信息T41、T42、……、T4N與對應(yīng)的每個發(fā)送時間信息T31、T32、……、T3N的差,確定從時鐘到主時鐘的每個待選第二延時; 選擇待選第二延時的最小值作為從時鐘到主時鐘的第二延時。
5.如權(quán)利要求1所述的方法,其特征在于,所述確定主時鐘到從時鐘的第一頻率補償值包括: 根據(jù)每個接收時間信息T21、T22、……、T2N與對應(yīng)的每個發(fā)送時間信息TH、T12、……、TlN的差,確定主時鐘到從時鐘的每個待選第一延時; 選擇待選第一延時的最小值對應(yīng)的Sync報文Si,提取該Sync報文Si的發(fā)送時間信息Tli和接收時間信息T2i,并確定第一頻率補償值,i為位于I和N之間的整數(shù); 其中,確定從時鐘到主時鐘的第二頻率補償值包括: 根據(jù)每個接收時間信息T61、T62、……、T6N與對應(yīng)的每個發(fā)送時間信息T51、T52、……、T5N的差,確定主時鐘到從時鐘的每個待選第三延時; 選擇待選第三延時的最小值對應(yīng)的Delay-Resp報文Sj,提取該Delay-Resp報文Sj的發(fā)送時間信息T5j和接收時間信息T6j,并確定第二頻率補償值。
6.—種跨非1588網(wǎng)絡(luò)傳輸精密時鐘報文的系統(tǒng),其特征在于,所述系統(tǒng)包括: 主時鐘,用于在每個時鐘同步周期內(nèi),按照設(shè)定的時間間隔向從時鐘發(fā)送多個Sync報文S1、S2、……、SN,其中每個Sync報文中含有Sync報文的發(fā)送時間信息T11、T12、……、TlN ;針對接收到的每個Delay-Req報文,記錄接收到每個Delay-Req報文的接收時間信息T41、T42、……、T4N,并向按照設(shè)定的時間間隔向從時鐘發(fā)送多個Delay-Resp報文S1、S2、......、SN,其中每個Delay-Resp報文中包含Delay-Resp報文的發(fā)送時間信息T51、T52、……、T5N,N為大于I的整數(shù); 從時鐘,用于接收主時鐘發(fā)送的每個Sync報文,記錄接收每個Sync報文的接收時間信息T21、T22、……、T2N,從時鐘在接收到主時鐘發(fā)送的第一個Sync報文SI時,按照設(shè)定的時間間隔向主時鐘發(fā)送對應(yīng)的多個Delay-Req報文S1、S2、......、SN,其中每個Delay-Req報文中包含該Delay-Req報文的發(fā)送時間信息T31、T32、……、T3N ;接收主時鐘發(fā)送的每個Delay-Resp報文,記錄接收每個Delay-Resp報文的接收時間信息T61、T62、......、T6N ;根據(jù)每個發(fā)送時間信息Til、T12、……、T1N和對應(yīng)的每個接收時間信息T21、T22、……、T2N,確定主時鐘到從時鐘的第一延時,以及根據(jù)每個發(fā)送時間信息T31、T32、……、T3N和對應(yīng)的每個接收時間信息T41、T42、……、T4N,確定從時鐘到主時鐘的第二延時,根據(jù)所述第一延時和第二延時,確定鏈路延時并進行時間同步;根據(jù)每個發(fā)送時間Til、T12、……、TlN和對應(yīng)的每個接收時間信息T21、T22、……、T2N,確定主時鐘到從時鐘的第一頻率補償值,以及根據(jù)每個發(fā)送時間信息T51、T52、……、T5N和對應(yīng)的每個接收時間信息T61、T62、……、T6N,確定主時鐘到從時鐘的第二頻率補償值,根據(jù)所述第一頻率補償值和第二頻率補償值,確定主時鐘與從時鐘的頻率補償值并進行頻率同步。
7.如權(quán)利要求6所述的系統(tǒng),其特征在于,所述主時鐘,具體用于包含F(xiàn)PGA芯片,接收到每個Delay-Req報文,記錄接收時間信息T4i,并立即轉(zhuǎn)發(fā)Delay-Resp報文Si,其中該Delay-Resp報文中包含的發(fā)送時間信息T5i與T4i相等,i為位于I和N之間的整數(shù)。
8.如權(quán)利要求6所述的系統(tǒng),其特征在于,所述主時鐘,還用于在當(dāng)前時鐘同步周期內(nèi),確定自身的時鐘發(fā)生變化時,停止與所述從時鐘之間的時鐘同步操作,并重新開始與所述從時鐘進行時鐘同步操作,其中所述主時鐘自身的時鐘發(fā)生變化包括,所述主時鐘接收到GPS或完成與其他更高級別的主時鐘的時鐘同步操作。
9.如權(quán)利要求6所述的系統(tǒng),其特征在于,所述從時鐘,具體用于根據(jù)每個接收時間信息T21、T22、……、Τ2Ν與對應(yīng)的每個發(fā)送時間信息Τ11、Τ12、……、TlN的差,確定主時鐘到從時鐘的每個待選第一延時;選擇待選第一延時的最小值作為主時鐘到從時鐘的第一延時;根據(jù)每個接收時間信息Τ41、Τ42、……、Τ4Ν與對應(yīng)的每個發(fā)送時間信息Τ31、Τ32、……、Τ3Ν的差,確定從時鐘到主時鐘的每個待選第二延時;選擇待選第二延時的最小值作為從時鐘到主時鐘的第二延時。
10.如權(quán)利要求6所述的系統(tǒng),其特征在于,所述從時鐘,具體用于根據(jù)每個接收時間信息Τ21、Τ22、……、Τ2Ν與對應(yīng)的每個發(fā)送時間信息Τ11、Τ12、……、TlN的差,確定主時鐘到從時鐘的每個待選第一延時;選擇待選第一延時的最小值對應(yīng)的Sync報文Si,提取該Sync報文Si的發(fā)送時間信息Tli和接收時間信息T2i,并確定第一頻率補償值;根據(jù)每個接收時間信息T61、T62、……、T6N與對應(yīng)的每個發(fā)送時間信息T51、T52、……、T5N的差,確定主時鐘到從時鐘的每個待選第三延時;選擇待選第三延時的最小值對應(yīng)的Delay-Resp報文Sj,提取該Delay-Resp報文Sj的發(fā)送時間信息T5j和接收時間信息T6j,并確定第二頻率補償值,i為位于I和N之間的整數(shù)。
【文檔編號】H04L7/00GK103580846SQ201310373843
【公開日】2014年2月12日 申請日期:2013年8月23日 優(yōu)先權(quán)日:2013年8月23日
【發(fā)明者】孔勇, 馬化一 申請人:北京東土科技股份有限公司