亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種納秒級精度ptp實現(xiàn)方法

文檔序號:7681382閱讀:1240來源:國知局
專利名稱:一種納秒級精度ptp實現(xiàn)方法
技術(shù)領(lǐng)域
本發(fā)明涉及通信系統(tǒng)中的時鐘同步技術(shù)領(lǐng)域,尤其涉及一種納秒級精度PTP實現(xiàn)方法。
背景技術(shù)
隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,在分布式通信系統(tǒng)中對時間同步的要求越來越高,如目前的3G通信系統(tǒng)中設(shè)備間的同步精度需求達(dá)到了微秒級,電力系統(tǒng)中更是要求達(dá)到納秒級。 對于這些需求,傳統(tǒng)的NTP和SNTP已經(jīng)不能滿足應(yīng)用的需要,在這種情況了 IEEE1588就應(yīng)運(yùn)而生了。IEEE1588的全稱是“網(wǎng)絡(luò)測量和控制系統(tǒng)的精確時間同步協(xié)議”(Precision Clock Synchronization Protocol forNetworked Measurement and Control Systems), 簡稱PTP(!decision TimeProtocol,即精確時間協(xié)議),目前已經(jīng)發(fā)展到v2版本。在IEEE1588v2中可以同時實現(xiàn)時間同步和頻率同步,它的基本原理是主時鐘周期性的發(fā)送Sync報文,然后發(fā)送R)llomip報文將上個Sync報文的精確發(fā)送時間Tl發(fā)送給從時鐘,從時鐘記錄Sync報文的到達(dá)時間T2 ;從時鐘在T3時刻發(fā)送Delay-Req報文,主時鐘記錄該報文的到達(dá)時刻T4,并將其通過Delay-Resp報文發(fā)送給從時鐘。從時鐘根據(jù)Tl、 T2、T3、T4,可以計算出主從時鐘之間的鏈路的延時和兩個時鐘之間的時間偏差,并據(jù)此調(diào)整本地時間,從而達(dá)到主從時鐘的時間同步。同時從時鐘也能根據(jù)這些時間戳來計算出主從時鐘間的頻率偏差,對從時鐘的頻率進(jìn)行調(diào)整從而達(dá)到和主時鐘的頻率同步。IEEE1588 的精度主要取決于時間戳的精度和準(zhǔn)確度,如果單純用軟件實現(xiàn),時間戳在軟件層次獲取, 由于數(shù)據(jù)包的排隊延時以及軟件協(xié)議棧的抖動,都會導(dǎo)致精度的下降,因此IEEE1588 —般都用軟硬件結(jié)合的方法來實現(xiàn)。目前的硬件實現(xiàn)有兩種,一種是用FPGA的方法來實現(xiàn)。FPGA通過窺探物理層PHY 芯片和MAC層之間的MII總線的操作情況,識別出PTP報文并記錄其時間戳,這種方法的時間同步精度取決于PHY芯片內(nèi)的時間延遲。另一種方法是在PHY芯片內(nèi)部識別PTP報文并記錄時間戳。相比前一種方法,后者對時間戳的記錄位置更靠近底層,由于延時引入的誤差更小,并且實現(xiàn)起來更簡單靈活。目前已經(jīng)有這樣的芯片開始應(yīng)用。主從時鐘的頻率同步,可以采用1588v2協(xié)議通過軟件計算的方法來進(jìn)行頻率偏差的計算和調(diào)整,也可以在物理層采用同步以太網(wǎng)技術(shù)(SyncE)的方法來實現(xiàn)頻率同步。同步以太網(wǎng)(SyncE)由ITU-TG. 8262定義,可以同IEEE1588—起使用來達(dá)到更高的精度。采用支持SyncE技術(shù)的PHY芯片能夠從以太網(wǎng)鏈路上提取恢復(fù)時鐘,同時將這個恢復(fù)時鐘經(jīng)過鎖相處理后作為系統(tǒng)中所有PHY芯片的工作時鐘,從而達(dá)到本地時鐘頻率和上游時鐘頻率的一致性。

發(fā)明內(nèi)容
本發(fā)明的主要目的在于提供一種納秒級精度PTP實現(xiàn)方法,可以滿足通信系統(tǒng)當(dāng)中對時間同步精度的要求,使PTP的同步精度達(dá)到納秒級別。
為達(dá)到上述目的,本發(fā)明是通過以下技術(shù)方案來實現(xiàn)的一種納秒級精度PTP實現(xiàn)方法,在物理層芯片(PHY)識別PTP報文并記錄其離開或到達(dá)的時間戳;在物理層通過同步以太網(wǎng)(SyncE)技術(shù)實現(xiàn)頻率同步;通過PHY芯片和 FPGA相結(jié)合的方式管理時間戳,采用軟件處理的方法,保證PTP報文到來時刻PHY芯片內(nèi)部時間和FPGA維護(hù)時間的一致性。采用軟件處理的方法,保證PTP報文到來時刻PHY芯片內(nèi)部時間和FPGA維護(hù)時間的一致性,其步驟是讀取PHY芯片維護(hù)的PTP報文到達(dá)時刻鎖存的計數(shù)器值Tphy-ptp ;讀取FPGA維護(hù)的當(dāng)前時間Tfpgal ;讀取PHY芯片的計數(shù)器當(dāng)前值Tphy-cur (非PTP報文到達(dá)時刻鎖存值);如果Tphy-cur大于Tphy-ptp,則O)中讀取的Tfpgal就是PTP報文到達(dá)時刻所對應(yīng)的FPGA維護(hù)的時間如果Tphy-cur小于Tphy-ptp,則再次讀取FPGA維護(hù)的時間計數(shù)值Tfpga2,則PTP 報文到達(dá)時刻的FPGA維護(hù)的時間計數(shù)值為Tfpga2-1。物理層芯片識別到達(dá)或離開的PTP報文,并將其到達(dá)或離開的時刻的時間值鎖存到物理層芯片內(nèi)部的寄存器中,同時觸發(fā)中斷給CPU,CPU在中斷處理程序中讀取該時間戳并交由PTP協(xié)議軟件進(jìn)行計算。物理層芯片通過同步以太網(wǎng)技術(shù)從以太網(wǎng)鏈路上提取恢復(fù)時鐘,并通過數(shù)字鎖相環(huán)鎖相后反饋給物理層芯片作為其工作時鐘。物理層芯片的內(nèi)部時間計數(shù)器計滿溢出產(chǎn)生脈沖,F(xiàn)PGA對這一進(jìn)位脈沖進(jìn)行計數(shù),物理層芯片內(nèi)部的時間計數(shù)器和FPGA維護(hù)的時間計數(shù)器結(jié)合在一起組成PTP報文的硬件時間戳。PTP報文的時間戳有三部分組成PHY芯片維護(hù)的計數(shù)器值,F(xiàn)PGA維護(hù)的計數(shù)器值,軟件變量維護(hù)的主從間的時間偏差值。當(dāng)系統(tǒng)中存在多顆PHY芯片時,在系統(tǒng)初始化時,F(xiàn)PGA保證同時給所有PHY芯片輸出一同步觸發(fā)脈沖,所有PHY芯片在這一同步脈沖的作用下將內(nèi)部計數(shù)器值清零,使系統(tǒng)中的所有PHY芯片起始相位對齊。在PTP協(xié)議軟件計算過程中,對于鏈路延采用均值濾波,對于主從時鐘的時間偏差采用加權(quán)濾波。采用將通過PTP協(xié)議計算出的主從時鐘的偏差保存到軟件變量中的方法調(diào)整時間偏差。本發(fā)明所提供的一種納秒級精度PTP實現(xiàn)方法,所達(dá)到的有益效果通過在PHY 芯片中識別和記錄時間戳,最大程度的提高了時間戳的精度和準(zhǔn)確度。通過在物理層采用 SyncE來實現(xiàn)頻率同步,實現(xiàn)了比軟件實現(xiàn)的更高精度的頻率同步精度。結(jié)合了軟件和硬件各自的優(yōu)點來實現(xiàn)高精度的時間同步通過軟件的方法來調(diào)整主從時鐘的時間偏差;通過軟件濾波的方法來減小同步誤差的波動;通過通過PHY芯片和FPGA相結(jié)合的方法來管理報文的時間戳,并通過軟件的方法保證了二者的一致性對應(yīng)。


下面根據(jù)附圖和實施例對本發(fā)明作進(jìn)一步詳細(xì)說明。圖1為實施例的系統(tǒng)框圖;圖2為同步以太網(wǎng)功能框圖;圖3為時間戳管理功能框圖;圖4為PHY芯片內(nèi)部時間和FPGA維護(hù)時間可能出現(xiàn)的一致性問題示意圖;圖5為用軟件處理的方法來保證PHY芯片內(nèi)部時間和FPGA維護(hù)時間一致性流程圖;圖6為多顆PHY芯片時間同步示意圖。
具體實施例方式圖1為本實施例的系統(tǒng)框圖,其中包括CPU模塊10、Switch模塊12、PHY芯片模塊 14、FPGA 模塊 11 和 DPLL 模塊 13。CPU模塊10,運(yùn)行系統(tǒng)軟件,管理整個系統(tǒng);Switch模塊12,為系統(tǒng)的核心交換模塊,除完成轉(zhuǎn)發(fā)功能外,還負(fù)責(zé)將PTP報文送到CPU模塊進(jìn)行處理;PHY芯片模塊14,除完成數(shù)據(jù)包編解碼和收發(fā)功能外,還負(fù)責(zé)識別PTP事件報文, 并將其時間戳鎖存到特定寄存器中,并產(chǎn)生中斷信號4通知CPU模塊來讀??;從以太網(wǎng)鏈路上提取時鐘,并將恢復(fù)時鐘1輸出給DPLL模塊進(jìn)行處理;內(nèi)部計數(shù)器計滿溢出產(chǎn)生脈沖信號2給FPGA ;FPGA模塊11,除外城外圍邏輯控制外,還負(fù)責(zé)接收PHY內(nèi)部計數(shù)器計滿溢出產(chǎn)生的脈沖信號,對時間戳進(jìn)行管理;DPLL模塊13,選擇接收一路從PHY芯片提取并輸出的恢復(fù)時鐘,進(jìn)行鎖相處理后, 輸出高精度的時鐘給所有PHY芯片,從而達(dá)到頻率同步。圖2為本發(fā)明實施例中的物理層同步以太網(wǎng)框圖。其中系統(tǒng)中共有三顆PHY芯片, 每顆PHY芯片上有四個端口,都支持SyncE技術(shù),但只能選擇其中的一個輸出恢復(fù)時鐘。每顆PHY芯片輸出的恢復(fù)時鐘引腳連接到一個多路選擇器上,時鐘選擇器選擇其中的一路輸入給數(shù)字鎖相環(huán),數(shù)字鎖相環(huán)經(jīng)過鎖相處理后再將之作為PHY芯片的工作時鐘。這樣,本地 PHY芯片的工作頻率就和上游時鐘的頻率達(dá)到了同步。圖3為時間戳管理模塊的實現(xiàn)框圖。在PTP中,時間戳由兩部分組成,48bit的秒部分和32bit的納秒部分。PHY芯片的時間計數(shù)器為32bit寄存器,計數(shù)器的粒度為8納秒,因此計數(shù)器的最大計數(shù)時間為2~32*8納秒,即34秒+359738368納秒。當(dāng)PHY芯片時間計數(shù)器計滿溢出時,會產(chǎn)生一個脈沖輸出給FPGA,F(xiàn)PGA對這以脈沖進(jìn)行計數(shù)(即FPGA的計數(shù)器的計數(shù)粒度為34秒+359738368納秒),從而形成完整的硬件時間戳。圖4為PHY芯片內(nèi)部時間和FPGA維護(hù)時間可能出現(xiàn)的一致性問題示意圖。PTP報文到來的時候,PHY芯片內(nèi)部時間部分被鎖存到了特定的寄存器中,但是對應(yīng)的FPGA維護(hù)的時間部分并未鎖存,時間是在流動的,這樣會導(dǎo)致CPU讀取FPGA維護(hù)部分的時間的時候, 有可能已經(jīng)被更新了,而不是PTP報文到達(dá)時刻時對應(yīng)的FPGA維護(hù)部分時間,這樣就會導(dǎo)致FPGA維護(hù)時間值差1。圖5為用軟件處理的方法來保證PHY芯片內(nèi)部時間和FPGA維護(hù)時間一致性流程圖。步驟如下步驟501,PTP報文到達(dá),PHY芯片識別其為PTP報文,將當(dāng)前PHY時間計數(shù)器值 Tphy-ptp鎖存到特定寄存器中,PHY時間計數(shù)器繼續(xù)遞增;步驟502,讀取PHY芯片內(nèi)部鎖定的時間Tphy-ptp ;步驟503,讀取FPGA維護(hù)的當(dāng)前時間Tfpgal ;步驟504,讀取PHY芯片內(nèi)部時間計數(shù)器的當(dāng)前值Tphy-cur (非PTP報文到達(dá)時刻鎖存值);步驟505,如果Tphy-cur大于Tphy-ptp,則說明PHY計數(shù)器值還沒有溢出,因此 FPGA內(nèi)部的時間還沒有更新,則步驟503中讀取的Tfpgal就是PTP報文到達(dá)時刻所對應(yīng)的 FPGA維護(hù)的時間;步驟506,將Tfpgal作為PTP報文到達(dá)時刻對應(yīng)的FPGA內(nèi)部維護(hù)時間,轉(zhuǎn)步驟 509 ;步驟507,如果Tphy-cur小于Tphy-ptp,則說明PHY計數(shù)器值已經(jīng)有溢出,F(xiàn)PGA內(nèi)部的時間計數(shù)值進(jìn)行了加1的更新操作,即先前讀取的Tfpgal是無效的,因為不知道讀取的Tfpgal是在PHY計數(shù)器值溢出前(FPGA維護(hù)時間更新前)讀的還是在PHY計數(shù)器值溢出后(FPGA維護(hù)時間更新后)讀的,這時需要再次讀取FPGA內(nèi)部維護(hù)時間值Tfpga2 ;步驟508,PTP報文到達(dá)時刻對應(yīng)的FPGA內(nèi)部維護(hù)時間為Tfpga2減1,記做 Tfpga ;步驟509,將Tphy-ptp和Tfpga相加作為PTP報文的硬件時間戳。圖6為多顆PHY芯片時間同步示意圖。當(dāng)系統(tǒng)中有多顆PHY芯片時,每顆PHY芯片都由一個獨(dú)立的時間計數(shù)器。在系統(tǒng)啟動后,它們的起始值是有可能是不一樣的,即它們的初始相位是不一致的,這樣會造成從不通端口進(jìn)入的PTP報文的時間戳的偏差,為了解決這一問題,硬件設(shè)計上采用了一種機(jī)制來進(jìn)行多顆PHY芯片的起始相位同步。PHY芯片提供一種預(yù)置值功能,即在一個外部脈沖的觸發(fā)作用下,可以將一個預(yù)先設(shè)定的值加載到時間計數(shù)器中。這樣,在系統(tǒng)啟動的時候,將所有PHY芯片的預(yù)置值設(shè)定為 0,然后由FPGA輸出一個觸發(fā)脈沖,所有PHY芯片在這一觸發(fā)脈沖作用下,同時將預(yù)置值加載到計數(shù)器當(dāng)中,這樣,就保證了系統(tǒng)中所有PHY芯片的初始相位是對齊的。在PTP協(xié)議的計算過程中,通過由Sync報文和Delay-Req報文產(chǎn)生的四個時間戳計算出主時鐘和從時鐘之間的時間偏差Toffset,以及鏈路延時Tdelay。對于一個具體的鏈路來說,理想情況下雙向的延時是一樣的,但實際情況并非如此,會有一些偏差,但不會太大,且Tdelay基本上不變化,因此對它的濾波采用了均值濾波;主從偏差Toffset反映的是主從時鐘之間的偏差,有一定的波動,因此對其采取了加權(quán)濾波的方法距離本次計算的時間越近,權(quán)值越大,越遠(yuǎn)則越小,這里取本次計算的權(quán)值為1/2,前一次為1/4,以此類推。PHY芯片提供了一種機(jī)制來調(diào)整時間偏差,即通過調(diào)整PHY的內(nèi)部時間計數(shù)器值來動態(tài)調(diào)整主從偏差,但這樣有兩個缺點(1)進(jìn)行正向調(diào)整時(即對PHY計數(shù)器值進(jìn)行加操作),當(dāng)調(diào)整量大于PHY計數(shù)器溢出剩余值時,PHY不會產(chǎn)生溢出脈沖,導(dǎo)致FPGA不會進(jìn)行累加操作,從而導(dǎo)致時間信息丟失。進(jìn)行負(fù)向操作時(即對PHY計數(shù)器值進(jìn)行減操作),當(dāng)調(diào)整量大于PHY計數(shù)器值的當(dāng)前值,導(dǎo)致PHY計數(shù)器值反向溢出,這時也不會產(chǎn)生脈沖,導(dǎo)致FPGA值不會減一,從而導(dǎo)致時間誤差。(2)系統(tǒng)中所有PHY需要同步,調(diào)整量需要對所有PHY進(jìn)行,如果系統(tǒng)中PHY比較多,則操作就會經(jīng)歷一段時間,在調(diào)整各顆PHY的時間間隙內(nèi)進(jìn)入的PTP數(shù)據(jù)包的時間戳就會不準(zhǔn)確。鑒于上述兩個缺點,本實施例采用了軟件的方法來進(jìn)行調(diào)整,即將調(diào)整量用一個軟件變量來表示,每次調(diào)整都針對該軟件變量進(jìn)行,這樣就不會在對PHY計數(shù)器值調(diào)整時引入時間的信息丟失和錯誤;軟件調(diào)整是瞬間完成的,避免了對所有PHY進(jìn)行操作,這樣同時也避免了調(diào)整各顆PHY的時間間隙內(nèi)引入的誤差。
權(quán)利要求
1.一種納秒級精度PTP實現(xiàn)方法,在物理層芯片(PHY)識別PTP報文并記錄其離開或到達(dá)的時間戳;在物理層通過同步以太網(wǎng)(SyncE)技術(shù)實現(xiàn)頻率同步;其特征在于,通過 PHY芯片和FPGA相結(jié)合的方式管理時間戳,采用軟件處理的方法,保證PTP報文到來時刻 PHY芯片內(nèi)部時間和FPGA維護(hù)時間的一致性。
2.根據(jù)權(quán)利要求1所述的納秒級精度PTP實現(xiàn)方法,其特征在于,采用軟件處理的方法,保證PTP報文到來時刻PHY芯片內(nèi)部時間和FPGA維護(hù)時間的一致性,其步驟是1)讀取PHY芯片維護(hù)的PTP報文到達(dá)時刻鎖存的計數(shù)器值Tphy-ptp;2)讀取FPGA維護(hù)的當(dāng)前時間Tfpgal;3)讀取PHY芯片的計數(shù)器當(dāng)前值Tphy-cur(非PTP報文到達(dá)時刻鎖存值);4)如果Tphy-cur大于Tphy-ptp,則2)中讀取的Tfpgal就是PTP報文到達(dá)時刻所對應(yīng)的FPGA維護(hù)的時間5)如果Tphy-cur小于Tphy-ptp,則再次讀取FPGA維護(hù)的時間計數(shù)值Tfpga2,則PTP 報文到達(dá)時刻的FPGA維護(hù)的時間計數(shù)值為Tfpga2-1。
3.根據(jù)權(quán)利要求1所述的納秒級精度PTP實現(xiàn)方法,其特征在于,物理層芯片識別到達(dá)或離開的PTP報文,并將其到達(dá)或離開的時刻的時間值鎖存到物理層芯片內(nèi)部的寄存器中,同時觸發(fā)中斷給CPU,CPU在中斷處理程序中讀取該時間戳并交由PTP協(xié)議軟件進(jìn)行計笪弁。
4.根據(jù)權(quán)利要求1所述的納秒級精度PTP實現(xiàn)方法,其特征在于,物理層芯片通過同步以太網(wǎng)技術(shù)從以太網(wǎng)鏈路上提取恢復(fù)時鐘,并通過數(shù)字鎖相環(huán)鎖相后反饋給物理層芯片作為其工作時鐘。
5.根據(jù)權(quán)利要求1所述的納秒級精度PTP實現(xiàn)方法,其特征在于,物理層芯片的內(nèi)部時間計數(shù)器計滿溢出產(chǎn)生脈沖,F(xiàn)PGA對這一進(jìn)位脈沖進(jìn)行計數(shù),物理層芯片內(nèi)部的時間計數(shù)器和FPGA維護(hù)的時間計數(shù)器結(jié)合在一起組成PTP報文的硬件時間戳。
6.根據(jù)權(quán)利要求1、3或5任何一個所述的納秒級精度PTP實現(xiàn)方法,其特征在于,PTP 報文的時間戳有三部分組成PHY芯片維護(hù)的計數(shù)器值,F(xiàn)PGA維護(hù)的計數(shù)器值,軟件變量維護(hù)的主從間的時間偏差值。
7.根據(jù)權(quán)利要求1所述的納秒級精度PTP實現(xiàn)方法,其特征在于,當(dāng)系統(tǒng)中存在多顆 PHY芯片時,在系統(tǒng)初始化時,F(xiàn)PGA保證同時給所有PHY芯片輸出一同步觸發(fā)脈沖,所有PHY 芯片在這一同步脈沖的作用下將內(nèi)部計數(shù)器值清零,使系統(tǒng)中的所有PHY芯片起始相位對齊。
8.根據(jù)權(quán)利要求3所述的納秒級精度PTP實現(xiàn)方法,其特征在于,在PTP協(xié)議軟件計算過程中,對于鏈路延采用均值濾波,對于主從時鐘的時間偏差采用加權(quán)濾波。
9.根據(jù)權(quán)利要求3所述的納秒級精度PTP實現(xiàn)方法,其特征在于,采用將通過PTP協(xié)議計算出的主從時鐘的偏差保存到軟件變量中的方法調(diào)整時間偏差。
全文摘要
本發(fā)明公開一種納秒級精度PTP實現(xiàn)方法,在物理層芯片(PHY)識別PTP報文并記錄其離開或到達(dá)的時間戳;在物理層通過同步以太網(wǎng)(SyncE)技術(shù)實現(xiàn)頻率同步;通過PHY芯片和FPGA相結(jié)合的方式管理時間戳,采用軟件處理的方法,保證PTP報文到來時刻PHY芯片內(nèi)部時間和FPGA維護(hù)時間的一致性。采用本發(fā)明的技術(shù)方案,可以滿足通信系統(tǒng)當(dāng)中對時間同步精度的要求,使PTP的同步精度達(dá)到納秒級別。
文檔編號H04L29/06GK102195768SQ20111014332
公開日2011年9月21日 申請日期2011年5月30日 優(yōu)先權(quán)日2011年5月30日
發(fā)明者冀朝陽 申請人:神州數(shù)碼網(wǎng)絡(luò)(北京)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1