一種基于tdm的網(wǎng)絡(luò)時(shí)鐘恢復(fù)方法
【專利摘要】本發(fā)明涉及一種網(wǎng)絡(luò)通信領(lǐng)域,特別涉及一種基于TDM的網(wǎng)絡(luò)時(shí)鐘恢復(fù)方法。包含將接收到的網(wǎng)絡(luò)數(shù)據(jù)中控制字部分分出,并計(jì)算、調(diào)整恢復(fù)時(shí)鐘的步驟;本發(fā)明提供的基于TDM的網(wǎng)絡(luò)始終恢復(fù)系統(tǒng)采用數(shù)據(jù)排序和時(shí)鐘恢復(fù)分徑處理,處理速度更快;數(shù)據(jù)排序采用按照序列號(hào)直接存入相應(yīng)位置的方法,排序效率更高,同時(shí)具有丟包、無效包處理、計(jì)數(shù)功能;同時(shí)采用針對(duì)數(shù)據(jù)序列號(hào)采樣計(jì)數(shù)的方式實(shí)現(xiàn)數(shù)據(jù)的時(shí)鐘自適應(yīng)恢復(fù),恢復(fù)所需時(shí)間短,恢復(fù)精度高;在對(duì)時(shí)鐘進(jìn)行調(diào)整的過程中采用離散插入脈沖方式,使得時(shí)鐘調(diào)整更加平穩(wěn),時(shí)鐘脈沖抖動(dòng)小,采用本發(fā)明系統(tǒng)實(shí)現(xiàn)的2.048MHz恢復(fù)時(shí)鐘精度高達(dá)10ppb,很好滿足網(wǎng)絡(luò)數(shù)據(jù)收發(fā)同步的目的。
【專利說明】-種基于TDM的網(wǎng)絡(luò)時(shí)鐘恢復(fù)方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及一種網(wǎng)絡(luò)通信領(lǐng)域,特別涉及一種基于TDM的網(wǎng)絡(luò)時(shí)鐘恢復(fù)方法。
【背景技術(shù)】
[0002] 如圖1所示,CES (Circuit Emulation Service)電路仿真提供一種從電路交換 網(wǎng)到分組交換網(wǎng)的平穩(wěn)過渡方案,發(fā)送端PE設(shè)備將TDM數(shù)據(jù)通過實(shí)時(shí)封裝,經(jīng)分組網(wǎng)絡(luò)傳 輸達(dá)接收端,在接收端PE設(shè)備接收端數(shù)據(jù)緩存隊(duì)列恢復(fù)出同步時(shí)鐘,同步時(shí)鐘解封裝數(shù)據(jù) 幀,重組為TDM數(shù)據(jù)流;但因?yàn)門DM網(wǎng)是一種同步網(wǎng),分組網(wǎng)為典型的異步網(wǎng),TDM數(shù)據(jù)在通 過分組網(wǎng)傳送到接收端時(shí)會(huì)造成自身的時(shí)鐘信息丟失,因此在接收端恢復(fù)TDM數(shù)據(jù)時(shí)的時(shí) 鐘恢復(fù)技術(shù)至關(guān)重要,數(shù)據(jù)時(shí)鐘信息的恢復(fù)直接影響數(shù)據(jù)傳輸?shù)馁|(zhì)量,目前的時(shí)鐘恢復(fù)技 術(shù)存在著恢復(fù)所需時(shí)間長、恢復(fù)精度差等問題。
【發(fā)明內(nèi)容】
[0003] 本發(fā)明的目的在于克服現(xiàn)有技術(shù)中所存在的上述不足,提供一種恢復(fù)精度高、恢 復(fù)所需時(shí)間短的基于TDM的網(wǎng)絡(luò)時(shí)鐘恢復(fù)系統(tǒng);包括數(shù)據(jù)時(shí)鐘分徑模塊、數(shù)據(jù)緩存模塊、時(shí) 鐘恢復(fù)模塊、并串處理模塊;所述數(shù)據(jù)時(shí)鐘分徑模塊分別與所述數(shù)據(jù)緩存模塊、時(shí)鐘恢復(fù)模 塊連接;所述數(shù)據(jù)緩存模塊、所述時(shí)鐘恢復(fù)模塊均與所述并串處理模塊連接。
[0004] 所述數(shù)據(jù)時(shí)鐘分徑模塊用于將從分組網(wǎng)絡(luò)接收到的網(wǎng)絡(luò)數(shù)據(jù)中的控制字部分送 入時(shí)鐘恢復(fù)模塊。
[0005] 所述數(shù)據(jù)緩存模塊用于對(duì)所述網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行排序、丟包處理。
[0006] 所述時(shí)鐘恢復(fù)模塊用于接收所述網(wǎng)絡(luò)數(shù)據(jù)的控制字部分,并計(jì)算、調(diào)整所述網(wǎng)絡(luò) 數(shù)據(jù)的恢復(fù)時(shí)鐘。
[0007] 所述并串處理模塊用于將所述經(jīng)過排序、丟包處理的網(wǎng)絡(luò)數(shù)據(jù)和計(jì)算調(diào)整出的恢 復(fù)時(shí)鐘頻率進(jìn)行并串處理。
[0008] 進(jìn)一步的,所述時(shí)鐘恢復(fù)模塊包括控制模塊、計(jì)數(shù)器模塊、偏差計(jì)算模塊和時(shí)鐘調(diào) 整模塊;所述控制模塊分別與所述計(jì)數(shù)器模塊和偏差計(jì)算模塊連接;所述偏差計(jì)算模塊與 所述時(shí)鐘調(diào)整模塊連接;所述時(shí)鐘調(diào)整模塊的輸出端與所述計(jì)數(shù)器模塊連接。
[0009]所述控制模塊用于控制各個(gè)模塊的運(yùn)行;所述計(jì)數(shù)器模塊用于根據(jù)所述時(shí)鐘調(diào)整 模塊輸出的當(dāng)前恢復(fù)時(shí)鐘頻率對(duì)接收到的數(shù)據(jù)進(jìn)行計(jì)數(shù);所述偏差計(jì)算模塊用于計(jì)算當(dāng)前 恢復(fù)時(shí)鐘頻率的時(shí)鐘偏差;所述時(shí)鐘調(diào)整模塊用于根據(jù)所述偏差計(jì)算模塊的計(jì)算結(jié)果調(diào)整 數(shù)據(jù)的恢復(fù)時(shí)鐘,并將當(dāng)前恢復(fù)時(shí)鐘輸出。
[0010] 進(jìn)一步的,所述偏差計(jì)算模塊包括時(shí)鐘計(jì)數(shù)值累加模塊,時(shí)鐘采樣次數(shù)累加模塊、 平均時(shí)鐘計(jì)數(shù)計(jì)算模塊和平均時(shí)鐘計(jì)數(shù)對(duì)比模塊。
[0011] 所述時(shí)鐘計(jì)數(shù)值累加模塊用于累加單一計(jì)算周期內(nèi)的時(shí)鐘計(jì)數(shù)累加值。
[0012] 所述時(shí)鐘采樣次數(shù)模塊用于記錄單一計(jì)算周期內(nèi)實(shí)際采樣次數(shù)。
[0013] 平均時(shí)鐘計(jì)數(shù)計(jì)算模塊用于計(jì)算并存儲(chǔ)單一計(jì)算周期內(nèi)的平均時(shí)鐘計(jì)數(shù),計(jì)算周 期內(nèi)的平均時(shí)鐘計(jì)數(shù)=計(jì)算周期內(nèi)的時(shí)鐘計(jì)數(shù)累加值/計(jì)算周期內(nèi)實(shí)際采樣次數(shù)。
[0014] 所述平均時(shí)鐘計(jì)數(shù)對(duì)比模塊用于對(duì)比當(dāng)前時(shí)鐘周期內(nèi)平均時(shí)鐘計(jì)數(shù)與上一時(shí)鐘 周期內(nèi)的平均時(shí)鐘計(jì)數(shù)的大小。
[0015] 進(jìn)一步的,所述時(shí)鐘調(diào)整模塊中包括基準(zhǔn)脈沖產(chǎn)生模塊、恢復(fù)時(shí)鐘產(chǎn)生模塊和脈 沖增減模塊。
[0016] 所述基準(zhǔn)脈沖產(chǎn)生模塊用于產(chǎn)生基準(zhǔn)脈沖。
[0017] 所述恢復(fù)時(shí)鐘產(chǎn)生模塊用于根據(jù)所述基準(zhǔn)脈沖產(chǎn)生當(dāng)前恢復(fù)時(shí)鐘。
[0018] 所述脈沖增減模塊用于根據(jù)所述偏差計(jì)算模塊的計(jì)算結(jié)果對(duì)當(dāng)前恢復(fù)時(shí)鐘包含 的基準(zhǔn)脈沖進(jìn)行增減操作。
[0019] 優(yōu)選的,所述基準(zhǔn)脈沖頻率為327. 68MHz。
[0020] 優(yōu)選的,所述計(jì)數(shù)器模塊中采用遞減的方式實(shí)現(xiàn)接收數(shù)據(jù)的計(jì)數(shù)。
[0021] 進(jìn)一步的,所述數(shù)據(jù)緩存模塊包括寫入控制模塊、讀出控制模塊、抖動(dòng)緩存模塊, 所述寫入控制模塊的輸入端與數(shù)據(jù)接收端口連接,所述寫入控制模塊的輸出端與所述抖動(dòng) 緩存模塊連接,所述抖動(dòng)緩存模塊還與所述讀出控制模塊連接;所述寫入控制模塊用于控 制網(wǎng)絡(luò)數(shù)據(jù)的寫入;所述抖動(dòng)緩存模塊用于存儲(chǔ)所述網(wǎng)絡(luò)數(shù)據(jù);所述讀出控制模塊用于控 制所述抖動(dòng)緩存模塊中網(wǎng)絡(luò)數(shù)據(jù)的讀出。
[0022] 進(jìn)一步的,所述抖動(dòng)緩存模塊包括標(biāo)志存儲(chǔ)模塊和數(shù)據(jù)存儲(chǔ)模塊,所述標(biāo)志存儲(chǔ) 模塊包括寫讀標(biāo)志存儲(chǔ)模塊和序列號(hào)存儲(chǔ)模塊;所述數(shù)據(jù)存儲(chǔ)模塊用于存儲(chǔ)所述網(wǎng)絡(luò)數(shù)據(jù) 的凈荷部分;所述讀寫標(biāo)志存儲(chǔ)模塊用于存儲(chǔ)與凈荷部分一一對(duì)應(yīng)的寫讀標(biāo)志;所述序列 號(hào)存儲(chǔ)模塊用于存儲(chǔ)網(wǎng)絡(luò)數(shù)據(jù)的序列號(hào)部分。
[0023] 進(jìn)一步的,所述寫入控制模塊還連接有寫基準(zhǔn)時(shí)鐘產(chǎn)生模塊,所述讀出控制模塊 還連接有讀恢復(fù)時(shí)鐘產(chǎn)生模塊,所述寫基準(zhǔn)時(shí)鐘產(chǎn)生模塊用于產(chǎn)生控制所述寫入控制模塊 的基準(zhǔn)時(shí)鐘;所述讀恢復(fù)時(shí)鐘產(chǎn)生模塊用于產(chǎn)生控制所述讀出控制模塊的恢復(fù)時(shí)鐘。
[0024] 優(yōu)選的,所述寫入數(shù)據(jù)步驟在81. 92MHz基準(zhǔn)時(shí)鐘下工作,所述讀出數(shù)據(jù)步驟在 81. 92MHz恢復(fù)時(shí)鐘下工作。
[0025] 進(jìn)一步的,所述數(shù)據(jù)緩存模塊還包括數(shù)據(jù)包計(jì)數(shù)模塊,所述數(shù)據(jù)包計(jì)數(shù)模塊同時(shí) 與所述寫入控制模塊和所述讀出控制模塊連接,其用于記錄系統(tǒng)接收到的正常包、重復(fù)包、 延時(shí)包、丟包數(shù)量。
[0026] 本發(fā)明同時(shí)提供一種恢復(fù)精度高、恢復(fù)所需時(shí)間短的基于TDM的網(wǎng)絡(luò)時(shí)鐘恢復(fù)方 法,包含以下步驟: 包含將待傳送網(wǎng)絡(luò)數(shù)據(jù)按照指定幀數(shù)進(jìn)行封裝的步驟。
[0027] 包含將接收到的網(wǎng)絡(luò)數(shù)據(jù)中控制字部分分出,并計(jì)算、調(diào)整恢復(fù)時(shí)鐘的步驟。
[0028] 包含將接收到的網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行排序、丟包處理的步驟。
[0029] 包含將所述經(jīng)過排序、丟包處理的網(wǎng)絡(luò)數(shù)據(jù)和計(jì)算調(diào)整出的恢復(fù)時(shí)鐘頻率進(jìn)行并 串處理的步驟。
[0030] 進(jìn)一步的,所述從控制字部分提取時(shí)序序列號(hào)依照當(dāng)前恢復(fù)時(shí)鐘進(jìn)行計(jì)數(shù)的步驟 中: 包含在單個(gè)計(jì)算周期內(nèi),按照指定采樣周期tsam針對(duì)控制字部分進(jìn)行采樣,并根據(jù)采樣 結(jié)果進(jìn)行時(shí)鐘計(jì)數(shù)的步驟;所述單個(gè)計(jì)算周期內(nèi)包含有1個(gè)以上的采樣周期tsam。
[0031] 包含計(jì)算單個(gè)計(jì)算周期內(nèi)平均時(shí)鐘計(jì)數(shù)的步驟,所述計(jì)算周期內(nèi)平均時(shí)鐘計(jì)數(shù) Sn=計(jì)算周期內(nèi)時(shí)鐘計(jì)數(shù)累加值/計(jì)算周期內(nèi)采樣次數(shù)。
[0032] 包含將當(dāng)前計(jì)算周期內(nèi)平均時(shí)鐘計(jì)數(shù)5"與上個(gè)計(jì)算周期內(nèi)平均時(shí)鐘計(jì)數(shù)Sn_i進(jìn)行 比較的步驟。
[0033] 包含將下個(gè)計(jì)算周期平均分為N個(gè)調(diào)整段的步驟,N為1以上的自然數(shù)。
[0034] 包含根據(jù)比較結(jié)果對(duì)下個(gè)計(jì)算周期內(nèi)當(dāng)前恢復(fù)時(shí)鐘每個(gè)調(diào)整段包含的基準(zhǔn)脈沖 數(shù)進(jìn)行增減調(diào)整的步驟,每次增加或者減少的脈沖數(shù)量均為額定脈沖數(shù)量IMPnUffl;IMP_為 根據(jù)需要預(yù)設(shè)的1以上的自然數(shù)。
[0035] 進(jìn)一步的,根據(jù)比較結(jié)果對(duì)下個(gè)計(jì)算周期內(nèi)當(dāng)前恢復(fù)時(shí)鐘每個(gè)調(diào)整段包含的基準(zhǔn) 脈沖數(shù)進(jìn)行增減調(diào)整的步驟中,如Sn>Sn_i,則所述下個(gè)計(jì)算周期內(nèi)當(dāng)前恢復(fù)時(shí)鐘每個(gè)調(diào)整 段的基準(zhǔn)脈沖數(shù)減少IMPnUffl個(gè),否則所述下個(gè)計(jì)算周期內(nèi)當(dāng)前恢復(fù)時(shí)鐘每個(gè)調(diào)整段的基準(zhǔn) 脈沖數(shù)增加IMPnum個(gè)。
[0036] 進(jìn)一步的,在對(duì)當(dāng)前恢復(fù)時(shí)鐘包含的基準(zhǔn)脈沖進(jìn)行增減調(diào)整的步驟中,每次增加 的頂P?個(gè)脈沖為離散的插入到原脈沖序列中;或,每次減少的IMPnum個(gè)脈沖為離散的從原 脈沖序列中去除。
[0037] 進(jìn)一步的,所述網(wǎng)絡(luò)時(shí)鐘恢復(fù)方法按照時(shí)間先后和時(shí)鐘收斂速度分為快速收斂階 段、慢速收斂階段和鎖定收斂階段三個(gè)階段。
[0038] 所述快速收斂階段、慢速收斂階段、鎖定收斂階段均包含有一個(gè)以上的計(jì)算周期。
[0039] 其中,所述快速收斂階段的計(jì)算周期小于所述慢速收斂階段的計(jì)算周期,所述慢 速收斂階段的計(jì)算周期小于所述鎖定收斂階段的計(jì)算周期。
[0040] 所述離散補(bǔ)償調(diào)整方法還包含根據(jù)預(yù)設(shè)條件判斷是否進(jìn)入下一階段的步驟。
[0041] 進(jìn)一步的,所述預(yù)設(shè)條件為本階段中增加時(shí)鐘脈沖次數(shù)的計(jì)算周期數(shù)>1,同時(shí), 減少時(shí)鐘脈沖次數(shù)的計(jì)算周期數(shù)>1;如滿足所述預(yù)設(shè)條件,則進(jìn)入下一階段。
[0042] 進(jìn)一步的,所述額定脈沖數(shù)量IMP_隨著所述計(jì)算周期的延長而不斷減小;其中, 所述鎖定收斂階段的計(jì)算周期中,所述額定脈沖數(shù)量IMPnUffl為1。
[0043] 進(jìn)一步的,任意收斂階段中,進(jìn)行比較時(shí),如果|Sn_Sn_i| >收斂失敗標(biāo) 識(shí)值Fail,則本次時(shí)鐘恢復(fù)終止,返回快速收斂階段初始狀態(tài),重新開始進(jìn)行時(shí)鐘恢復(fù)計(jì) 算;所述收斂失敗標(biāo)識(shí)值Fail為根據(jù)需要設(shè)定的大于1的自然數(shù)。
[0044] 進(jìn)一步的,在快速收斂階段中,進(jìn)行比較時(shí),如果|Sn_Sn_i| >本階段最 大額定脈沖數(shù)量IMPnum*m,則本次時(shí)鐘恢復(fù)終止,返回快速收斂階段初始狀態(tài),重新開始 進(jìn)行時(shí)鐘恢復(fù)計(jì)算。
[0045] 在慢速收斂階段或鎖定收斂階段中,進(jìn)行比較時(shí),如果|Sn_Sn_i| >本階 段最大額定脈沖數(shù)量MPnUffl*m,則本階段時(shí)鐘恢復(fù)終止,返回上一階段初始狀態(tài),重新開 始進(jìn)行時(shí)鐘恢復(fù)計(jì)算。
[0046] 其中,m為根據(jù)需要設(shè)定的大于2的自然數(shù)。
[0047] 進(jìn)一步的,所述將接收到的網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行排序、丟包處理的步驟中包含如下寫入 數(shù)據(jù)步驟: (1)系統(tǒng)上電,抖動(dòng)緩存模塊清零。
[0048] (2)根據(jù)接收到的第一個(gè)數(shù)據(jù)包的序列號(hào)SEQ值初始化序列號(hào)存儲(chǔ)模塊以及讀指 針;即,將該序列號(hào)SEQ寫入序列號(hào)存儲(chǔ)模塊的第一位置,并根據(jù)所述序列號(hào)存儲(chǔ)模塊的容 量,以該序列號(hào)SEQ為起始值將所述序列號(hào)存儲(chǔ)模塊向后填滿;將第一數(shù)據(jù)包凈荷數(shù)據(jù)寫 入數(shù)據(jù)存儲(chǔ)模塊對(duì)應(yīng)位置,對(duì)應(yīng)寫讀標(biāo)志設(shè)為已寫標(biāo)志。
[0049] (3)接收新數(shù)據(jù),遍歷所述序列號(hào)存儲(chǔ)模塊,查找是否含有新接收數(shù)據(jù)序列號(hào)SEQ, 如有,進(jìn)入步驟(5),否則,進(jìn)入步驟(4)。
[0050] (4)該數(shù)據(jù)包為無效包,無效包計(jì)數(shù)加1,該無效包丟棄,返回步驟3。
[0051] (5)判斷與該序列號(hào)SEQ對(duì)應(yīng)的寫讀標(biāo)志是否為已寫標(biāo)志,如是,進(jìn)入步驟(6);如 否,進(jìn)入步驟(7)。
[0052] (6)該數(shù)據(jù)包為重復(fù)包,重復(fù)包計(jì)數(shù)加1 ;返回步驟(3)。
[0053] (7)在數(shù)據(jù)存儲(chǔ)模塊中該序列號(hào)對(duì)應(yīng)位置寫入凈荷數(shù)據(jù),將與該序列號(hào)對(duì)應(yīng)的寫 讀標(biāo)志設(shè)為已寫標(biāo)志;返回步驟(3)。
[0054] 進(jìn)一步的,所述將接收到的網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行排序、丟包處理的步驟中還包括如下讀 出數(shù)據(jù)步驟: (1)從所述讀指針指向的序列號(hào)SEQ開始順序讀取數(shù)。
[0055] (2)判斷讀指針指向的序列號(hào)SEQ對(duì)應(yīng)的寫讀標(biāo)志是否為已寫標(biāo)志,如是,進(jìn)入步 驟(3);如否進(jìn)入步驟(4)。
[0056] (3)從數(shù)據(jù)存儲(chǔ)模塊對(duì)應(yīng)位置讀出凈荷數(shù)據(jù);將對(duì)應(yīng)寫讀標(biāo)志清零;數(shù)據(jù)存儲(chǔ)模 塊對(duì)應(yīng)位置清零;正常包計(jì)數(shù)加1,進(jìn)入步驟(7)。
[0057] (4)判斷寫讀標(biāo)志存儲(chǔ)模塊是否為延時(shí)標(biāo)志,如是進(jìn)入步驟(5);如不是進(jìn)入步驟 (6)。
[0058] (5)將該序列號(hào)SEQ對(duì)應(yīng)的數(shù)據(jù)以補(bǔ)空包方式讀出;丟包計(jì)數(shù)加1,進(jìn)入步驟(7)。
[0059] (6)將對(duì)應(yīng)讀寫標(biāo)志設(shè)置延時(shí)標(biāo)志;將該序列號(hào)SEQ對(duì)應(yīng)的數(shù)據(jù)以補(bǔ)空包方式讀 出;延時(shí)包計(jì)數(shù)加1,進(jìn)入步驟(7)。
[0060] (7)將序列存儲(chǔ)模塊中該SEQ值加所述序列號(hào)存儲(chǔ)模塊容量值后重新覆蓋該位 置,讀寫指針加1并返回步驟(2)。
[0061] 進(jìn)一步的,所述將接收到的網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行排序、丟包處理的步驟中,所述已寫標(biāo)志 為0X1234,所述延時(shí)標(biāo)志為0X5678。
[0062] 進(jìn)一步的,所述將接收到的網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行排序、丟包處理的步驟中,所述寫入數(shù)據(jù) 步驟在81. 92MHz基準(zhǔn)時(shí)鐘下工作,所述讀出數(shù)據(jù)步驟在81. 92MHz恢復(fù)時(shí)鐘下工作。
[0063] 進(jìn)一步的,所述將接收到的網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行排序、丟包處理的步驟中,以補(bǔ)空包方式 讀出是指將數(shù)據(jù)設(shè)置為〇讀出,即將該數(shù)據(jù)包對(duì)應(yīng)數(shù)據(jù)位設(shè)置為0x00,并將該數(shù)據(jù)按照數(shù) 據(jù)位大小補(bǔ)充到讀出序列中,以避免讀出數(shù)據(jù)出現(xiàn)時(shí)延。
[0064] 與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果:本發(fā)明提供的基于TDM的網(wǎng)絡(luò)始終恢復(fù)系 統(tǒng)采用數(shù)據(jù)排序和時(shí)鐘恢復(fù)分徑處理,處理速度更快;數(shù)據(jù)排序采用按照序列號(hào)直接存入 相應(yīng)位置的方法,排序效率更高,同時(shí)具有丟包、無效包處理、計(jì)數(shù)功能;同時(shí)采用針對(duì)數(shù)據(jù) 序列號(hào)采樣計(jì)數(shù)的方式實(shí)現(xiàn)數(shù)據(jù)的時(shí)鐘自適應(yīng)恢復(fù),恢復(fù)所需時(shí)間短,恢復(fù)精度高;在對(duì)時(shí) 鐘進(jìn)行調(diào)整的過程中采用離散插入脈沖方式,使得時(shí)鐘調(diào)整更加平穩(wěn),時(shí)鐘脈沖抖動(dòng)小,采 用本發(fā)明系統(tǒng)實(shí)現(xiàn)的2. 048MHz恢復(fù)時(shí)鐘精度高達(dá)lOppb,很好滿足網(wǎng)絡(luò)數(shù)據(jù)收發(fā)同步的目 的。
[0065]【專利附圖】
【附圖說明】: 圖1為【背景技術(shù)】中TDM數(shù)據(jù)分組傳送示意圖。
[0066] 圖2為本發(fā)明網(wǎng)絡(luò)時(shí)鐘恢復(fù)系統(tǒng)結(jié)構(gòu)示意圖。
[0067] 圖3為本發(fā)明時(shí)鐘恢復(fù)模塊結(jié)構(gòu)示意圖。
[0068] 圖4為本發(fā)明數(shù)據(jù)緩存模塊結(jié)構(gòu)示意圖。
[0069] 圖5為本發(fā)明網(wǎng)絡(luò)數(shù)據(jù)時(shí)鐘恢復(fù)方法的流程圖。
[0070] 圖6為本發(fā)明計(jì)算、調(diào)整時(shí)鐘頻率流程圖。
[0071] 圖7為本發(fā)明網(wǎng)絡(luò)數(shù)據(jù)計(jì)數(shù)流程圖。
[0072] 圖8為本發(fā)明實(shí)施例2中分階段恢復(fù)時(shí)鐘頻率流程圖。
[0073] 圖9為本發(fā)明實(shí)施例3中分階段恢復(fù)時(shí)鐘頻率流程圖。
[0074] 圖10為本發(fā)明實(shí)施例中抖動(dòng)緩存模塊寫入數(shù)據(jù)流程圖。
[0075] 圖11為本發(fā)明實(shí)施例中抖動(dòng)緩慢模塊讀出數(shù)據(jù)流程圖。
[0076] 圖中標(biāo)記:1_數(shù)據(jù)時(shí)鐘分徑模塊,2-數(shù)據(jù)緩存模塊,21-寫入控制模塊,22-抖動(dòng)緩 存模塊,23-讀出控制模塊,24-寫基準(zhǔn)時(shí)鐘產(chǎn)生模塊,25-讀恢復(fù)時(shí)鐘產(chǎn)生模塊,26-數(shù)據(jù)包 計(jì)數(shù)模塊,3-時(shí)鐘恢復(fù)模塊,31-控制模塊,32-計(jì)數(shù)器模塊,33-偏差計(jì)算模塊,34-時(shí)鐘調(diào) 整模塊,4-并串處理模塊。
【具體實(shí)施方式】
[0077] 下面結(jié)合具體實(shí)施例對(duì)本發(fā)明作進(jìn)一步的詳細(xì)描述。但不應(yīng)將此理解為本發(fā)明 上述主題的范圍僅限于以下的實(shí)施例,凡基于本
【發(fā)明內(nèi)容】
所實(shí)現(xiàn)的技術(shù)均屬于本發(fā)明的范 圍。 實(shí)施例1 :如圖2所不,本實(shí)施例提供一種恢復(fù)精度_、恢復(fù)所需時(shí)間短的基于TDM的 網(wǎng)絡(luò)時(shí)鐘恢復(fù)系統(tǒng);包括數(shù)據(jù)時(shí)鐘分徑模塊1、數(shù)據(jù)緩存模塊2、時(shí)鐘恢復(fù)模塊3、并串處理 模塊4;所述數(shù)據(jù)時(shí)鐘分徑模塊1分別與所述數(shù)據(jù)緩存模塊2、時(shí)鐘恢復(fù)模塊連接3;所述數(shù) 據(jù)緩存模塊2、所述時(shí)鐘恢復(fù)模塊3均與所述并串處理模塊4連接。
[0078] 所述數(shù)據(jù)時(shí)鐘分徑模塊1用于將從分組網(wǎng)絡(luò)接收到的網(wǎng)絡(luò)數(shù)據(jù)中的控制字部分 送入時(shí)鐘恢復(fù)模塊3。
[0079] 所述數(shù)據(jù)緩存模塊2用于對(duì)所述網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行排序、丟包處理。
[0080] 所述時(shí)鐘恢復(fù)模塊3用用于接收所述網(wǎng)絡(luò)數(shù)據(jù)的控制字部分,并計(jì)算、調(diào)整所述 網(wǎng)絡(luò)數(shù)據(jù)的恢復(fù)時(shí)鐘。
[0081] 所述并串處理模塊4用于將所述經(jīng)過排序、丟包處理的網(wǎng)絡(luò)數(shù)據(jù)和計(jì)算調(diào)整出的 恢復(fù)時(shí)鐘頻率進(jìn)行并串處理,從而實(shí)現(xiàn)所述網(wǎng)絡(luò)數(shù)據(jù)時(shí)鐘恢復(fù)。
[0082] 進(jìn)一步的,如圖3所示,所述時(shí)鐘恢復(fù)模塊3包括控制模塊31、計(jì)數(shù)器模塊32、偏 差計(jì)算模塊33和時(shí)鐘調(diào)整模塊34;所述控制模塊31分別與所述計(jì)數(shù)器模塊32和偏差計(jì) 算模塊連接33;所述偏差計(jì)算模塊33與所述時(shí)鐘調(diào)整模塊34連接;所述時(shí)鐘調(diào)整模塊34 的輸出端與所述計(jì)數(shù)器模塊32連接,所述時(shí)鐘調(diào)整模塊34的輸出端與所述計(jì)數(shù)器模塊32 連接。
[0083] 所述控制模塊31用于控制各個(gè)模塊的運(yùn)行;所述計(jì)數(shù)器模塊32用于根據(jù)所述時(shí) 鐘調(diào)整模塊34輸出的當(dāng)前恢復(fù)時(shí)鐘頻率對(duì)接收到的數(shù)據(jù)進(jìn)行計(jì)數(shù);所述偏差計(jì)算模塊33 用于計(jì)算當(dāng)前恢復(fù)時(shí)鐘頻率的時(shí)鐘偏差;所述時(shí)鐘調(diào)整模塊34用于根據(jù)所述偏差計(jì)算模 塊的計(jì)算結(jié)果調(diào)整數(shù)據(jù)的恢復(fù)時(shí)鐘,并將當(dāng)前恢復(fù)時(shí)鐘輸出。
[0084] 進(jìn)一步的,所述偏差計(jì)算模塊33包括時(shí)鐘計(jì)數(shù)值累加模塊,時(shí)鐘采樣次數(shù)累加模 塊、平均時(shí)鐘計(jì)數(shù)計(jì)算模塊和平均時(shí)鐘計(jì)數(shù)對(duì)比模塊。
[0085] 所述時(shí)鐘計(jì)數(shù)值累加模塊用于累加單一計(jì)算周期內(nèi)的時(shí)鐘計(jì)數(shù)累加值。
[0086] 所述時(shí)鐘采樣次數(shù)模塊用于記錄單一計(jì)算周期內(nèi)實(shí)際采樣次數(shù)。
[0087] 平均時(shí)鐘計(jì)數(shù)計(jì)算模塊用于計(jì)算并存儲(chǔ)單一計(jì)算周期內(nèi)的平均時(shí)鐘計(jì)數(shù),所述單 一計(jì)算周期內(nèi)的平均時(shí)鐘計(jì)數(shù)=單一計(jì)算周期內(nèi)的時(shí)鐘計(jì)數(shù)累加值/單一計(jì)算周期內(nèi)實(shí)際 采樣次數(shù)。
[0088] 所述平均時(shí)鐘計(jì)數(shù)對(duì)比模塊用于對(duì)比當(dāng)前時(shí)鐘周期內(nèi)平均時(shí)鐘計(jì)數(shù)與上一時(shí)鐘 周期內(nèi)的平均時(shí)鐘計(jì)數(shù)的大小。
[0089] 進(jìn)一步的,所述時(shí)鐘調(diào)整模塊34中包括基準(zhǔn)脈沖產(chǎn)生模塊、恢復(fù)時(shí)鐘產(chǎn)生模塊和 脈沖增減模塊;所述基準(zhǔn)脈沖產(chǎn)生模塊用于產(chǎn)生基準(zhǔn)脈沖;所述恢復(fù)時(shí)鐘產(chǎn)生模塊用于根 據(jù)所述基準(zhǔn)脈沖產(chǎn)生當(dāng)前恢復(fù)時(shí)鐘;所述脈沖增減模塊用于根據(jù)所述偏差計(jì)算模塊的計(jì)算 結(jié)果對(duì)當(dāng)前恢復(fù)時(shí)鐘包含的基準(zhǔn)脈沖進(jìn)行增減操作。
[0090] 本實(shí)施例中,所述基準(zhǔn)脈沖產(chǎn)生模塊用于產(chǎn)生327. 68MHz基準(zhǔn)脈沖,并用以恢復(fù) 2. 048MHz時(shí)鐘頻率。
[0091] 優(yōu)選的,所述計(jì)數(shù)器模塊32中采用遞減的方式實(shí)現(xiàn)接收數(shù)據(jù)的計(jì)數(shù)。
[0092] 進(jìn)一步的,如圖4所示,本實(shí)施例中數(shù)據(jù)緩存模塊2包括寫入控制模塊21、讀出控 制模塊23、抖動(dòng)緩存模塊22,所述寫入控制模塊21的輸入端與數(shù)據(jù)接收端口(所述數(shù)據(jù)分 徑模塊1的輸出端)連接,所述寫入控制模塊21的輸出端與所述抖動(dòng)緩存模塊22連接,所 述抖動(dòng)緩存模塊22還與所述讀出控制模塊23連接;所述寫入控制模塊21用于控制網(wǎng)絡(luò)數(shù) 據(jù)的寫入;所述抖動(dòng)緩存模塊22用于存儲(chǔ)所述網(wǎng)絡(luò)數(shù)據(jù);所述讀出控制模塊23用于控制 所述抖動(dòng)緩存模塊中網(wǎng)絡(luò)數(shù)據(jù)的讀出,所述讀出控制模塊23中設(shè)置有讀指針,所述讀指針 由系統(tǒng)第一次收到的網(wǎng)絡(luò)數(shù)據(jù)序列號(hào)SEQ初始化,開始讀取操作后,每讀完一個(gè)數(shù)據(jù)包,所 述讀指針會(huì)加1操作指向下一數(shù)據(jù)包。
[0093] 進(jìn)一步的,所述抖動(dòng)緩存模塊22包括標(biāo)志存儲(chǔ)模塊和數(shù)據(jù)存儲(chǔ)模塊,所述標(biāo)志存 儲(chǔ)模塊包括寫讀標(biāo)志存儲(chǔ)模塊和序列號(hào)存儲(chǔ)模塊;所述數(shù)據(jù)存儲(chǔ)模塊用于存儲(chǔ)所述網(wǎng)絡(luò)數(shù) 據(jù)的凈荷部分;所述讀寫標(biāo)志存儲(chǔ)模塊用于存儲(chǔ)與凈荷部分一一對(duì)應(yīng)的寫讀標(biāo)志;所述序 列號(hào)存儲(chǔ)模塊用于存儲(chǔ)網(wǎng)絡(luò)數(shù)據(jù)的序列號(hào)部分。本實(shí)施例中,抖動(dòng)緩存模塊按512ms計(jì)算, 當(dāng)傳輸2. 048MHz網(wǎng)絡(luò)數(shù)據(jù)按1幀封裝時(shí)(1幀時(shí)長為125us),則所述抖動(dòng)緩存模塊的深 度=512*1000/125=4096,即所述抖動(dòng)緩存模塊可同時(shí)緩存4096幀數(shù)據(jù)。
[0094] 進(jìn)一步的,所述寫入控制模塊21還連接有寫基準(zhǔn)時(shí)鐘產(chǎn)生模塊24,所述讀出控制 模塊23還連接有讀恢復(fù)時(shí)鐘產(chǎn)生模塊25,所述寫基準(zhǔn)時(shí)鐘產(chǎn)生模塊24用于產(chǎn)生控制所述 寫入控制模塊21的基準(zhǔn)時(shí)鐘;所述讀恢復(fù)時(shí)鐘產(chǎn)生模塊25用于產(chǎn)生控制所述讀出控制模 塊23的恢復(fù)時(shí)鐘。
[0095] 進(jìn)一步的,為了防止抖動(dòng)緩存模塊中存儲(chǔ)的數(shù)據(jù)逸出,在所述抖動(dòng)緩存模塊存儲(chǔ) 一半時(shí)開始讀出數(shù)據(jù)操作,即從接收第一幀數(shù)據(jù)包開始后156ms開始讀出數(shù)據(jù)操作。
[0096] 優(yōu)選的,寫基準(zhǔn)時(shí)鐘產(chǎn)生模塊24產(chǎn)生81. 92MHz的基準(zhǔn)時(shí)鐘,其由327. 68MHz基準(zhǔn) 脈沖分頻生成,讀恢復(fù)時(shí)鐘產(chǎn)生模塊25產(chǎn)生81. 9281. 92MHz的恢復(fù)時(shí)鐘,其由2. 048MHz恢 復(fù)時(shí)鐘倍頻生成。
[0097] 進(jìn)一步的,所述讀出控制模塊還連接有數(shù)據(jù)包計(jì)數(shù)模塊26,所述數(shù)據(jù)包計(jì)數(shù)模塊 25用于記錄收到的正常包、重復(fù)包、延時(shí)包、丟包的數(shù)量。
[0098] 實(shí)施例2 :本實(shí)施例同時(shí)提供一種恢復(fù)精度高、恢復(fù)所需時(shí)間短的基于TDM的網(wǎng) 絡(luò)時(shí)鐘恢復(fù)方法,如圖5所示,包含以下步驟:包含步驟S100:將待傳送網(wǎng)絡(luò)數(shù)據(jù)按照指定 幀數(shù)進(jìn)行封裝。
[0099] 包含步驟S200 :將接收到的網(wǎng)絡(luò)數(shù)據(jù)中控制字部分分出,并計(jì)算、調(diào)整恢復(fù)時(shí)鐘。
[0100] 包含步驟S300 :將接收到的網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行排序、丟包處理。
[0101] 包含步驟S400 :將所述經(jīng)過排序、丟包處理的網(wǎng)絡(luò)數(shù)據(jù)和計(jì)算調(diào)整出的恢復(fù)時(shí)鐘 頻率進(jìn)行并串處理,從而實(shí)現(xiàn)所述網(wǎng)絡(luò)數(shù)據(jù)時(shí)鐘恢復(fù)的步驟。
[0102] 進(jìn)一步的,如圖6所示,所述從控制字部分提取時(shí)序序列號(hào)依照當(dāng)前恢復(fù)時(shí)鐘進(jìn) 行計(jì)數(shù)的步驟S200中:包含步驟S210 :在單個(gè)計(jì)算周期內(nèi),按照指定采樣周期tsam針對(duì) 控制字部分進(jìn)行采樣,并根據(jù)采樣結(jié)果進(jìn)行時(shí)鐘計(jì)數(shù);所述單個(gè)計(jì)算周期內(nèi)包含有1個(gè)以 上的采樣周期tsam ;如本實(shí)施例中,采樣周期tsam=4ms,計(jì)算周期根據(jù)需要設(shè)定為4096ms、 16384ms、32768ms、65536ms、131072ms;實(shí)際應(yīng)用中,計(jì)算周期越長,計(jì)算精度越高、誤差越 小,但在時(shí)鐘恢復(fù)領(lǐng)域,花費(fèi)總時(shí)間越少,說明時(shí)鐘恢復(fù)效率越高,所以應(yīng)在保證恢復(fù)精度 高和誤差小的前提下,應(yīng)追求最短的總花費(fèi)時(shí)間。
[0103] 包含步驟S220:計(jì)算單個(gè)計(jì)算周期內(nèi)平均時(shí)鐘計(jì)數(shù),所述計(jì)算周期內(nèi)平均時(shí)鐘計(jì) 數(shù)Sn=計(jì)算周期內(nèi)時(shí)鐘計(jì)數(shù)累加值/計(jì)算周期內(nèi)采樣次數(shù)。
[0104] 包含步驟S230:將當(dāng)前計(jì)算周期內(nèi)平均時(shí)鐘計(jì)數(shù)Sn與上個(gè)計(jì)算周期內(nèi)平均時(shí)鐘 計(jì)數(shù)sn_i進(jìn)行比較。
[0105] 包含步驟S240將下個(gè)計(jì)算周期平均分為N個(gè)調(diào)整段的步驟,N為1以上的自然數(shù), 本實(shí)施例中,N取值為4、8、16、32,即每個(gè)計(jì)算周期均分為4個(gè)、8個(gè)、16個(gè)或32個(gè)調(diào)整段, 使得脈沖的增加或減少更加均勻,從而減少脈沖抖動(dòng)現(xiàn)象。
[0106] 包含步驟S250:根據(jù)比較結(jié)果對(duì)下個(gè)計(jì)算周期內(nèi)當(dāng)前恢復(fù)時(shí)鐘每個(gè)調(diào)整段包 含的基準(zhǔn)脈沖數(shù)進(jìn)行增減調(diào)整的步驟,每次增加或者減少的脈沖數(shù)量均為額定脈沖數(shù)量 MPnum;MPnum為根據(jù)需要預(yù)設(shè)的1以上的自然數(shù)。如本實(shí)施例中MPnum的取值可為2048、 1024、512、256、128、64、32、16、8、4、2、1。
[0107] 本實(shí)施例中,時(shí)鐘恢復(fù)脈沖由327.68MHz基準(zhǔn)脈沖經(jīng)過160分頻產(chǎn)生,用以恢 復(fù)網(wǎng)絡(luò)數(shù)據(jù)2.048MHz時(shí)鐘頻率;步驟S350中,根據(jù)計(jì)算周期取值的不同(可為4096ms、 16384ms、32768ms、65536ms、131072ms),將額定脈沖數(shù)量MPnum個(gè)基準(zhǔn)脈沖脈沖增加或減少 到下一計(jì)算周期的各個(gè)調(diào)整段中。
[0108] 進(jìn)一步的,如圖7所示,步驟S210中,包含步驟S211 :在采樣開始前設(shè)定時(shí)鐘計(jì)數(shù) 初始值。
[0109] 包含步驟S212 :依照當(dāng)前系統(tǒng)提供的時(shí)鐘頻率,按照指定采樣周期tsam對(duì)接收到 的網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行采樣。
[0110] 包含步驟S213 :根據(jù)采樣結(jié)果,對(duì)時(shí)鐘計(jì)數(shù)初始值進(jìn)行增或減,從而實(shí)現(xiàn)計(jì)數(shù)。
[0111] 包含步驟S214 :在采樣周期結(jié)束后將所述時(shí)鐘計(jì)數(shù)值累加保存。
[0112] 包含步驟S215 :記錄采樣次數(shù)并重置時(shí)鐘計(jì)數(shù)初始值。
[0113] 進(jìn)一步的,步驟S210中,采用對(duì)時(shí)鐘計(jì)數(shù)初始值遞減的方式實(shí)現(xiàn)計(jì)數(shù),所述時(shí)鐘 計(jì)數(shù)初始值〉采樣周期tsam內(nèi)理論傳輸數(shù)據(jù)值* (計(jì)算周期/采樣周期tsam);所述計(jì)算周期 為根據(jù)需要設(shè)定的采樣周期tsam的整數(shù)倍,本實(shí)施例中,采樣周期為tsam=4ms,計(jì)算周期根據(jù) 需要設(shè)定為 4096ms、16384ms、32768ms、65536ms、131072ms;當(dāng)采用 2. 048MHz時(shí)鐘發(fā)送數(shù)據(jù) 時(shí),4ms內(nèi)理論傳輸數(shù)據(jù)值應(yīng)為8192bit由于本發(fā)明采用設(shè)定初始值后遞減方式實(shí)現(xiàn)計(jì)數(shù), 并保存采樣周期后的計(jì)數(shù)剩余值,這種情況下,如初始值設(shè)置過小,則可能造成初始值不夠 用,反之,如初始值過大,則可能造成計(jì)數(shù)剩余值累加值溢出,因此應(yīng)根據(jù)需要設(shè)定初始值, 本實(shí)施例中,所述時(shí)鐘計(jì)數(shù)初始值設(shè)定為100000000000000000000000 (二進(jìn)制)。
[0114] 進(jìn)一步的,步驟S210中,采樣周期tsam結(jié)束后,重置時(shí)鐘計(jì)數(shù)初始值的步驟中,包 含將本采樣周期時(shí)鐘計(jì)數(shù)剩余值與上一采樣周期時(shí)鐘計(jì)數(shù)剩余值進(jìn)行比較的步驟;如I本 采樣周期時(shí)鐘計(jì)數(shù)剩余值-上一采樣周期時(shí)鐘計(jì)數(shù)剩余值I>采樣周期tsam內(nèi)理論傳輸數(shù) 據(jù)值,則,下一采樣周期時(shí)鐘計(jì)數(shù)初始值設(shè)定為ceil(I本采樣周期時(shí)鐘計(jì)數(shù)剩余值-上一 采樣周期時(shí)鐘計(jì)數(shù)剩余值I/采樣周期%"內(nèi)理論傳輸數(shù)據(jù)值)*采樣周期tsam內(nèi)理論傳輸 數(shù)據(jù)值+本采樣周期時(shí)鐘計(jì)數(shù)剩余值;否則下一采樣周期時(shí)鐘計(jì)數(shù)初始值設(shè)定為本采樣周 期時(shí)鐘計(jì)數(shù)剩余值+采樣周期tsam內(nèi)理論傳輸數(shù)據(jù)值。當(dāng)采用2. 048MHz時(shí)鐘發(fā)送數(shù)據(jù)時(shí), 4ms內(nèi)理論傳輸數(shù)據(jù)值應(yīng)為8192bit,即如|本采樣周期時(shí)鐘計(jì)數(shù)剩余值-上一采樣周期時(shí) 鐘計(jì)數(shù)剩余值I>8192,則,下一采樣周期時(shí)鐘計(jì)數(shù)初始值設(shè)定為ceil( |本采樣周期時(shí)鐘 計(jì)數(shù)剩余值-上一采樣周期時(shí)鐘計(jì)數(shù)剩余值I/8192)*8192+本采樣周期時(shí)鐘計(jì)數(shù)剩余值; 否則下一采樣周期時(shí)鐘計(jì)數(shù)初始值設(shè)定為本采樣周期時(shí)鐘計(jì)數(shù)剩余值+8192。其中ceil() 為上取整函數(shù)(其返回大于或者等于指定表達(dá)式的最小整數(shù))。
[0115] 進(jìn)一步的,步驟S210中,單一采樣周期結(jié)束后,還包括判斷所述計(jì)算周期是否結(jié) 束的步驟:如所述計(jì)算周期沒有結(jié)束,則進(jìn)入下一采樣周期。
[0116] 如所述計(jì)算周期結(jié)束,則計(jì)算本計(jì)算周期內(nèi)平均時(shí)鐘計(jì)數(shù)Sn ;計(jì)算公式為:所述計(jì) 算周期內(nèi)平均時(shí)鐘計(jì)數(shù)Sn=本計(jì)算周期內(nèi)時(shí)鐘計(jì)數(shù)累加值/本計(jì)算周期內(nèi)采樣次數(shù);時(shí)鐘 計(jì)數(shù)累加值清零,采樣次數(shù)清零。
[0117] 進(jìn)一步的,步驟S210中,在單一計(jì)算周期結(jié)束后,還包括將本計(jì)算周期平均時(shí)鐘 計(jì)數(shù)Sn與上一計(jì)算周期平均時(shí)鐘計(jì)數(shù)sn_i進(jìn)行比較的步驟。
[0118] 如Sn>Sn_i,則發(fā)出調(diào)快時(shí)鐘頻率指令;否則發(fā)出調(diào)慢時(shí)鐘頻率指令。
[0119] 進(jìn)一步的,步驟S210中,在單一計(jì)算周期結(jié)束后,還包括將本計(jì)算周期平均時(shí)鐘 計(jì)數(shù)3"與上一計(jì)算周期平均時(shí)鐘計(jì)數(shù)Sn_i進(jìn)行比較的步驟:如|Sn-Sn_i| >收斂失敗標(biāo)識(shí) 值Fail,則發(fā)出本次時(shí)鐘恢復(fù)失敗的信號(hào);所述收斂失敗標(biāo)識(shí)值Fail為根據(jù)需要設(shè)定的大 于1的自然數(shù),如本實(shí)施例中收斂失敗標(biāo)識(shí)值Fail可為1024或2048或4096。
[0120] 進(jìn)一步的,步驟250中,如Sn>Sn_i,則下個(gè)計(jì)算周期內(nèi)當(dāng)前恢復(fù)時(shí)鐘每個(gè)調(diào)整 段的基準(zhǔn)脈沖數(shù)減少頂Pnum個(gè)(頂Pnum根據(jù)階段需要可設(shè)定為2048、1024、512、256、128、 64、32、16、8、4、2、1),否則所述下個(gè)計(jì)算周期內(nèi)當(dāng)前恢復(fù)時(shí)鐘每個(gè)調(diào)整段的基準(zhǔn)脈沖數(shù)增 加MPnum個(gè);本實(shí)施例中,所述基準(zhǔn)脈沖為327. 68MHz基準(zhǔn)脈沖,并通過160分頻以恢復(fù) 2. 048MHz時(shí)鐘頻率;即所述增、減IMPnum個(gè)時(shí)鐘脈沖的操作均針對(duì)327. 68MHz基準(zhǔn)脈沖進(jìn) 行。
[0121] 進(jìn)一步的,步驟250中,每次增加的IMPnum個(gè)脈沖為離散的插入到原脈沖序列中; 或,每次減少的IMPnum個(gè)脈沖為離散的從原脈沖序列中去除,這樣可以進(jìn)一步的減少因脈沖 增加或減少而造成的抖動(dòng)現(xiàn)象。
[0122] 進(jìn)一步的,如圖8所示,所述計(jì)算、調(diào)整時(shí)鐘頻率的步驟S200中,所述網(wǎng)絡(luò)時(shí)鐘恢 復(fù)方法按照時(shí)間先后和時(shí)鐘收斂速度分為快速收斂階段、慢速收斂階段和鎖定收斂階段三 個(gè)階段。
[0123] 所述快速收斂階段、慢速收斂階段、鎖定收斂階段均包含有一個(gè)以上的計(jì)算周期。
[0124] 本實(shí)施例中,所述快速收斂階段包含STEP0、STEP1、STEP2、STEP3、STEP4、STEP5六 個(gè)STEP段;每個(gè)STEP段均包含有1個(gè)以上的計(jì)算周期。
[0125]慢速收斂階段包含STEP6、STEP7、STEP8、STEP9、STEP10 五個(gè)STEP段;每個(gè)STEP 段均包含有1個(gè)以上的計(jì)算周期。
[0126] 鎖定收斂階段包含STEP11 -個(gè)STEP段(STEP0至STEP11按時(shí)間先后依次進(jìn)行, 圖8中未顯出各STEP段,僅顯示包含各STEP段的快速收斂階段、慢速收斂階段、鎖定收斂 階段三個(gè)收斂階段)。
[0127] 其中,所述快速收斂階段的計(jì)算周期小于所述慢速收斂階段的計(jì)算周期,所述慢 速收斂階段的計(jì)算周期小于所述鎖定收斂階段的計(jì)算周期。
[0128] 所述離散補(bǔ)償調(diào)整方法還包含根據(jù)預(yù)設(shè)條件判斷是否進(jìn)入下一收斂階段或下一 STEP段的步驟。
[0129] 如,本實(shí)施例中,所述預(yù)設(shè)條件為本階段中增加時(shí)鐘脈沖次數(shù)的計(jì)算周期數(shù)>1, 同時(shí),減少時(shí)鐘脈沖次數(shù)的計(jì)算周期數(shù)>1 ;如滿足所述預(yù)設(shè)條件,則進(jìn)入下一收斂階段或 下一STEP段,需要指出的是,在進(jìn)入下一收斂階段或下一STEP段或下一計(jì)算周期時(shí),基準(zhǔn) 脈沖產(chǎn)生的恢復(fù)時(shí)鐘脈沖均為上一計(jì)算周期調(diào)整過的當(dāng)前恢復(fù)時(shí)鐘脈沖,而非原始未經(jīng)調(diào) 整的恢復(fù)時(shí)鐘脈沖。
[0130] 進(jìn)一步的,所述額定脈沖數(shù)量IMP_隨著所述計(jì)算周期的延長而不斷減??;其中, 所述鎖定收斂階段的計(jì)算周期中,所述額定脈沖數(shù)量IMPnUffl為1。
[0131] 各個(gè)收斂階段中各個(gè)STEP段計(jì)算周期、調(diào)整周期、調(diào)整段、額定脈沖數(shù)量MPnUffl的 對(duì)照表如表1 : 表1
【權(quán)利要求】
1. 一種基于TDM的網(wǎng)絡(luò)時(shí)鐘恢復(fù)方法,其特征在于,包含以下步驟: 包含將待傳送網(wǎng)絡(luò)數(shù)據(jù)按照指定幀數(shù)進(jìn)行封裝的步驟; 包含將接收到的網(wǎng)絡(luò)數(shù)據(jù)中控制字部分分出,并計(jì)算、調(diào)整恢復(fù)時(shí)鐘的步驟; 包含將接收到的網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行排序、丟包處理的步驟; 包含將所述經(jīng)過排序、丟包處理的網(wǎng)絡(luò)數(shù)據(jù)和計(jì)算調(diào)整出的恢復(fù)時(shí)鐘頻率進(jìn)行并串處 理的步驟。
2. 如權(quán)利要求1所述的基于TDM的網(wǎng)絡(luò)時(shí)鐘恢復(fù)方法,其特征在于,所述從控制字部分 提取時(shí)序序列號(hào)依照當(dāng)前恢復(fù)時(shí)鐘進(jìn)行計(jì)數(shù)的步驟中: 包含在單個(gè)計(jì)算周期內(nèi),按照指定采樣周期tsam針對(duì)控制字部分進(jìn)行采樣,并進(jìn)行時(shí)鐘 計(jì)數(shù)的步驟;所述單個(gè)計(jì)算周期內(nèi)包含有1個(gè)以上的采樣周期tsam ; 包含計(jì)算單個(gè)計(jì)算周期內(nèi)平均時(shí)鐘計(jì)數(shù)的步驟,所述計(jì)算周期內(nèi)平均時(shí)鐘計(jì)數(shù)Sn=計(jì) 算周期內(nèi)時(shí)鐘計(jì)數(shù)累加值/計(jì)算周期內(nèi)采樣次數(shù); 包含將當(dāng)前計(jì)算周期內(nèi)平均時(shí)鐘計(jì)數(shù)Sn與上個(gè)計(jì)算周期內(nèi)平均時(shí)鐘計(jì)數(shù)Sn_i進(jìn)行比較 的步驟; 包含將下個(gè)計(jì)算周期平均分為N個(gè)調(diào)整段的步驟,N為1以上的自然數(shù); 包含根據(jù)比較結(jié)果對(duì)下個(gè)計(jì)算周期內(nèi)當(dāng)前恢復(fù)時(shí)鐘每個(gè)調(diào)整段包含的基準(zhǔn)脈沖數(shù)進(jìn) 行增減調(diào)整的步驟,每次增加或者減少的脈沖數(shù)量均為額定脈沖數(shù)量IMPnUffl; IMP_為根據(jù) 需要預(yù)設(shè)的1以上的自然數(shù)。
3. 如權(quán)利要求2所述的基于TDM的網(wǎng)絡(luò)時(shí)鐘恢復(fù)方法,其特征在于,根據(jù)比較結(jié)果對(duì)下 個(gè)計(jì)算周期內(nèi)當(dāng)前恢復(fù)時(shí)鐘每個(gè)調(diào)整段包含的基準(zhǔn)脈沖數(shù)進(jìn)行增減調(diào)整的步驟中,如Sn> Sm,則下個(gè)計(jì)算周期內(nèi)當(dāng)前恢復(fù)時(shí)鐘每個(gè)調(diào)整段的基準(zhǔn)脈沖數(shù)減少IMP_個(gè),否則所述下 個(gè)計(jì)算周期內(nèi)當(dāng)前恢復(fù)時(shí)鐘每個(gè)調(diào)整段的基準(zhǔn)脈沖數(shù)增加IMPnUffl個(gè)。
4. 如權(quán)利要求2所述的時(shí)鐘恢復(fù)的離散補(bǔ)償調(diào)整方法,其特征在于,在對(duì)當(dāng)前恢復(fù)時(shí) 鐘包含的基準(zhǔn)脈沖進(jìn)行增減調(diào)整的步驟中,每次增加的MPnUffl個(gè)脈沖為離散的插入到原脈 沖序列中;或,每次減少的IMPnum個(gè)脈沖為離散的從原脈沖序列中去除。
5. 如權(quán)利要求2所述的基于TDM的網(wǎng)絡(luò)時(shí)鐘恢復(fù)方法,其特征在于,所述網(wǎng)絡(luò)時(shí)鐘恢復(fù) 方法按照時(shí)間先后和時(shí)鐘收斂速度分為快速收斂階段、慢速收斂階段和鎖定收斂階段三個(gè) 階段; 所述快速收斂階段、慢速收斂階段、鎖定收斂階段均包含有一個(gè)以上的計(jì)算周期; 其中,所述快速收斂階段的計(jì)算周期小于所述慢速收斂階段的計(jì)算周期,所述慢速收 斂階段的計(jì)算周期小于所述鎖定收斂階段的計(jì)算周期; 所述離散補(bǔ)償調(diào)整方法還包含根據(jù)預(yù)設(shè)條件判斷是否進(jìn)入下一階段的步驟。
6. 如權(quán)利要求5 -種時(shí)鐘恢復(fù)的離散補(bǔ)償調(diào)整方法,其特征在于,所述預(yù)設(shè)條件為本 階段中增加脈沖次數(shù)的計(jì)算周期數(shù)>1,同時(shí),減少脈沖次數(shù)的計(jì)算周期數(shù)>1 ;如滿足所述 預(yù)設(shè)條件,則進(jìn)入下一階段。
7. 如權(quán)利要求5、6任一項(xiàng)所述的基于TDM的網(wǎng)絡(luò)時(shí)鐘恢復(fù)方法,其特征在于,所述額定 脈沖數(shù)量IMP_隨著所述計(jì)算周期的延長而不斷減??;其中,所述鎖定收斂階段的計(jì)算周 期中,所述額定脈沖數(shù)量IMPnUffl為1。
8. 如權(quán)利要求7任一項(xiàng)所述的基于TDM的網(wǎng)絡(luò)時(shí)鐘恢復(fù)方法,其特征在于,任意收斂 階段中,Sn%sn_1進(jìn)行比較時(shí),如果|sn- Sn_i I >收斂失敗標(biāo)識(shí)值Fail,則本次時(shí)鐘恢復(fù)終 止,返回快速收斂階段初始狀態(tài),重新開始進(jìn)行時(shí)鐘恢復(fù)計(jì)算;所述收斂失敗標(biāo)識(shí)值Fail 為根據(jù)需要設(shè)定的大于1的自然數(shù)。
9. 如權(quán)利要求7任一項(xiàng)所述的基于TDM的網(wǎng)絡(luò)時(shí)鐘恢復(fù)方法,其特征在于,在快速收斂 階段中,Sn%Sn_i進(jìn)行比較時(shí),如果|Sn- Sn_i | >本階段最大額定脈沖數(shù)量MPnum*m,則本 次時(shí)鐘恢復(fù)終止,返回快速收斂階段初始狀態(tài),重新開始進(jìn)行時(shí)鐘恢復(fù)計(jì)算; 在慢速收斂階段或鎖定收斂階段中,進(jìn)行比較時(shí),如果|Sn-Sn_i | >本階段最 大額定脈沖數(shù)量頂PnUD*m,則本階段時(shí)鐘恢復(fù)終止,返回上一階段初始狀態(tài),重新開始進(jìn) 行時(shí)鐘恢復(fù)計(jì)算; 其中,m為根據(jù)需要設(shè)定的大于2的自然數(shù)。
10. 如權(quán)利要求1所述的基于TDM的網(wǎng)絡(luò)時(shí)鐘恢復(fù)方法,其特征在于,所述將接收到的 網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行排序、丟包處理的步驟中包含如下寫入數(shù)據(jù)步驟: (1) 系統(tǒng)上電,抖動(dòng)緩存模塊清零; (2) 根據(jù)接收到的第一個(gè)數(shù)據(jù)包的序列號(hào)SEQ值初始化序列號(hào)存儲(chǔ)模塊以及讀指針; 艮P,將該序列號(hào)SEQ寫入序列號(hào)存儲(chǔ)模塊的第一位置,并根據(jù)所述序列號(hào)存儲(chǔ)模塊的容量, 以該序列號(hào)SEQ為起始值將所述序列號(hào)存儲(chǔ)模塊向后填滿;將第一數(shù)據(jù)包凈荷數(shù)據(jù)寫入數(shù) 據(jù)存儲(chǔ)模塊對(duì)應(yīng)位置,對(duì)應(yīng)寫讀標(biāo)志設(shè)為已寫標(biāo)志; (3) 接收新數(shù)據(jù),遍歷所述序列號(hào)存儲(chǔ)模塊,查找是否含有新接收數(shù)據(jù)序列號(hào)SEQ,如 有,進(jìn)入步驟(5),否則,進(jìn)入步驟(4); (4) 該數(shù)據(jù)包為無效包,無效包計(jì)數(shù)加1,該無效包丟棄,返回步驟(3); (5) 判斷與該序列號(hào)SEQ對(duì)應(yīng)的寫讀標(biāo)志是否為已寫標(biāo)志,如是,進(jìn)入步驟(6);如否, 進(jìn)入步驟(7); (6) 該數(shù)據(jù)包為重復(fù)包,重復(fù)包計(jì)數(shù)加1 ;返回步驟(3); (7) 在數(shù)據(jù)存儲(chǔ)模塊中該序列號(hào)對(duì)應(yīng)位置寫入凈荷數(shù)據(jù),將與該序列號(hào)對(duì)應(yīng)的寫讀標(biāo) 志設(shè)為已寫標(biāo)志;返回步驟(3)。
11. 如權(quán)利要求10所述的基于TDM的網(wǎng)絡(luò)時(shí)鐘恢復(fù)方法,其特征在于,還包括如下讀出 數(shù)據(jù)步驟: (1) 從所述讀指針指向的序列號(hào)SEQ開始順序讀取數(shù); (2) 判斷讀指針指向的序列號(hào)SEQ對(duì)應(yīng)的寫讀標(biāo)志是否為已寫標(biāo)志,如是,進(jìn)入步驟 (3);如否進(jìn)入步驟(4); (3) 從數(shù)據(jù)存儲(chǔ)模塊對(duì)應(yīng)位置讀出凈荷數(shù)據(jù);將對(duì)應(yīng)寫讀標(biāo)志清零;數(shù)據(jù)存儲(chǔ)模塊對(duì) 應(yīng)位置清零;正常包計(jì)數(shù)加1,進(jìn)入步驟(7); (4) 判斷寫讀標(biāo)志存儲(chǔ)模塊是否為延時(shí)標(biāo)志,如是進(jìn)入步驟(5);如不是進(jìn)入步驟(6); (5) 將該序列號(hào)SEQ對(duì)應(yīng)的數(shù)據(jù)以補(bǔ)空包方式讀出;丟包計(jì)數(shù)加1,進(jìn)入步驟(7); (6) 將對(duì)應(yīng)讀寫標(biāo)志設(shè)置延時(shí)標(biāo)志;將該序列號(hào)SEQ對(duì)應(yīng)的數(shù)據(jù)以補(bǔ)空包方式讀出;延 時(shí)包計(jì)數(shù)加1,進(jìn)入步驟(7); (7) 將序列存儲(chǔ)模塊中該SEQ值加所述序列號(hào)存儲(chǔ)模塊容量值后重新覆蓋該位置,讀 寫指針加1并返回步驟(2)。
12. 如權(quán)利要求10或11所述的基于TDM的網(wǎng)絡(luò)時(shí)鐘恢復(fù)方法,其特征在于,所述已寫 標(biāo)志為0X1234,所述延時(shí)標(biāo)志為0X5678。
13. 如權(quán)利要求10或11所述的基于TDM的網(wǎng)絡(luò)時(shí)鐘恢復(fù)方法,其特征在于,所述寫入 數(shù)據(jù)步驟在81. 92MHz基準(zhǔn)時(shí)鐘下工作,所述讀出數(shù)據(jù)步驟在81. 92MHz恢復(fù)時(shí)鐘下工作。
14. 如權(quán)利要求11所述的基于TDM的網(wǎng)絡(luò)時(shí)鐘恢復(fù)方法,其特征在于,步驟(5)和步驟 (6)中,以補(bǔ)空包方式讀出是指將數(shù)據(jù)設(shè)置為0讀出。
【文檔編號(hào)】H04J3/06GK104410475SQ201410761136
【公開日】2015年3月11日 申請(qǐng)日期:2014年12月12日 優(yōu)先權(quán)日:2014年12月12日
【發(fā)明者】胡強(qiáng), 吳援明 申請(qǐng)人:成都朗銳芯科技發(fā)展有限公司