新聞中心

        EEPW首頁 > 嵌入式系統 > 寬頻帶數字鎖相環的設計及基于FPGA的實現

        寬頻帶數字鎖相環的設計及基于FPGA的實現

        ——
        作者:西安工程大學 李曉東 時間:2007-02-12 來源:電子產品世界 收藏

        摘要: 本文簡要介紹了在FPGA中實現全()的原理與方法,以解決在同步串行數據通信時的同步時鐘不穩定時的快速恢復問題; 并重點介紹了采用可控模數分頻器實現的捕獲的方法與實現過程。

        關鍵詞;FPGA;數字環路濾波器;時鐘恢復;

        引言

        ()技術在數字通信、無線電電子學等眾多領域得到了極為廣泛的應用。與傳統的模擬電路實現的PLL相比,DPLL具有精度高、不受溫度和電壓影響、環路帶寬和中心頻率編程可調、易于構建高階鎖相環等優點。隨著集成電路技術的發展,不僅能夠制成頻率較高的單片集成鎖相環路,而且可以把整個系統集成到一個芯片上去。在基于FPGA的通信電路中,可以把全數字鎖相環路作為一個功能模塊嵌入FPGA中,構成片內鎖相環。一般同步串行口通信方式的同步串行口之間的數據傳輸除了數據線外還必須有專門的同步時鐘線,這種連接方式不但需要增加一條線路,同步性能受環境的影響還較大。利用數字鎖相環可以從串行位流數據中恢復出接收位同步時鐘。這樣,串行口之間只用一根數據線就可以接收同步串行數據,簡化了串行口的接口關系。本文介紹基于FPGA數字鎖相環恢復串行數據位同步時鐘的設計與實現及提高數字鎖相環性能的措施。

        DPLL結構及工作原理

        全數字鎖相環路(DPLL)的基本結構如圖1所示。主要由鑒相器DPD、數字環路濾波器DLF、脈沖加減電路(數控振蕩器 DCO)和分頻器(可控變模N)四部分構成。脈沖加減電路的時鐘分別為2Nfc,fc為環路中心頻率。DPLL是一種相位反饋控制系統。它根據輸入信號fin與本地恢復時鐘fout之間的相位誤差(超前還是滯后)信號送入數字環路濾波器DLF 中對相位誤差信號進行平滑濾波,并生成控制DCO 動作的控制信號DCS,DCO 根據控制信號給出的指令,調節內部高速振蕩器的震蕩頻率,通過連續不斷的反饋調節,使其輸出時鐘fout的相位跟蹤輸入數據fin的相位。

        圖1 全數字鎖相環基本結構

        環路模塊具體功能及其電路實現

        數字鑒相器的設計

        常用的鑒相器有兩種,異或門(XOR)鑒相器和邊沿控制鑒相器(ECPD)。與一般DPLL的DPD設計不同,位同步DPLL的DPD需要排除位流數據輸入連續幾位碼值保持不變的不利影響。本文采用改進型異或門鑒相器,它輸出一個表示本地恢復時鐘超前或滯后于輸入信號的相位誤差。如果本地恢復時鐘超前于輸入信號,則超前/滯后脈沖UD輸出為高電平,反之UD輸出為低電平,如圖2所示。

        圖2 改進型異或門鑒相器的原理圖及工作波形圖

        可見,在輸出信號Fout為超前、滯后和同步于Fin時,PE脈沖的前沿距離Fin的上升沿相位是不等的。

        數字環路濾波器的設計

        數字環路濾波器(DLF)作用是消除鑒相器輸出的相位差信號PE中的高頻成分,保證環路的性能穩定,實際上可用一變模可逆計數器(設模數為K)來實現。K變模可逆計數器根據相差信號PE來進行加減運算。當PE為高電平時,計數器進行加運算,如果相加的結果達到預設的模值,則輸出一個進位脈沖信號DP給脈沖加減電路;當PE為低電平時,計數器進行減運算,如果結果為零,則輸出一個借位脈沖信號DP給脈沖加減電路。當Fout同步于Fin或只有隨機干擾脈沖時,計數器加減的數目基本相等,計數結果在初始值處上下徘徊,不會產生進位和借位脈沖,濾除因隨機噪聲引起的相位抖動。計數器根據輸出結果生成控制DCO 動作的控制指令。

        K變模可逆計數器模值K對DPLL的性能指標有著很大的影響。計數器模值K的取值可根據輸入信號的相位抖動而定,加大模值K,有利于提高DPLL 的抗噪能力,但是會導致較大的捕捉時間和較窄的捕捉帶寬。減小模值K 可以縮短捕捉時間,擴展捕捉帶寬,但是降低了DPLL 的抗噪能力。本設計中選擇K=4。在初始時刻,計數器被置初值為K/2=2,這樣可以DPLL捕捉速度很快。

        數控振蕩器的設計

        數控振蕩器( DCO)在數字鎖相環路中所處的地位相當于模擬鎖相環路中的電壓控制振蕩器。在本數字鎖相環設計中使用數控振蕩器是可變模式分頻器。它的輸出是調整可變分頻器的模值N。該值的大小會隨著每個Fin周期內(Fin=1時)鑒相輸出PE進行調整。當UD為高電平時,將可變分頻模值N增大,以調整分頻輸出使之相位滯后;當UD輸出為低電平時,將可變分頻模值N減小,已調整分頻輸出使之輸出相位提前。如果數字環路濾波器既沒有控制脈沖信號DP輸出,那么,分頻模值N將保持不變,經除N分頻后的輸出本地恢復信號相位和輸入信號相位處于同步狀態。

        本地高速時鐘信號CLK由片外高速振蕩器提供。時鐘信號周期大小決定了DPLL 在鎖定狀態下相位跟蹤的精度,同時,它還影響DPLL 的捕捉時間和捕捉帶寬。為提高相位跟蹤的精度以降低數據接收的誤碼率,時鐘信號CLK的取值應盡量高。本設計中取高速時鐘信號CLK的振蕩頻率為64MHz。數控振蕩器可由一個可逆計數器實現。

        N分頻器的設計

        N分頻器則是一個簡單的除N計數器。N分頻器對脈沖加減電路的輸出脈沖再進行N分頻,得到整個環路的輸出信號Fout。同時,因為Fout=CLK/2N=fc,因此通過改變分頻值N可以得到不同的環路中心頻率fc。另外,模值N的大小決定了DPLL的鑒相靈敏度為π/N。

        環路實現

        本設計在Altera公司QUARTUSII5.0 開發軟件平臺上,利用VHDL語言運用自頂向下的系統設計方法, 在Altera最新CPLD芯片MAXII240上設計全數字鎖相環。將鎖相環路設計完畢后,并通過QUARTUSII5.0集成環境進行仿真、綜合、驗證,DPLL設計結果如圖3。

        圖3  改進型異或門鑒相器DPLL原理圖

        其中,可逆計數器counter2為環路濾波器DLF,預設初值為12,加法進位模值為4,減法進位模值為12。可逆計數器lmp_counter2為數控振蕩器,其預置值為time[3..0],其輸出即為鎖相環路分頻器的模值N,輸出值大小隨著控制脈沖信號DP的數目有關。在本設計中,fclk=64MHz,fin=2Mb/s,則time[3..0]=0100b=8。加法計數器lmp_counter2為模值N受控的鎖相環路分頻器。值得注意的是鎖相環路分頻器lmp_counter2的進位輸出Cout不可直接作為分頻輸出,因為在仿真過程中發現隨著fclk頻率的升高,Cout容易產生冒險毛刺,影響鎖相環的穩定性。因此外加一4輸入或非門作為分頻器輸出判決。

        在圖4仿真結果中,fclk=64MHz,fin=2Mb/s。 仿真輸入信號Fin為一任意的二進制碼流信號。可見,對于多位連1或連0的碼流信號,該鎖相環的輸出Fout都能準確恢復出同步所需的時鐘。在第二個輸入碼位到來時本地恢復時鐘Fout就已經進入同步狀態,捕捉速度很快。相位鎖定誤差最大為π/2N=π/16。

        圖4 改進型異或門鑒相器DPLL仿真結果

        捕獲帶寬的擴展

        上述設計的數字鎖相環雖然可以快速鎖定,鎖相精度也較高,但其捕捉范圍較窄。該數字鎖相環的最大相移調整能力為

        濾波器相關文章:濾波器原理


        fpga相關文章:fpga是什么


        濾波器相關文章:濾波器原理


        數字通信相關文章:數字通信原理


        分頻器相關文章:分頻器原理
        塵埃粒子計數器相關文章:塵埃粒子計數器原理
        鑒相器相關文章:鑒相器原理
        脈沖點火器相關文章:脈沖點火器原理
        數字濾波器相關文章:數字濾波器原理
        鎖相環相關文章:鎖相環原理
        鎖相放大器相關文章:鎖相放大器原理


        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 淮安市| 府谷县| 平乡县| 禹城市| 安龙县| 宁陕县| 扬中市| 新蔡县| 航空| 黄冈市| 岳普湖县| 榆树市| 通许县| 邻水| 庄浪县| 丽江市| 香格里拉县| 扎兰屯市| 和顺县| 香港| 阿拉尔市| 永清县| 策勒县| 红河县| 上杭县| 扎赉特旗| 华宁县| 余干县| 延津县| 呼图壁县| 钟山县| 图片| 黎川县| 安岳县| 宁安市| 菏泽市| 弥勒县| 越西县| 拉孜县| 嘉峪关市| 抚宁县|