楊敏華,何 波
(中興通訊股份有限公司,江蘇 南京 210012)
基于FPGA的CES時鐘恢復(fù)算法實現(xiàn)研究
楊敏華,何波
(中興通訊股份有限公司,江蘇南京210012)
文章介紹了一種適用于硬件數(shù)字電路實現(xiàn)的時鐘恢復(fù)算法,主要描述該算法的原理,并列出關(guān)鍵模塊的實現(xiàn)方案。目前該方案已經(jīng)在Altera的FPGA器件EP4CGX150DF27I7上實現(xiàn)。
CES;現(xiàn)場可編程邏輯器件;時鐘恢復(fù);時鐘合成
分組網(wǎng)電路仿真服務(wù)(Circuit Emulation Services,CES)是指在分組網(wǎng)絡(luò)上承載傳統(tǒng)時分復(fù)用(Time Division Multiplexing,TDM)數(shù)據(jù)的技術(shù)。分組網(wǎng)電路仿真技術(shù)在PWE3脈寬編碼器(Pulse Width Encoder,PWE)框架下,采用電路仿真的方式,為數(shù)據(jù)流提供端到端的傳輸。當(dāng)分組網(wǎng)絡(luò)承載TDM業(yè)務(wù)的時候,需要保證業(yè)務(wù)始終的透明傳遞,涉及網(wǎng)絡(luò)上宿端節(jié)點的業(yè)務(wù)時鐘恢復(fù)問題。
目前的時鐘恢復(fù)算法主要有兩大類,一個是自適應(yīng)法(Adaptive Methods),另一種是差分法(Differential Methods,DM)。其中自適應(yīng)法是完全基于分組包到達(dá)間隔或緩存區(qū)的填充水平來恢復(fù)定時,可以保證業(yè)務(wù)始終的透傳。優(yōu)點是不需要公共參考時鐘網(wǎng),缺點是受到分組網(wǎng)絡(luò)的影響大,處理相對復(fù)雜。差分法將業(yè)務(wù)時鐘和本地參考時鐘的偏差進(jìn)行編碼并在分組網(wǎng)絡(luò)中傳送,業(yè)務(wù)始終在宿端通過使用相同的參考時鐘進(jìn)行恢復(fù),這種方法也可以保證業(yè)務(wù)始終透傳。優(yōu)點是由于收發(fā)兩端的設(shè)備同步,受到分組網(wǎng)絡(luò)的影響小,缺點是必須兩端有公共參考時鐘,成本較高。
本論文利用自適應(yīng)法來恢復(fù)源端時鐘,提供一種基于現(xiàn)場可編邏輯門陣列(Field Programmable Gate Array,F(xiàn)PGA)的可實現(xiàn)方案,保證宿端能恢復(fù)出源端TDM時鐘。
本系統(tǒng)基于分組包到達(dá)間隔,通過FPGA來實現(xiàn)基本功能。本系統(tǒng)分為時鐘合成組件和分組間隔計算組件。通過分組間隔計算組件得到時鐘合成組件需要的參數(shù),最后通過時鐘合成組件生成系統(tǒng)所需的恢復(fù)時鐘。本系統(tǒng)架構(gòu)如圖1所示。
圖1 系統(tǒng)架構(gòu)
2.1時鐘合成組件
2.1.1算法原理
時鐘合成技術(shù)是通信系統(tǒng)的重要組成部分,時鐘合成技術(shù)通過對一個高精度和高穩(wěn)定性的基準(zhǔn)時鐘進(jìn)行運算,產(chǎn)生一個穩(wěn)定的時鐘。
在該組件中,利用刪除脈沖模塊有規(guī)律地刪除基準(zhǔn)時鐘源(該時鐘源相對于恢復(fù)時鐘來說是一個高頻時鐘源)中的一些脈沖,從而實現(xiàn)平均意義上的小數(shù)分頻,這種算法很容易用硬件實現(xiàn),而且不容易產(chǎn)生競爭冒險和毛刺的問題。
2.1.2算法實現(xiàn)
假設(shè)X為分頻比,源時鐘為f_in,輸出時鐘為f_out,則
將f_in和f_out同時擴(kuò)大的倍數(shù),總能將分子分母化為整數(shù),將化為整數(shù)之后的分子和分母用P和Q表示,則
當(dāng)時鐘源每輸入P個脈沖,利用脈沖刪除模塊從這P個脈沖中按照一定的規(guī)律刪除(P-Q)個脈沖,輸出Q個脈沖,從而實現(xiàn)的平均意義上的X分頻。
時鐘合成組件主要由刪除信號生成模塊和脈沖刪除模塊兩部分組成,如圖2所示。
圖2 時鐘合成組件架構(gòu)
刪除信號生成模塊工作流程如圖3所示,根據(jù)P和Q的值,對時鐘源輸入脈沖數(shù)進(jìn)行計數(shù)控制。在時鐘源的每個上升沿,計數(shù)器加上Q,若計數(shù)器的值小于P,則將刪除脈沖控制信號delete置為1;若其值大于P,則將計數(shù)器的值減去P,并且將delete信號置為0,不發(fā)出刪除脈沖的信號。
圖3 刪除信號生成模塊工作流程
脈沖刪除模塊就是一個簡單的或門,將delete信號和基準(zhǔn)時鐘源進(jìn)行或運算,實現(xiàn)當(dāng)脈沖刪除控制信號delete為1時,從時鐘源中刪除一個脈沖。脈沖刪除控制信號delete必須由時鐘源的上升沿觸發(fā)產(chǎn)生。
基于以上所述,當(dāng)進(jìn)行時鐘合成時,只要求出分頻參數(shù)P 和Q,就可以得到相應(yīng)的分頻時鐘。
2.2分組間隔計算組件
為了求出最終的分頻參數(shù)P和Q,先進(jìn)行演算,假設(shè)X為分頻比,源時鐘(外部基準(zhǔn)時鐘源)頻率為f_in,源時鐘周期為T_in(T_in=1/f_in),輸出時鐘頻率為f_out, 輸出時鐘周期為T_out(T_out=1/f_out)則
其中:t為兩個分組的間隔時間,N(k)為用時鐘頻率為f_in的時鐘采樣的兩個分組間隔時鐘周期數(shù),N為分組長度。
由于分組的傳輸抖動具有隨機(jī)性,如果直接采用f_in的時鐘采樣間隔估算發(fā)送定時將導(dǎo)致很大的誤差,所以對觀測到的間隔值首先要經(jīng)過預(yù)濾波處理,去除噪聲間隔的高頻分量。采用移動平均窗口算法完成預(yù)濾波處理,令表示通過濾波的分組間隔預(yù)測值,N_f為每個分組間隔的采樣值,M表示平均移動窗口的長度,則
可見,如果M越大,則濾波效果越好,但是存儲量和計算量越大。
結(jié)合時鐘合成組件的算法原理,分組間隔估計組件可以計算出時鐘合成所需要的P和Q,則
得到參數(shù)P和Q后,利用外部基準(zhǔn)時鐘源,當(dāng)時鐘源每輸入N(k)個脈沖,利用刪除脈沖模塊從這N(k)個脈沖中刪除(N(k)-N)個脈沖,輸出N個脈沖,從而實現(xiàn)平均意義上的X分頻,恢復(fù)了源端TDM時鐘。
目前該算法用Verilog編碼,已經(jīng)在Altera的FPGA器件EP4CGX150DF27I7上實現(xiàn)。
該系統(tǒng)最終在Modelsim下的仿真波形如圖4所示。
圖4 仿真波形
[1]周夢然.CLPD/FPGA的開發(fā)與應(yīng)用[M].徐州:中國礦業(yè)大學(xué)出版社,2007.
[2]王金明. VerilogHDL程序設(shè)計教程[M].北京:人民郵電出版社,2004.
[3]毛為勇.基于FPGA的任意小數(shù)分頻器的設(shè)計[J].桂林航天工業(yè)高等??茖W(xué)校學(xué)報,2009(1):30-32.
Implementation of CES clock recovery algorithm based on FPGA
Yang Minhua, He Bo
(ZTE Corporation, Nanjing 210012, China)
This paper introduces a clock recovery algorithm which is suitable for the realization ofhardware digital circuits. It mainly describes the principle of the algorithm and lists the implementation schemes of key modules in the program. At present, the scheme has been implemented on device EP4CGX150DF27I7 of Altera FPGA .
CES; FPGA; clock recovery; clock generation
楊敏華(1980— ),女,江蘇常州,碩士,工程師;研究方向:數(shù)據(jù)通信。