張楠
(長春理工大學 電子信息工程學院,長春 130022)
基于FPGA的全數字鎖相環電路的設計
張楠
(長春理工大學電子信息工程學院,長春130022)
為了協調鎖相環鎖定時間與環路同步誤差之間的矛盾,設計了一種基于自動變模控制的全數字鎖相環電路,主要有四部分構成:異或門鑒相器、K變模可逆計數器、脈沖加減電路以及自動變模控制模塊。其中自動變模控制模塊實時控制可逆計數器的模值,當輸入信號和本地參考信號的相位差較大時,降低KMode值,增大步進校正量,縮短捕獲時間;當相位差較小時,增大KMode值,使捕獲過程變慢,即延長鎖定時間,提高捕獲精度。采用VerilogHDL語言對各模塊功能進行描述,利用Modelsim SE10.1c軟件進行功能仿真驗證并給出RTL級電路圖,運用Quartus II軟件進行功能仿真和綜合,并將程序下載到FPGA芯片上驗證環路功能,結果證明此環路能夠實現相位鎖定。
數字鎖相環;自動變模;FPGA
全數字鎖相環(ADPLL),顧名思義,環路中所有的部件都是用數字電路實現的,主要由三部分構成:數字鑒相器、數字環路濾波器和數控振蕩器,作用是使輸出信號和輸入信號的頻差為零,相差恒定[1]。即讓輸出信號的相位和頻率同步于輸入信號的相位和頻率。它相比于模擬鎖相環具有更高的可靠性,而且體積小、重量輕、成本低、可移植性好等優點,并且克服了模擬鎖相環的可移植性差、直流零點漂移、器件飽和以及易受環境溫度影響等缺點[2]。因此,它具備更大的優勢和更好的發展前景。
如圖1所示,數字鎖相環電路與電鎖相環電路的不同之處在于它處理的數字信號,主要有四大部分組成:異或門鑒相器、K變模可逆計數器、脈沖加減電路和N分頻器、自動變模控制電路。采用異或門電路代替數字鑒相器(DPD),作用是比較輸入信號和反饋輸入信號的相位差,輸出一個中頻信號,經過K變模可逆計數器,在這里充當環路濾波器(DLP)的作用,對鑒相器輸出的信號進行濾波處理,數控振蕩器(DCO),即由脈沖加減電路和N分頻器組成,在其內部由控制信號控制本地信號的頻率向輸入信號的頻率靠攏,最終實現頻率差為零[3]。

圖1 全數字鎖相環的系統框圖
工作原理:輸入信號和反饋輸入信號進入異或門鑒相器進行相位鑒別,輸出相位誤差信號到K變模可逆計數器的輸入端,在系統時鐘的作用下,當輸入相位誤差信號為高電平時,計數器進行減計數,當計數器減到零時,則輸出一個進位脈沖信號給脈沖加減電路;當相位誤差信號為低電平時,計數器進行加運算,計數器加到預設模值KMode時,則輸出一個借位脈沖信號給脈沖加減電路。當輸入信號同步于反饋輸入信號或只有隨機干擾脈沖時,計數器加減的數目基本相等,計數得到的結果在初始值處上下徘徊,不會產生進位和借位脈沖。脈沖加減電路受控于K計數器輸出的進位脈沖和借位脈沖信號,當進位脈沖信號來到時,脈沖加減電路在對系統時鐘二分頻的基礎上插入一個系統時鐘周期;當輸入端輸入為借位脈沖時,脈沖加減電路的輸出為:對系統時鐘二分頻的基礎上進行扣除一個系統時鐘周期。若既沒有進位脈沖也沒有借位脈沖,則脈沖加減電路的輸出為系統時鐘的二分頻信號。脈沖加減電路的輸出信號作為N分頻器的時鐘,經過N分頻后作為反饋信號輸出。反復上述過程,可使反饋輸入信號的頻率等于輸入信號的頻率,即實現環路的鎖定。其中自動控制模塊的作用是根據輸入信號和反饋輸入信號的相位誤差信號對K變模可逆計數器的模值進行實時控制。目的是提高環路的速度和精度[4]。
表1所示為ADPLL系統框圖中各個子模塊的模塊名稱、實際名稱及用途。

表1 全數字鎖相環電路中各模塊名稱及用途
2.1異或門鑒相器模塊
如圖2所示,異或門鑒相器有兩個輸入端:u1和u2為輸入信號和反饋輸入信號,一個輸出端:ud為相位誤差信號。當輸入信號和反饋輸入信號的相位相差90°時,表示環路進入鎖定狀態。

圖2 異或門電路的RTL級仿真電路圖
鑒相器的仿真波形圖如下圖3、圖4和圖5所示。圖3表示輸入信號的相位超前于反饋輸入信號的相位。圖4表示輸入信號的相位滯后于反饋輸入信號的相位。圖5表示輸入信號的相位與反饋輸入信號的相位相差90°。

圖3 u1相位超前u2

圖4 u1相位滯后u2

圖5 鎖相環路鎖定
2.2K變模可逆計數器模塊
如圖6所示,K變模可逆計數器模塊有由五個輸入端和兩個輸出端構成,五個輸入端分別是:高速時鐘輸入、置位信號輸入端、使能端、模值設置輸入端以及相位誤差信號輸入端。兩個輸出端分別是進位脈沖和借位脈沖輸出端。
當鑒相器輸出為一系列方波(占空比非50%)時,K變模可逆計數器的仿真波形圖如圖7所示。

圖6 K變模可逆計數器的RTL級仿真電路圖

圖7 可逆計數器的仿真波形圖
當鑒相器輸出占空比50%的方波時,調節KMode的值后的仿真波形圖如圖8和圖9所示。

圖8 KMode=001時的仿真波形圖

圖9 KMode=010時的仿真波形圖

圖10 脈沖加減電路的RTL級仿真電路圖
由上述圖8和圖9可知,當K變模可逆計數器輸入端的dnup為占空比為50%的方波時,增大KMode預設模值,使得可逆計數器輸出的周期性進位脈沖和借位脈沖的頻率減小,減緩環路進入鎖定狀態的速度,提高鎖定精度。
2.3脈沖加減電路模塊
圖10為脈沖加減電路的RTL級仿真電路圖。脈沖加減電路在本文中起到數控振蕩器的作用,即具有調整鎖相環回路頻率和相位的功能。它有四個輸入端和一個輸出端,分別為時鐘輸入端IDclock、進位輸入端inc、借位輸入端dec、復位輸入端reset和IDout輸出端。在系統時鐘的作用下,在高速時鐘信號二分頻后的波形中增加或減少一個時鐘信號。加入時鐘信號時,使得輸出的信號的周期減小,頻率變大。減少一個時鐘信號時,輸出信號的周期變大,從而降低其頻率想輸入信號靠攏;當無加扣信號時,數控振蕩器的輸出為僅對IDclock系統時鐘的二分頻。
圖11所示為inc=dec=0時,IDout為IDclock的二分頻輸出。即當無加扣脈沖信號輸入時,脈沖加減電路輸出對系統時鐘信號的二分頻。

圖11 無進位和借位信號輸入時仿真波形圖
由圖12可見,當inc為高電平時,在IDout信號上插入了一個IDclock周期,起到提高輸出頻率的作用。當檢測到ID電路的dec端為高電平時,在輸出信號分頻后的IDclock上扣除半個周期,目的是降低了IDout的頻率。

圖12 帶有進位和借位信號時的仿真波形圖
2.4N分頻器
N分頻器的實質就是一個計數器,本文采用N分頻器為可變分頻器,分頻系數N等于高速系統時鐘clk與輸入信號fin在頻率方面的比值。也就是說除N計數器的N值是隨著輸入信號的變化而不斷更新的,目的就是使輸出信號快速跟蹤輸入信號的頻率。圖13為N分頻器的RTL級電路圖。圖14和圖15分別為N=8,N=32的仿真波形圖。

圖13 N分頻器的RTL級仿真電路圖

圖14 N=8時分頻器的仿真波形圖

圖15 N=32時分頻器的仿真波形圖
2.5自動變模控制模塊
如圖16所示,本設計中的自動變模控制模塊由三部分組成:檢測部分、比較部分和檢測部分。其中檢測部分和比較部分的作用:一是對輸入信號進行鑒頻,然后把鑒頻輸出送到數控振蕩器后面的N分頻器,作為分頻因子,這樣保證了輸入信號和輸出信號的頻率是相同的,這是本設計的一個創新點。二是將鑒頻結果輸入給模值變換控制部分作為其基礎輸入量。該模塊的功能實現過程是在高速時鐘頻率作用下對鑒相器輸出的相位差進行量化。以量化后的誤差值為參考值,對可逆計數器的模值KMode進行精確的調整,實現快速鎖相的同時減小同步誤差。
當相位差較大時,會迫使鎖相環進入捕獲過程。這時減小模值KMode,增大捕獲的步進校正量,進而提到電路鎖相速度。量化相位值和模值KMode相互影響,即若使量化值大,則降低KMode值;若想獲得小的量化值,則提高KMode值。當相位差比較小時,鎖相電路自動進入鎖定狀態。通過適當增大KMode值,降低環路進入鎖定狀態的速度,從而提高校正精度及環路的抗噪性。

圖16 自動變模控制模塊的組成框圖
由圖17可知,根據輸入信號和反饋輸入信號可自動計算出符合快捕區、慢捕區和同步區的適當模值mo,下圖所示為快捕區。本文將快捕區設置為相位誤差的周期是高速時鐘周期的3倍以上,慢捕區在1倍到3倍之間,同步區為1倍以內。

圖17 自動變模控制模塊仿真圖
本文采用Altera公司開發的Cyclone II系列的FPGA芯片,型號為EP2C8Q208C8N,將代碼文件燒錄到開發板上進行仿真驗證,經過驗證,本文所設計的環路可實現相位鎖定。
本文對基于FPGA的數字鎖相環進行了設計,運用VerilogHDL語言描述環路的功能[5],在Quartus II10.1仿真環境下,對各部分的功能進行了仿真驗證,經過驗證每部分子模塊均可獨立的實現各自的功能。自動變模的設計可根據輸入信號和輸出信號的相位差的大小靈活的改變預設模值KMode的值,當相位誤差較大時,減小KMode的值,擴大捕獲范圍;當檢測到相位誤差較小時,增大KMode的值,降低捕獲速度,從而調整了環路鎖定的速度和精度。
[1]張月強.基于FPGA的全數字鎖相環的研究與設計[D].秦皇島:燕山大學,2011.
[2]謝嘉奎,宣月清,馮軍.電子線路非線性部分(第四版)[M].北京:北京高等教育出版社,2010.
[3]帥旗.基于FPGA的全數字鎖相環的設計與實現[D].大連:大連理工大學,2013.
[4]耿計芳.高精度知道變模控制全數字鎖相環的研究[D].天津:天津大學,2006.
[5]夏宇聞.Verilog數字系統設計教程(第三版)[M].北京:北京航空航天大學出版社,2013.
Design of All Digital Phase-locked Loop Based on FPGA
ZHANG Nan
(School of Electronic and Information Engineering,Changchun University of Science and Technology,Changchun 130022)
To coordinate the contradiction between the locking time and the loop synchronization error,the paper design an ADPLL circuit based on automatic control mode,consisted by four parts:XOR gate as phase detector,K variable modulus reversible counter,ID counter and automatically changed module,which to control the counter modulus value on real-time.when the phase error is bigger,reduce the KMode value,to stepper correction amount,shorten acquisition time;when the phase error is smaller,increase the KMode value,slow down the capture process,extend the lock time,improve capture accuracy.Each of these modules’description of functions are based on VerilogHDL and functional simulation by Modelsim SE10.1c,the RTL logic circuit diagrams of them are given.Using Quartus II software for timing simulation and synthesis,and download the program to the FPGA development board to verify.The results showed that the loop can be locked.
digital phase-locked loop;automatically changed module;FPGA
TN91
A
1672-9870(2016)03-0065-05
2015-12-29
張楠(1991-),女,碩士研究生,E-mail:nancyzan@163.com