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