張楠
(長(zhǎng)春理工大學(xué) 電子信息工程學(xué)院,長(zhǎng)春 130022)
基于FPGA的全數(shù)字鎖相環(huán)電路的設(shè)計(jì)
張楠
(長(zhǎng)春理工大學(xué)電子信息工程學(xué)院,長(zhǎng)春130022)
為了協(xié)調(diào)鎖相環(huán)鎖定時(shí)間與環(huán)路同步誤差之間的矛盾,設(shè)計(jì)了一種基于自動(dòng)變??刂频娜珨?shù)字鎖相環(huán)電路,主要有四部分構(gòu)成:異或門(mén)鑒相器、K變??赡嬗?jì)數(shù)器、脈沖加減電路以及自動(dòng)變??刂颇K。其中自動(dòng)變??刂颇K實(shí)時(shí)控制可逆計(jì)數(shù)器的模值,當(dāng)輸入信號(hào)和本地參考信號(hào)的相位差較大時(shí),降低KMode值,增大步進(jìn)校正量,縮短捕獲時(shí)間;當(dāng)相位差較小時(shí),增大KMode值,使捕獲過(guò)程變慢,即延長(zhǎng)鎖定時(shí)間,提高捕獲精度。采用VerilogHDL語(yǔ)言對(duì)各模塊功能進(jìn)行描述,利用Modelsim SE10.1c軟件進(jìn)行功能仿真驗(yàn)證并給出RTL級(jí)電路圖,運(yùn)用Quartus II軟件進(jìn)行功能仿真和綜合,并將程序下載到FPGA芯片上驗(yàn)證環(huán)路功能,結(jié)果證明此環(huán)路能夠?qū)崿F(xiàn)相位鎖定。
數(shù)字鎖相環(huán);自動(dòng)變模;FPGA
全數(shù)字鎖相環(huán)(ADPLL),顧名思義,環(huán)路中所有的部件都是用數(shù)字電路實(shí)現(xiàn)的,主要由三部分構(gòu)成:數(shù)字鑒相器、數(shù)字環(huán)路濾波器和數(shù)控振蕩器,作用是使輸出信號(hào)和輸入信號(hào)的頻差為零,相差恒定[1]。即讓輸出信號(hào)的相位和頻率同步于輸入信號(hào)的相位和頻率。它相比于模擬鎖相環(huán)具有更高的可靠性,而且體積小、重量輕、成本低、可移植性好等優(yōu)點(diǎn),并且克服了模擬鎖相環(huán)的可移植性差、直流零點(diǎn)漂移、器件飽和以及易受環(huán)境溫度影響等缺點(diǎn)[2]。因此,它具備更大的優(yōu)勢(shì)和更好的發(fā)展前景。
如圖1所示,數(shù)字鎖相環(huán)電路與電鎖相環(huán)電路的不同之處在于它處理的數(shù)字信號(hào),主要有四大部分組成:異或門(mén)鑒相器、K變模可逆計(jì)數(shù)器、脈沖加減電路和N分頻器、自動(dòng)變??刂齐娐贰2捎卯惢蜷T(mén)電路代替數(shù)字鑒相器(DPD),作用是比較輸入信號(hào)和反饋輸入信號(hào)的相位差,輸出一個(gè)中頻信號(hào),經(jīng)過(guò)K變模可逆計(jì)數(shù)器,在這里充當(dāng)環(huán)路濾波器(DLP)的作用,對(duì)鑒相器輸出的信號(hào)進(jìn)行濾波處理,數(shù)控振蕩器(DCO),即由脈沖加減電路和N分頻器組成,在其內(nèi)部由控制信號(hào)控制本地信號(hào)的頻率向輸入信號(hào)的頻率靠攏,最終實(shí)現(xiàn)頻率差為零[3]。
圖1 全數(shù)字鎖相環(huán)的系統(tǒng)框圖
工作原理:輸入信號(hào)和反饋輸入信號(hào)進(jìn)入異或門(mén)鑒相器進(jìn)行相位鑒別,輸出相位誤差信號(hào)到K變??赡嬗?jì)數(shù)器的輸入端,在系統(tǒng)時(shí)鐘的作用下,當(dāng)輸入相位誤差信號(hào)為高電平時(shí),計(jì)數(shù)器進(jìn)行減計(jì)數(shù),當(dāng)計(jì)數(shù)器減到零時(shí),則輸出一個(gè)進(jìn)位脈沖信號(hào)給脈沖加減電路;當(dāng)相位誤差信號(hào)為低電平時(shí),計(jì)數(shù)器進(jìn)行加運(yùn)算,計(jì)數(shù)器加到預(yù)設(shè)模值KMode時(shí),則輸出一個(gè)借位脈沖信號(hào)給脈沖加減電路。當(dāng)輸入信號(hào)同步于反饋輸入信號(hào)或只有隨機(jī)干擾脈沖時(shí),計(jì)數(shù)器加減的數(shù)目基本相等,計(jì)數(shù)得到的結(jié)果在初始值處上下徘徊,不會(huì)產(chǎn)生進(jìn)位和借位脈沖。脈沖加減電路受控于K計(jì)數(shù)器輸出的進(jìn)位脈沖和借位脈沖信號(hào),當(dāng)進(jìn)位脈沖信號(hào)來(lái)到時(shí),脈沖加減電路在對(duì)系統(tǒng)時(shí)鐘二分頻的基礎(chǔ)上插入一個(gè)系統(tǒng)時(shí)鐘周期;當(dāng)輸入端輸入為借位脈沖時(shí),脈沖加減電路的輸出為:對(duì)系統(tǒng)時(shí)鐘二分頻的基礎(chǔ)上進(jìn)行扣除一個(gè)系統(tǒng)時(shí)鐘周期。若既沒(méi)有進(jìn)位脈沖也沒(méi)有借位脈沖,則脈沖加減電路的輸出為系統(tǒng)時(shí)鐘的二分頻信號(hào)。脈沖加減電路的輸出信號(hào)作為N分頻器的時(shí)鐘,經(jīng)過(guò)N分頻后作為反饋信號(hào)輸出。反復(fù)上述過(guò)程,可使反饋輸入信號(hào)的頻率等于輸入信號(hào)的頻率,即實(shí)現(xiàn)環(huán)路的鎖定。其中自動(dòng)控制模塊的作用是根據(jù)輸入信號(hào)和反饋輸入信號(hào)的相位誤差信號(hào)對(duì)K變??赡嬗?jì)數(shù)器的模值進(jìn)行實(shí)時(shí)控制。目的是提高環(huán)路的速度和精度[4]。
表1所示為ADPLL系統(tǒng)框圖中各個(gè)子模塊的模塊名稱(chēng)、實(shí)際名稱(chēng)及用途。
表1 全數(shù)字鎖相環(huán)電路中各模塊名稱(chēng)及用途
2.1異或門(mén)鑒相器模塊
如圖2所示,異或門(mén)鑒相器有兩個(gè)輸入端:u1和u2為輸入信號(hào)和反饋輸入信號(hào),一個(gè)輸出端:ud為相位誤差信號(hào)。當(dāng)輸入信號(hào)和反饋輸入信號(hào)的相位相差90°時(shí),表示環(huán)路進(jìn)入鎖定狀態(tài)。
圖2 異或門(mén)電路的RTL級(jí)仿真電路圖
鑒相器的仿真波形圖如下圖3、圖4和圖5所示。圖3表示輸入信號(hào)的相位超前于反饋輸入信號(hào)的相位。圖4表示輸入信號(hào)的相位滯后于反饋輸入信號(hào)的相位。圖5表示輸入信號(hào)的相位與反饋輸入信號(hào)的相位相差90°。
圖3 u1相位超前u2
圖4 u1相位滯后u2
圖5 鎖相環(huán)路鎖定
2.2K變??赡嬗?jì)數(shù)器模塊
如圖6所示,K變??赡嬗?jì)數(shù)器模塊有由五個(gè)輸入端和兩個(gè)輸出端構(gòu)成,五個(gè)輸入端分別是:高速時(shí)鐘輸入、置位信號(hào)輸入端、使能端、模值設(shè)置輸入端以及相位誤差信號(hào)輸入端。兩個(gè)輸出端分別是進(jìn)位脈沖和借位脈沖輸出端。
當(dāng)鑒相器輸出為一系列方波(占空比非50%)時(shí),K變模可逆計(jì)數(shù)器的仿真波形圖如圖7所示。
圖6 K變模可逆計(jì)數(shù)器的RTL級(jí)仿真電路圖
圖7 可逆計(jì)數(shù)器的仿真波形圖
當(dāng)鑒相器輸出占空比50%的方波時(shí),調(diào)節(jié)KMode的值后的仿真波形圖如圖8和圖9所示。
圖8 KMode=001時(shí)的仿真波形圖
圖9 KMode=010時(shí)的仿真波形圖
圖10 脈沖加減電路的RTL級(jí)仿真電路圖
由上述圖8和圖9可知,當(dāng)K變??赡嬗?jì)數(shù)器輸入端的dnup為占空比為50%的方波時(shí),增大KMode預(yù)設(shè)模值,使得可逆計(jì)數(shù)器輸出的周期性進(jìn)位脈沖和借位脈沖的頻率減小,減緩環(huán)路進(jìn)入鎖定狀態(tài)的速度,提高鎖定精度。
2.3脈沖加減電路模塊
圖10為脈沖加減電路的RTL級(jí)仿真電路圖。脈沖加減電路在本文中起到數(shù)控振蕩器的作用,即具有調(diào)整鎖相環(huán)回路頻率和相位的功能。它有四個(gè)輸入端和一個(gè)輸出端,分別為時(shí)鐘輸入端IDclock、進(jìn)位輸入端inc、借位輸入端dec、復(fù)位輸入端reset和IDout輸出端。在系統(tǒng)時(shí)鐘的作用下,在高速時(shí)鐘信號(hào)二分頻后的波形中增加或減少一個(gè)時(shí)鐘信號(hào)。加入時(shí)鐘信號(hào)時(shí),使得輸出的信號(hào)的周期減小,頻率變大。減少一個(gè)時(shí)鐘信號(hào)時(shí),輸出信號(hào)的周期變大,從而降低其頻率想輸入信號(hào)靠攏;當(dāng)無(wú)加扣信號(hào)時(shí),數(shù)控振蕩器的輸出為僅對(duì)IDclock系統(tǒng)時(shí)鐘的二分頻。
圖11所示為inc=dec=0時(shí),IDout為IDclock的二分頻輸出。即當(dāng)無(wú)加扣脈沖信號(hào)輸入時(shí),脈沖加減電路輸出對(duì)系統(tǒng)時(shí)鐘信號(hào)的二分頻。
圖11 無(wú)進(jìn)位和借位信號(hào)輸入時(shí)仿真波形圖
由圖12可見(jiàn),當(dāng)inc為高電平時(shí),在IDout信號(hào)上插入了一個(gè)IDclock周期,起到提高輸出頻率的作用。當(dāng)檢測(cè)到ID電路的dec端為高電平時(shí),在輸出信號(hào)分頻后的IDclock上扣除半個(gè)周期,目的是降低了IDout的頻率。
圖12 帶有進(jìn)位和借位信號(hào)時(shí)的仿真波形圖
2.4N分頻器
N分頻器的實(shí)質(zhì)就是一個(gè)計(jì)數(shù)器,本文采用N分頻器為可變分頻器,分頻系數(shù)N等于高速系統(tǒng)時(shí)鐘clk與輸入信號(hào)fin在頻率方面的比值。也就是說(shuō)除N計(jì)數(shù)器的N值是隨著輸入信號(hào)的變化而不斷更新的,目的就是使輸出信號(hào)快速跟蹤輸入信號(hào)的頻率。圖13為N分頻器的RTL級(jí)電路圖。圖14和圖15分別為N=8,N=32的仿真波形圖。
圖13 N分頻器的RTL級(jí)仿真電路圖
圖14 N=8時(shí)分頻器的仿真波形圖
圖15 N=32時(shí)分頻器的仿真波形圖
2.5自動(dòng)變??刂颇K
如圖16所示,本設(shè)計(jì)中的自動(dòng)變??刂颇K由三部分組成:檢測(cè)部分、比較部分和檢測(cè)部分。其中檢測(cè)部分和比較部分的作用:一是對(duì)輸入信號(hào)進(jìn)行鑒頻,然后把鑒頻輸出送到數(shù)控振蕩器后面的N分頻器,作為分頻因子,這樣保證了輸入信號(hào)和輸出信號(hào)的頻率是相同的,這是本設(shè)計(jì)的一個(gè)創(chuàng)新點(diǎn)。二是將鑒頻結(jié)果輸入給模值變換控制部分作為其基礎(chǔ)輸入量。該模塊的功能實(shí)現(xiàn)過(guò)程是在高速時(shí)鐘頻率作用下對(duì)鑒相器輸出的相位差進(jìn)行量化。以量化后的誤差值為參考值,對(duì)可逆計(jì)數(shù)器的模值KMode進(jìn)行精確的調(diào)整,實(shí)現(xiàn)快速鎖相的同時(shí)減小同步誤差。
當(dāng)相位差較大時(shí),會(huì)迫使鎖相環(huán)進(jìn)入捕獲過(guò)程。這時(shí)減小模值KMode,增大捕獲的步進(jìn)校正量,進(jìn)而提到電路鎖相速度。量化相位值和模值KMode相互影響,即若使量化值大,則降低KMode值;若想獲得小的量化值,則提高KMode值。當(dāng)相位差比較小時(shí),鎖相電路自動(dòng)進(jìn)入鎖定狀態(tài)。通過(guò)適當(dāng)增大KMode值,降低環(huán)路進(jìn)入鎖定狀態(tài)的速度,從而提高校正精度及環(huán)路的抗噪性。
圖16 自動(dòng)變模控制模塊的組成框圖
由圖17可知,根據(jù)輸入信號(hào)和反饋輸入信號(hào)可自動(dòng)計(jì)算出符合快捕區(qū)、慢捕區(qū)和同步區(qū)的適當(dāng)模值mo,下圖所示為快捕區(qū)。本文將快捕區(qū)設(shè)置為相位誤差的周期是高速時(shí)鐘周期的3倍以上,慢捕區(qū)在1倍到3倍之間,同步區(qū)為1倍以?xún)?nèi)。
圖17 自動(dòng)變??刂颇K仿真圖
本文采用Altera公司開(kāi)發(fā)的Cyclone II系列的FPGA芯片,型號(hào)為EP2C8Q208C8N,將代碼文件燒錄到開(kāi)發(fā)板上進(jìn)行仿真驗(yàn)證,經(jīng)過(guò)驗(yàn)證,本文所設(shè)計(jì)的環(huán)路可實(shí)現(xiàn)相位鎖定。
本文對(duì)基于FPGA的數(shù)字鎖相環(huán)進(jìn)行了設(shè)計(jì),運(yùn)用VerilogHDL語(yǔ)言描述環(huán)路的功能[5],在Quartus II10.1仿真環(huán)境下,對(duì)各部分的功能進(jìn)行了仿真驗(yàn)證,經(jīng)過(guò)驗(yàn)證每部分子模塊均可獨(dú)立的實(shí)現(xiàn)各自的功能。自動(dòng)變模的設(shè)計(jì)可根據(jù)輸入信號(hào)和輸出信號(hào)的相位差的大小靈活的改變預(yù)設(shè)模值KMode的值,當(dāng)相位誤差較大時(shí),減小KMode的值,擴(kuò)大捕獲范圍;當(dāng)檢測(cè)到相位誤差較小時(shí),增大KMode的值,降低捕獲速度,從而調(diào)整了環(huán)路鎖定的速度和精度。
[1]張?jiān)聫?qiáng).基于FPGA的全數(shù)字鎖相環(huán)的研究與設(shè)計(jì)[D].秦皇島:燕山大學(xué),2011.
[2]謝嘉奎,宣月清,馮軍.電子線(xiàn)路非線(xiàn)性部分(第四版)[M].北京:北京高等教育出版社,2010.
[3]帥旗.基于FPGA的全數(shù)字鎖相環(huán)的設(shè)計(jì)與實(shí)現(xiàn)[D].大連:大連理工大學(xué),2013.
[4]耿計(jì)芳.高精度知道變模控制全數(shù)字鎖相環(huán)的研究[D].天津:天津大學(xué),2006.
[5]夏宇聞.Verilog數(shù)字系統(tǒng)設(shè)計(jì)教程(第三版)[M].北京:北京航空航天大學(xué)出版社,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