專(zhuān)利名稱(chēng):基于fpga的時(shí)鐘數(shù)據(jù)恢復(fù)處理方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信數(shù)據(jù)傳輸技術(shù)領(lǐng)域,特別涉及一種基于FPGA的時(shí)鐘數(shù)據(jù)恢復(fù)處
理方法。
背景技術(shù):
為了利用光傳輸?shù)木薮髱?,現(xiàn)在的通信中經(jīng)常利用時(shí)分復(fù)用的技術(shù)把一些低速的信號(hào)復(fù)用到一條高速光纖上,由于網(wǎng)絡(luò)同步的復(fù)雜性,不同時(shí)間段上的信號(hào)很難做到完全的同步,總是有或多或少頻率和相位上的差異,這就給接收端的時(shí)鐘數(shù)據(jù)恢復(fù)(Clockand Data Recovery,簡(jiǎn)稱(chēng)為⑶R)提出一些特殊要求。特別是在很多通信業(yè)務(wù)中,經(jīng)常需要傳輸一些具有突發(fā)特征的數(shù)據(jù),稱(chēng)為突發(fā)數(shù)據(jù)(Burst Data),這些突發(fā)數(shù)據(jù)具有發(fā)送時(shí)間隨機(jī)、持續(xù)時(shí)間短等特點(diǎn),因此,接收端對(duì)突發(fā)數(shù)據(jù)的時(shí)鐘恢復(fù),不僅要求有高速時(shí)鐘數(shù)據(jù)恢復(fù)的能力(一般要求時(shí)鐘頻率在IGHz以上),還要求有很快的恢復(fù)時(shí)間(一般是幾百個(gè)納秒以?xún)?nèi))。這種對(duì)突發(fā)數(shù)據(jù)的時(shí)鐘數(shù)據(jù)恢復(fù)通常叫做突發(fā)式時(shí)鐘數(shù)據(jù)恢復(fù)(Burst Clock andData Recovery,簡(jiǎn)稱(chēng)為 BCDR)。 目前,通信系統(tǒng)中大量使用專(zhuān)用B⑶R芯片來(lái)完成突發(fā)式時(shí)鐘數(shù)據(jù)恢復(fù)處理,其成本較高。而FPGA由于其功能的靈活性、相對(duì)低廉的成本和較短的設(shè)計(jì)周期,已經(jīng)大量的在通信設(shè)備中作為業(yè)務(wù)核心芯片,因此基于FPGA設(shè)計(jì)的時(shí)鐘數(shù)據(jù)恢復(fù)芯片也得到越來(lái)越多的應(yīng)用?,F(xiàn)有技術(shù)中,基于FPGA設(shè)計(jì)實(shí)現(xiàn)CDR的方式主要有兩種。一種方式是FPGA中自身集成有⑶R模擬電路,這類(lèi)⑶R模擬電路的工作頻率可以達(dá)到很高,目前已能達(dá)到IOGHz以上的頻率;但是,采用CDR模擬電路進(jìn)行時(shí)鐘數(shù)據(jù)恢復(fù)需要較長(zhǎng)的恢復(fù)相位鎖定時(shí)間,這個(gè)時(shí)間通常需要幾百個(gè)微秒,而在恢復(fù)相位鎖定之前其恢復(fù)的數(shù)據(jù)因相位不準(zhǔn)確而可能存在較大的誤差,這就導(dǎo)致了無(wú)法采用CDR模擬電路直接有效的完成突發(fā)式時(shí)鐘數(shù)據(jù)恢復(fù)處理。另一種方式是數(shù)字化過(guò)采樣法,其基本原理是先通過(guò)FPGA自身的工作時(shí)鐘頻率,對(duì)輸入數(shù)據(jù)進(jìn)行X*f頻率的數(shù)字化過(guò)采樣得到過(guò)采樣數(shù)據(jù),f為輸入數(shù)據(jù)的時(shí)鐘頻率,X為整數(shù),然后對(duì)過(guò)采樣數(shù)據(jù)進(jìn)行分析判斷出其中各個(gè)跳變數(shù)據(jù)位,根據(jù)各個(gè)跳變數(shù)據(jù)位進(jìn)一步判斷出最佳數(shù)據(jù)取數(shù)位置,從而恢復(fù)出數(shù)據(jù);其時(shí)鐘數(shù)據(jù)恢復(fù)過(guò)程中需要通過(guò)實(shí)時(shí)檢測(cè)每個(gè)周期過(guò)采樣數(shù)據(jù)中各個(gè)數(shù)據(jù)跳變位置,用以分析和實(shí)時(shí)調(diào)整過(guò)采樣時(shí)鐘的相位,使得過(guò)采樣時(shí)鐘盡可能與輸入數(shù)據(jù)時(shí)鐘同步,以確保數(shù)據(jù)回復(fù)的準(zhǔn)確性,這樣雖然實(shí)現(xiàn)了快速恢復(fù)以及準(zhǔn)確性,但其處理邏輯復(fù)雜且消耗資源嚴(yán)重,對(duì)FPGA芯片處理性能的要求較高,而且由于受到FPGA工藝的限制,F(xiàn)PGA芯片的數(shù)字化過(guò)采樣頻率一般不會(huì)超過(guò)400MHz,因此這種基于FPGA的數(shù)字化過(guò)采樣法難以滿足突發(fā)式時(shí)鐘數(shù)據(jù)恢復(fù)處理對(duì)于高速時(shí)鐘頻率的要求。由于這些原因,使得現(xiàn)有技術(shù)中基于FPGA設(shè)計(jì)的時(shí)鐘數(shù)據(jù)恢復(fù)芯片始終難以適用于突發(fā)式時(shí)鐘數(shù)據(jù)恢復(fù)處理。
發(fā)明內(nèi)容
針對(duì)現(xiàn)有技術(shù)的上述不足,本發(fā)明的目的在于提供一種基于FPGA的時(shí)鐘數(shù)據(jù)恢復(fù)處理方法,以解決現(xiàn)有技術(shù)中基于FPGA設(shè)計(jì)的時(shí)鐘數(shù)據(jù)恢復(fù)芯片難以同時(shí)滿足高速時(shí)鐘頻率和快速恢復(fù)的要求而難以適用于突發(fā)式時(shí)鐘數(shù)據(jù)恢復(fù)處理的問(wèn)題,讓FPGA芯片也能夠有效實(shí)現(xiàn)對(duì)突發(fā)數(shù)據(jù)的時(shí)鐘恢復(fù)。為解決上述技術(shù)問(wèn)題,實(shí)現(xiàn)發(fā)明目的,本發(fā)明采用的技術(shù)方案如下
基于FPGA的時(shí)鐘數(shù)據(jù)恢復(fù)處理方法,其特征在于,采用集成有CDR模擬電路的FPGA芯片實(shí)現(xiàn),具體包括如下步驟
1)利用FPGA芯片中的CDR模擬電路對(duì)輸入數(shù)據(jù)進(jìn)行N倍頻的時(shí)鐘數(shù)據(jù)恢復(fù),得到實(shí)時(shí)的每個(gè)周期的倍頻恢復(fù)數(shù)據(jù);其中,N為正整數(shù),且3 < N < 10 ;
2)判斷當(dāng)前周期的倍頻恢復(fù)數(shù)據(jù)中是否存在跳變數(shù)據(jù)位;若存在,則檢測(cè)出當(dāng)前周期的倍頻恢復(fù)數(shù)據(jù)中最后一個(gè)跳變數(shù)據(jù)位;若不存在,則將當(dāng)前周期倍頻恢復(fù)數(shù)據(jù)中最后一個(gè)跳變數(shù)據(jù)位的位置確定為與前一周期倍頻恢復(fù)數(shù)據(jù)中最后一個(gè)跳變數(shù)據(jù)位的位置相一致;
3)根據(jù)當(dāng)前周期的倍頻恢復(fù)數(shù)據(jù)中最后一個(gè)跳變數(shù)據(jù)位確定當(dāng)前周期倍頻恢復(fù)數(shù)據(jù)中的各個(gè)數(shù)據(jù)取數(shù)位置;
4)檢測(cè)當(dāng)前周期倍頻恢復(fù)數(shù)據(jù)中第一個(gè)數(shù)據(jù)取數(shù)位置與此前一周期倍頻恢復(fù)數(shù)據(jù)中最后一個(gè)數(shù)據(jù)取數(shù)位置之間的距離位數(shù)n,并根據(jù)所述距離位數(shù)η的值對(duì)當(dāng)前周期倍頻恢復(fù)數(shù)據(jù)中數(shù)據(jù)取數(shù)位置的數(shù)量進(jìn)行調(diào)整處理;
5)將當(dāng)前周期倍頻恢復(fù)數(shù)據(jù)中經(jīng)過(guò)調(diào)整處理后的各個(gè)數(shù)據(jù)取數(shù)位置的數(shù)據(jù)依次取出,作為當(dāng)前周期的數(shù)據(jù)恢復(fù)結(jié)果加以輸出;
6)循環(huán)執(zhí)行步驟2 5,完成各個(gè)周期的時(shí)鐘數(shù)據(jù)恢復(fù)處理。上述基于FPGA的時(shí)鐘數(shù)據(jù)恢復(fù)處理方法中,具體而言,所述步驟3中,“根據(jù)當(dāng)前周期的倍頻恢復(fù)數(shù)據(jù)中最后一個(gè)跳變數(shù)據(jù)位確定當(dāng)前周期倍頻恢復(fù)數(shù)據(jù)中的各個(gè)數(shù)據(jù)取數(shù)位置”具體為將當(dāng)前周期的倍頻恢復(fù)數(shù)據(jù)中最后一個(gè)跳變數(shù)據(jù)位之后的第k個(gè)數(shù)據(jù)位作為該周期倍頻恢復(fù)數(shù)據(jù)中的基準(zhǔn)數(shù)據(jù)取數(shù)位置;若當(dāng)前周期的倍頻恢復(fù)數(shù)據(jù)中最后一個(gè)跳變數(shù)據(jù)位之后不足k個(gè)數(shù)據(jù)位,則以最后一個(gè)跳變數(shù)據(jù)位之前第k個(gè)數(shù)據(jù)位作為該周期倍頻恢復(fù)數(shù)據(jù)中的基準(zhǔn)數(shù)據(jù)取數(shù)位置;k=int(N/2),int為取整函數(shù);然后,以所述基準(zhǔn)數(shù)據(jù)取數(shù)位置為準(zhǔn),每距離N個(gè)數(shù)據(jù)位確定一個(gè)數(shù)據(jù)取數(shù)位置,從而確定當(dāng)前周期倍頻恢復(fù)數(shù)據(jù)中的各個(gè)數(shù)據(jù)取數(shù)位置。上述基于FPGA的時(shí)鐘數(shù)據(jù)恢復(fù)處理方法中,具體而言,所述步驟4中,“根據(jù)所述距離位數(shù)η的值對(duì)當(dāng)前周期倍頻恢復(fù)數(shù)據(jù)中數(shù)據(jù)取數(shù)位置的數(shù)量進(jìn)行調(diào)整處理”具體為若O. 5Ν〈η〈1. 5Ν,則保留當(dāng)前周期倍頻恢復(fù)數(shù)據(jù)中已確定的各個(gè)數(shù)據(jù)取數(shù)位置不變;若n ^ O. 5Ν,則將當(dāng)前周期倍頻恢復(fù)數(shù)據(jù)中的第一個(gè)數(shù)據(jù)取數(shù)位置去除,其它的數(shù)據(jù)取數(shù)位置保持不變;若11 >1. 5Ν,則在當(dāng)前周期倍頻恢復(fù)數(shù)據(jù)中已確定的各個(gè)數(shù)據(jù)取數(shù)位置的基礎(chǔ)上,還將當(dāng)前周期倍頻恢復(fù)數(shù)據(jù)中第一個(gè)數(shù)據(jù)位作為新增的一個(gè)數(shù)據(jù)取數(shù)位置。相比于現(xiàn)有技術(shù),本發(fā)明具有下述優(yōu)點(diǎn)1、本發(fā)明基于FPGA的時(shí)鐘數(shù)據(jù)恢復(fù)處理方法,先利用CDR模擬電路對(duì)輸入數(shù)據(jù)進(jìn)行N倍頻的時(shí)鐘數(shù)據(jù)恢復(fù),然后再將得到的倍頻恢復(fù)數(shù)據(jù)作為對(duì)輸入數(shù)據(jù)的過(guò)采樣數(shù)據(jù)進(jìn)行快速的時(shí)鐘數(shù)據(jù)恢復(fù)處理,因此既利用了 CDR模擬電路獲得高速時(shí)鐘頻率的倍頻恢復(fù)數(shù)據(jù)(即相當(dāng)于高速的過(guò)采樣處理),解決了現(xiàn)有技術(shù)中采用數(shù)字化過(guò)采樣而頻率受限的問(wèn)題,又利用了對(duì)倍頻恢復(fù)數(shù)據(jù)進(jìn)行快速的時(shí)鐘數(shù)據(jù)恢復(fù)處理來(lái)保證數(shù)據(jù)恢復(fù)結(jié)果的準(zhǔn)確性,解決了現(xiàn)有技術(shù)中CDR模擬電路需要較長(zhǎng)時(shí)間的恢復(fù)相位鎖定才能保證準(zhǔn)確性的問(wèn)題,從而同時(shí)滿足了高速時(shí)鐘和快速恢復(fù)的要求,使得采用本發(fā)明方法設(shè)計(jì)的FPGA芯片也能夠有效實(shí)現(xiàn)突發(fā)式時(shí)鐘數(shù)據(jù)恢復(fù),能夠用以解決突發(fā)數(shù)據(jù)通信系統(tǒng)長(zhǎng)期以來(lái)對(duì)高成本的專(zhuān)用B⑶R芯片的依賴(lài)問(wèn)題。2、本發(fā)明基于FPGA的時(shí)鐘數(shù)據(jù)恢復(fù)處理方法中,在對(duì)對(duì)倍頻恢復(fù)數(shù)據(jù)進(jìn)行時(shí)鐘數(shù)據(jù)恢復(fù)處理時(shí),并沒(méi)有采用現(xiàn)有技術(shù)中通過(guò)復(fù)雜的處理邏輯處理實(shí)時(shí)調(diào)整過(guò)采樣時(shí)鐘的方式來(lái)保證時(shí)鐘數(shù)據(jù)恢復(fù)結(jié)果的準(zhǔn)確性,而是先根據(jù)當(dāng)前周期的倍頻恢復(fù)數(shù)據(jù)中最后一個(gè)跳變數(shù)據(jù)位初步確定當(dāng)前周期倍頻恢復(fù)數(shù)據(jù)中的各個(gè)數(shù)據(jù)取數(shù)位置,再根據(jù)當(dāng)前周期倍頻恢復(fù)數(shù)據(jù)中第一個(gè)數(shù)據(jù)取數(shù)位置與此前一周期倍頻恢復(fù)數(shù)據(jù)中最后一個(gè)數(shù)據(jù)取數(shù)位置之間的距離位數(shù)η的值對(duì)當(dāng)前周期倍頻恢復(fù)數(shù)據(jù)中數(shù)據(jù)取數(shù)位置的數(shù)量進(jìn)行調(diào)整處理,最后將當(dāng)前周期倍頻恢復(fù)數(shù)據(jù)中經(jīng)過(guò)調(diào)整處理后的各個(gè)數(shù)據(jù)取數(shù)位置的數(shù)據(jù)依次取出,作為當(dāng)前周期的數(shù)據(jù)恢復(fù)結(jié)果加以輸出,從而使得時(shí)鐘數(shù)據(jù)恢復(fù)處理的復(fù)雜度降低,占用的資源也更少,處理效率更高,數(shù)據(jù)恢復(fù)更快速。
圖1為本發(fā)明基于FPGA的時(shí)鐘數(shù)據(jù)恢復(fù)處理方法的流程框圖。
具體實(shí)施例方式下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明的技術(shù)方案進(jìn)一步說(shuō)明。
·
在現(xiàn)有技術(shù)中,由于僅依靠FPGA的CDR模擬電路進(jìn)行時(shí)鐘數(shù)據(jù)恢復(fù)需要較長(zhǎng)的恢復(fù)相位鎖定時(shí)間才能保證恢復(fù)準(zhǔn)確性,無(wú)法滿足突發(fā)式時(shí)鐘數(shù)據(jù)恢復(fù)對(duì)快速恢復(fù)的要求;而基于FPGA采用數(shù)字化過(guò)采樣法實(shí)現(xiàn)的時(shí)鐘數(shù)據(jù)恢復(fù),又因收到FPGA數(shù)字化過(guò)采樣頻率的限制,無(wú)法滿足突發(fā)式時(shí)鐘數(shù)據(jù)恢復(fù)對(duì)高速時(shí)鐘的要求;這些因素使得現(xiàn)有技術(shù)中基于FPGA設(shè)計(jì)的時(shí)鐘數(shù)據(jù)恢復(fù)芯片都難以適用于突發(fā)式時(shí)鐘數(shù)據(jù)恢復(fù)處理。針對(duì)于此,本發(fā)明提出了一種基于FPGA的時(shí)鐘數(shù)據(jù)恢復(fù)處理方法,該方法需要采用集成有CDR模擬電路的FPGA芯片實(shí)現(xiàn);其與現(xiàn)有技術(shù)的數(shù)據(jù)恢復(fù)處理的不同之處在于,本發(fā)明方法先利用CDR模擬電路對(duì)輸入數(shù)據(jù)進(jìn)行N倍頻的時(shí)鐘數(shù)據(jù)恢復(fù),得到實(shí)時(shí)的每個(gè)周期的倍頻恢復(fù)數(shù)據(jù)之后,再將倍頻恢復(fù)數(shù)據(jù)當(dāng)作對(duì)輸入數(shù)據(jù)的過(guò)采樣數(shù)據(jù)進(jìn)行快速的時(shí)鐘數(shù)據(jù)恢復(fù)處理;這樣以來(lái),既利用了 CDR模擬電路獲得高速時(shí)鐘頻率的倍頻恢復(fù)數(shù)據(jù)(即相當(dāng)于高速的過(guò)采樣處理),解決了現(xiàn)有技術(shù)中采用數(shù)字化過(guò)采樣而頻率受限的問(wèn)題,又利用了對(duì)倍頻恢復(fù)數(shù)據(jù)進(jìn)行快速的時(shí)鐘數(shù)據(jù)恢復(fù)處理來(lái)保證數(shù)據(jù)恢復(fù)結(jié)果的準(zhǔn)確性,解決了現(xiàn)有技術(shù)中CDR模擬電路需要較長(zhǎng)時(shí)間的恢復(fù)相位鎖定才能保證準(zhǔn)確性的問(wèn)題,從而同時(shí)滿足了高速時(shí)鐘和快速恢復(fù)的要求,使得采用本發(fā)明方法設(shè)計(jì)的FPGA芯片也能夠有效實(shí)現(xiàn)突發(fā)式時(shí)鐘數(shù)據(jù)恢復(fù),能夠用以解決突發(fā)數(shù)據(jù)通信系統(tǒng)長(zhǎng)期以來(lái)對(duì)高成本的專(zhuān)用BCDR芯片的依賴(lài)問(wèn)題。如圖1所示,本發(fā)明基于FPGA的時(shí)鐘數(shù)據(jù)恢復(fù)處理方法包括如下步驟
1)利用FPGA芯片中的CDR模擬電路對(duì)輸入數(shù)據(jù)進(jìn)行N倍頻的時(shí)鐘數(shù)據(jù)恢復(fù),得到實(shí)時(shí)的每個(gè)周期的倍頻恢復(fù)數(shù)據(jù);其中,N為正整數(shù),且3 < N < 10 ;
2)判斷當(dāng)前周期的倍頻恢復(fù)數(shù)據(jù)中是否存在跳變數(shù)據(jù)位;若存在,則檢測(cè)出當(dāng)前周期的倍頻恢復(fù)數(shù)據(jù)中最后一個(gè)跳變數(shù)據(jù)位;若不存在,則將當(dāng)前周期倍頻恢復(fù)數(shù)據(jù)中最后一個(gè)跳變數(shù)據(jù)位的位置確定為與前一周期倍頻恢復(fù)數(shù)據(jù)中最后一個(gè)跳變數(shù)據(jù)位的位置相一致;
3)根據(jù)當(dāng)前周期的倍頻恢復(fù)數(shù)據(jù)中最后一個(gè)跳變數(shù)據(jù)位確定當(dāng)前周期倍頻恢復(fù)數(shù)據(jù)中的各個(gè)數(shù)據(jù)取數(shù)位置;
該步驟具體處理流程為,將當(dāng)前周期的倍頻恢復(fù)數(shù)據(jù)中最后一個(gè)跳變數(shù)據(jù)位之后的第k個(gè)數(shù)據(jù)位作為該周期倍頻恢復(fù)數(shù)據(jù)中的基準(zhǔn)數(shù)據(jù)取數(shù)位置;若當(dāng)前周期的倍頻恢復(fù)數(shù)據(jù)中最后一個(gè)跳變數(shù)據(jù)位之后不足k個(gè)數(shù)據(jù)位,則以最后一個(gè)跳變數(shù)據(jù)位之前第k個(gè)數(shù)據(jù)位作為該周期倍頻恢復(fù)數(shù)據(jù)中的基準(zhǔn)數(shù)據(jù)取數(shù)位置;k=int(N/2),int為取整函數(shù);然后,以所述基準(zhǔn)數(shù)據(jù)取數(shù)位置為準(zhǔn),每距離N個(gè)數(shù)據(jù)位確定一個(gè)數(shù)據(jù)取數(shù)位置,從而確定當(dāng)前周期倍頻恢復(fù)數(shù)據(jù)中的各個(gè)數(shù)據(jù)取數(shù)位置;
4)檢測(cè)當(dāng)前周期倍頻恢復(fù)數(shù)據(jù)中第一個(gè)數(shù)據(jù)取數(shù)位置與此前一周期倍頻恢復(fù)數(shù)據(jù)中最后一個(gè)數(shù)據(jù)取數(shù)位置之間的距離位數(shù)n,并根據(jù)所述距離位數(shù)η的值對(duì)當(dāng)前周期倍頻恢復(fù)數(shù)據(jù)中數(shù)據(jù)取數(shù)位置的數(shù)量進(jìn)行調(diào)整處理;
該步驟具體處理流程為,檢測(cè)到當(dāng)前周期過(guò)采樣并行數(shù)據(jù)中所述的距離位數(shù)η后,若O. 5Ν〈η〈1. 5Ν,則保留當(dāng)前周期倍頻恢復(fù)數(shù)據(jù)中已確定的各個(gè)數(shù)據(jù)取數(shù)位置不變;若n ^ O. 5Ν,則將當(dāng)前周期倍頻恢復(fù)數(shù)據(jù)中的第一個(gè)數(shù)據(jù)取數(shù)位置去除,其它的數(shù)據(jù)取數(shù)位置保持不變;若η >1. 5 Ν,則在當(dāng)前周期倍頻恢復(fù)數(shù)據(jù)中已確定的各個(gè)數(shù)據(jù)取數(shù)位置的基礎(chǔ)上,還將當(dāng)前周期倍頻恢復(fù)數(shù)據(jù)中第一個(gè)數(shù)據(jù)位作為新增的一個(gè)數(shù)據(jù)取數(shù)位置;
5)將當(dāng)前周期倍頻恢復(fù)數(shù)據(jù)中經(jīng)過(guò)調(diào)整處理后的各個(gè)數(shù)據(jù)取數(shù)位置的數(shù)據(jù)依次取出,作為當(dāng)前周期的數(shù)據(jù)恢復(fù)結(jié)果加以輸出;
6)循環(huán)執(zhí)行步驟2 5,完成各個(gè)周期的時(shí)鐘數(shù)據(jù)恢復(fù)處理。通過(guò)上述處理流程可以看到,本發(fā)明基于FPGA的時(shí)鐘數(shù)據(jù)恢復(fù)處理方法中,先利用CDR模擬電路對(duì)輸入數(shù)據(jù)進(jìn)行N倍頻的時(shí)鐘數(shù)據(jù)恢復(fù),然后再將得到的倍頻恢復(fù)數(shù)據(jù)作為對(duì)輸入數(shù)據(jù)的過(guò)采樣數(shù)據(jù)進(jìn)行快速的時(shí)鐘數(shù)據(jù)恢復(fù)處理;并且,本發(fā)明方法中對(duì)倍頻恢復(fù)數(shù)據(jù)進(jìn)行時(shí)鐘數(shù)據(jù)恢復(fù)處理時(shí),并沒(méi)有采用現(xiàn)有技術(shù)中通過(guò)復(fù)雜的處理邏輯處理實(shí)時(shí)調(diào)整過(guò)采樣時(shí)鐘的方式來(lái)保證時(shí)鐘數(shù)據(jù)恢復(fù)結(jié)果的準(zhǔn)確性,而是先根據(jù)當(dāng)前周期的倍頻恢復(fù)數(shù)據(jù)中最后一個(gè)跳變數(shù)據(jù)位初步確定當(dāng)前周期倍頻恢復(fù)數(shù)據(jù)中的各個(gè)數(shù)據(jù)取數(shù)位置,再根據(jù)當(dāng)前周期倍頻恢復(fù)數(shù)據(jù)中第一個(gè)數(shù)據(jù)取數(shù)位置與此前一周期倍頻恢復(fù)數(shù)據(jù)中最后一個(gè)數(shù)據(jù)取數(shù)位置之間的距離位數(shù)η的值對(duì)當(dāng)前周期倍頻恢復(fù)數(shù)據(jù)中數(shù)據(jù)取數(shù)位置的數(shù)量進(jìn)行調(diào)整處理,最后將當(dāng)前周期倍頻恢復(fù)數(shù)據(jù)中經(jīng)過(guò)調(diào)整處理后的各個(gè)數(shù)據(jù)取數(shù)位置的數(shù)據(jù)依次取出,作為當(dāng)前周期的數(shù)據(jù)恢復(fù)結(jié)果加以輸出。其中,考慮到CDR模擬電路對(duì)突發(fā)式數(shù)據(jù)的恢復(fù)因恢復(fù)相位鎖定時(shí)間不足而可能存在誤差(這種誤差主要體現(xiàn)為數(shù)據(jù)位的漂移),因此初步確定當(dāng)前周期倍頻恢復(fù)數(shù)據(jù)中的數(shù)據(jù)取數(shù)位置時(shí),是先將當(dāng)前周期的倍頻恢復(fù)數(shù)據(jù)中最后一個(gè)跳變數(shù)據(jù)位之后的第k個(gè)數(shù)據(jù)位作為該周期倍頻恢復(fù)數(shù)據(jù)中的基準(zhǔn)數(shù)據(jù)取數(shù)位置,k=int(N/2),int為取整函數(shù),然后以所述基準(zhǔn)數(shù)據(jù)取數(shù)位置為準(zhǔn),每距離N個(gè)數(shù)據(jù)位確定一個(gè)數(shù)據(jù)取數(shù)位置,從而確定當(dāng)前周期倍頻恢復(fù)數(shù)據(jù)中的各個(gè)數(shù)據(jù)取數(shù)位置,這樣使得初步確定的數(shù)據(jù)取數(shù)位置與當(dāng)前周期倍頻恢復(fù)數(shù)據(jù)內(nèi)的跳變數(shù)據(jù)位之間存在int(N/2)個(gè)容差數(shù)據(jù)位,而CDR模擬電路即時(shí)恢復(fù)相位鎖定不準(zhǔn)確,其N(xiāo)倍的倍頻恢復(fù)數(shù)據(jù)的漂移也幾乎不可能達(dá)到int(N/2)個(gè)數(shù)據(jù)位,從而通過(guò)上述初步確定數(shù)據(jù)取數(shù)位置的處理屏蔽了 CDR模擬電路在同一周期內(nèi)的數(shù)據(jù)恢復(fù)誤差;同時(shí),由于CDR模擬電路的時(shí)鐘頻率很難保證時(shí)刻與輸入數(shù)據(jù)的時(shí)鐘頻率完全同步,在不同周期的倍頻恢復(fù)數(shù)據(jù)之間還是可能出現(xiàn)抖動(dòng)和頻偏的現(xiàn)象,因此初步確定當(dāng)前周期倍頻恢復(fù)數(shù)據(jù)中的數(shù)據(jù)取數(shù)位置后,還根據(jù)當(dāng)前周期倍頻恢復(fù)數(shù)據(jù)中第一個(gè)數(shù)據(jù)取數(shù)位置與其前一周期倍頻恢復(fù)數(shù)據(jù)中最后一個(gè)數(shù)據(jù)取數(shù)位置之間的距離位數(shù)η的值,來(lái)判斷當(dāng)前周期與前一周期相比倍頻恢復(fù)數(shù)據(jù)是否發(fā)生了抖動(dòng)或頻偏;若11 < O. 5Ν,表明CDR模擬電路的時(shí)鐘頻率相比于輸入數(shù)據(jù)頻率相位超前,導(dǎo)致當(dāng)前周期與前一周期之間取數(shù)多了一個(gè)(即多出了當(dāng)前周期倍頻恢復(fù)數(shù)據(jù)中初步確定的第一個(gè)數(shù)據(jù)取數(shù)位置),因此將當(dāng)前周期倍頻恢復(fù)數(shù)據(jù)中的第一個(gè)數(shù)據(jù)取數(shù)位置去除;若11 >1. 5Ν,則表明CDR模擬電路的時(shí)鐘頻率相比于輸入數(shù)據(jù)頻率相位滯后,導(dǎo)致當(dāng)前周期與前一周期之間取數(shù)少了一個(gè),因此將當(dāng)前周期倍頻恢復(fù)數(shù)據(jù)中的第一位數(shù)據(jù)補(bǔ)充作為一個(gè)數(shù)據(jù)取數(shù)位置;若0. 5Ν〈η〈1. 5Ν,這表明⑶R模擬電路的時(shí)鐘頻率相比于輸入數(shù)據(jù)頻率還較為匹配,因此保留當(dāng)前周期倍頻恢復(fù)數(shù)據(jù)中各個(gè)數(shù)據(jù)取數(shù)位置不變;由此對(duì)該周期倍頻恢復(fù)數(shù)據(jù)中初步確定的數(shù)據(jù)取數(shù)位置數(shù)量進(jìn)行調(diào)整處理后再進(jìn)行取數(shù)恢復(fù),既保證了數(shù)據(jù)恢復(fù)結(jié)果的準(zhǔn)確性。這樣以來(lái),本發(fā)明基于FPGA的時(shí)鐘數(shù)據(jù)恢復(fù)處理方法,一方面利用了 CDR模擬電路獲得高速時(shí)鐘頻率的倍頻恢復(fù)數(shù)據(jù)(即相當(dāng)于高速的過(guò)采樣處理),解決了現(xiàn)有技術(shù)中采用數(shù)字化過(guò)采樣而頻率受限的問(wèn)題,另一方面又利用了對(duì)倍頻恢復(fù)數(shù)據(jù)進(jìn)行快速的時(shí)鐘數(shù)據(jù)恢復(fù)處理來(lái)保證數(shù)據(jù)恢復(fù)結(jié)果的準(zhǔn)確性,解決了現(xiàn)有技術(shù)中CDR模擬電路需要較長(zhǎng)時(shí)間的恢復(fù)相位鎖定才能保證準(zhǔn)確性的問(wèn)題,并且不需要根據(jù)數(shù)據(jù)跳變位分析最佳采樣取數(shù)時(shí)鐘,也不需要根據(jù)分析所得的最佳采樣取數(shù)時(shí)鐘取反饋調(diào)整過(guò)采樣時(shí)鐘頻率,而通過(guò)簡(jiǎn)單的數(shù)據(jù)取數(shù)位置調(diào)整處理確?;謴?fù)的準(zhǔn)確性,從而使得時(shí)鐘數(shù)據(jù)恢復(fù)處理的復(fù)雜度降低,占用的資源也更少,處理效率更高,數(shù)據(jù)恢復(fù)更快速。由此可見(jiàn),本發(fā)明基于FPGA的時(shí)鐘數(shù)據(jù)恢復(fù)處理方法解決了現(xiàn)有技術(shù)中基于FPGA設(shè)計(jì)的時(shí)鐘數(shù)據(jù)恢復(fù)芯片難以同時(shí)滿足高速時(shí)鐘頻率和快速恢復(fù)的要求而難以適用于突發(fā)式時(shí)鐘數(shù)據(jù)恢復(fù)處理的問(wèn)題,讓FPGA芯片也能夠有效實(shí)現(xiàn)對(duì)突發(fā)數(shù)據(jù)的時(shí)鐘恢復(fù),避免了突發(fā)數(shù)據(jù)通信系統(tǒng)長(zhǎng)期以來(lái)對(duì)高成本的專(zhuān)用BCDR芯片的依賴(lài)。最后說(shuō)明的是,以上實(shí)施例僅用以說(shuō)明本發(fā)明的技術(shù)方案而非限制,盡管參照較佳實(shí)施例對(duì)本發(fā)明進(jìn)行了詳 細(xì)說(shuō)明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解,可以對(duì)本發(fā)明的技術(shù)方案進(jìn)行修改或者等同替換,而不脫離本發(fā)明技術(shù)方案的宗旨和范圍,其均應(yīng)涵蓋在本發(fā)明的權(quán)利要求范圍當(dāng)中。
權(quán)利要求
1.基于FPGA的時(shí)鐘數(shù)據(jù)恢復(fù)處理方法,其特征在于,采用集成有CDR模擬電路的FPGA 芯片實(shí)現(xiàn),具體包括如下步驟1)利用FPGA芯片中的CDR模擬電路對(duì)輸入數(shù)據(jù)進(jìn)行N倍頻的時(shí)鐘數(shù)據(jù)恢復(fù),得到實(shí)時(shí)的每個(gè)周期的倍頻恢復(fù)數(shù)據(jù);其中,N為正整數(shù),且3 < N < 10 ;2)判斷當(dāng)前周期的倍頻恢復(fù)數(shù)據(jù)中是否存在跳變數(shù)據(jù)位;若存在,則檢測(cè)出當(dāng)前周期的倍頻恢復(fù)數(shù)據(jù)中最后一個(gè)跳變數(shù)據(jù)位;若不存在,則將當(dāng)前周期倍頻恢復(fù)數(shù)據(jù)中最后一個(gè)跳變數(shù)據(jù)位的位置確定為與前一周期倍頻恢復(fù)數(shù)據(jù)中最后一個(gè)跳變數(shù)據(jù)位的位置相一3)根據(jù)當(dāng)前周期的倍頻恢復(fù)數(shù)據(jù)中最后一個(gè)跳變數(shù)據(jù)位確定當(dāng)前周期倍頻恢復(fù)數(shù)據(jù)中的各個(gè)數(shù)據(jù)取數(shù)位置;4)檢測(cè)當(dāng)前周期倍頻恢復(fù)數(shù)據(jù)中第一個(gè)數(shù)據(jù)取數(shù)位置與此前一周期倍頻恢復(fù)數(shù)據(jù)中最后一個(gè)數(shù)據(jù)取數(shù)位置之間的距離位數(shù)n,并根據(jù)所述距離位數(shù)η的值對(duì)當(dāng)前周期倍頻恢復(fù)數(shù)據(jù)中數(shù)據(jù)取數(shù)位置的數(shù)量進(jìn)行調(diào)整處理;5)將當(dāng)前周期倍頻恢復(fù)數(shù)據(jù)中經(jīng)過(guò)調(diào)整處理后的各個(gè)數(shù)據(jù)取數(shù)位置的數(shù)據(jù)依次取出, 作為當(dāng)前周期的數(shù)據(jù)恢復(fù)結(jié)果加以輸出;6)循環(huán)執(zhí)行步驟2 5,完成各個(gè)周期的時(shí)鐘數(shù)據(jù)恢復(fù)處理。
2.根據(jù)權(quán)利要求1所述基于FPGA的時(shí)鐘數(shù)據(jù)恢復(fù)處理方法,其特征在于,所述步驟3 中,“根據(jù)當(dāng)前周期的倍頻恢復(fù)數(shù)據(jù)中最后一個(gè)跳變數(shù)據(jù)位確定當(dāng)前周期倍頻恢復(fù)數(shù)據(jù)中的各個(gè)數(shù)據(jù)取數(shù)位置”具體為將當(dāng)前周期的倍頻恢復(fù)數(shù)據(jù)中最后一個(gè)跳變數(shù)據(jù)位之后的第k個(gè)數(shù)據(jù)位作為該周期倍頻恢復(fù)數(shù)據(jù)中的基準(zhǔn)數(shù)據(jù)取數(shù)位置;若當(dāng)前周期的倍頻恢復(fù)數(shù)據(jù)中最后一個(gè)跳變數(shù)據(jù)位之后不足k個(gè)數(shù)據(jù)位,則以最后一個(gè)跳變數(shù)據(jù)位之前第k個(gè)數(shù)據(jù)位作為該周期倍頻恢復(fù)數(shù)據(jù)中的基準(zhǔn)數(shù)據(jù)取數(shù)位置;k=int(N/2),int為取整函數(shù);然后, 以所述基準(zhǔn)數(shù)據(jù)取數(shù)位置為準(zhǔn),每距離N個(gè)數(shù)據(jù)位確定一個(gè)數(shù)據(jù)取數(shù)位置,從而確定當(dāng)前周期倍頻恢復(fù)數(shù)據(jù)中的各個(gè)數(shù)據(jù)取數(shù)位置。
3.根據(jù)權(quán)利要求1所述基于FPGA的時(shí)鐘數(shù)據(jù)恢復(fù)處理方法,其特征在于,所述步驟4 中,“根據(jù)所述距離位數(shù)η的值對(duì)當(dāng)前周期倍頻恢復(fù)數(shù)據(jù)中數(shù)據(jù)取數(shù)位置的數(shù)量進(jìn)行調(diào)整處理”具體為若O. 5Ν〈η〈1. 5Ν,則保留當(dāng)前周期倍頻恢復(fù)數(shù)據(jù)中已確定的各個(gè)數(shù)據(jù)取數(shù)位置不變;若11 < O. 5Ν,則將當(dāng)前周期倍頻恢復(fù)數(shù)據(jù)中的第一個(gè)數(shù)據(jù)取數(shù)位置去除,其它的數(shù)據(jù)取數(shù)位置保持不變;若11 >1. 5Ν,則在當(dāng)前周期倍頻恢復(fù)數(shù)據(jù)中已確定的各個(gè)數(shù)據(jù)取數(shù)位置的基礎(chǔ)上,還將當(dāng)前周期倍頻恢復(fù)數(shù)據(jù)中第一個(gè)數(shù)據(jù)位作為新增的一個(gè)數(shù)據(jù)取數(shù)位置。
全文摘要
本發(fā)明提出了一種基于FPGA的時(shí)鐘數(shù)據(jù)恢復(fù)處理方法,該方法需要采用集成有CDR模擬電路的FPGA芯片實(shí)現(xiàn),其先利用CDR模擬電路對(duì)輸入數(shù)據(jù)進(jìn)行N倍頻的時(shí)鐘數(shù)據(jù)恢復(fù),得到實(shí)時(shí)的每個(gè)周期的倍頻恢復(fù)數(shù)據(jù)之后,再將倍頻恢復(fù)數(shù)據(jù)當(dāng)作對(duì)輸入數(shù)據(jù)的過(guò)采樣數(shù)據(jù)進(jìn)行快速的時(shí)鐘數(shù)據(jù)恢復(fù)處理,因此既解決了現(xiàn)有技術(shù)中采用數(shù)字化過(guò)采樣而頻率受限的問(wèn)題,又解決了現(xiàn)有技術(shù)中CDR模擬電路需要較長(zhǎng)時(shí)間的恢復(fù)相位鎖定才能保證準(zhǔn)確性的問(wèn)題,從而同時(shí)滿足了高速時(shí)鐘和快速恢復(fù)的要求,使得采用本發(fā)明方法設(shè)計(jì)的FPGA芯片也能夠有效實(shí)現(xiàn)突發(fā)式時(shí)鐘數(shù)據(jù)恢復(fù),能夠用以解決突發(fā)數(shù)據(jù)通信系統(tǒng)長(zhǎng)期以來(lái)對(duì)高成本的專(zhuān)用BCDR芯片的依賴(lài)問(wèn)題。
文檔編號(hào)H04L7/033GK103051441SQ20131002465
公開(kāi)日2013年4月17日 申請(qǐng)日期2013年1月23日 優(yōu)先權(quán)日2013年1月23日
發(fā)明者任永順, 呂燕, 楊雋 申請(qǐng)人:和記奧普泰通信技術(shù)有限公司