基于FPGA的PLL頻率合成器設(shè)計(jì)
頻率合成技術(shù)是現(xiàn)代通信的重要組成部分,它是將一個(gè)高穩(wěn)定度和高準(zhǔn)確度的基準(zhǔn)頻率經(jīng)過四則運(yùn)算,產(chǎn)生同樣穩(wěn)定度和準(zhǔn)確度的任意頻率。頻率合成器是電子系統(tǒng)的心臟,是影響電子系統(tǒng)性能的關(guān)鍵因素之一。本文結(jié)合FPGA技術(shù)、鎖相環(huán)技術(shù)、頻率合成技術(shù),設(shè)計(jì)出了一個(gè)整數(shù)/半整數(shù)頻率合成器,能夠方便地應(yīng)用于鎖相環(huán)教學(xué)中,有一定的實(shí)用價(jià)值。
1 PLL頻率合成器的基本原理
頻率合成器主要有直接式、鎖相式、直接數(shù)字式和混合式4種。目前,鎖相式和數(shù)字式容易實(shí)現(xiàn)系列化、小型化、模塊化和工程化,性能也越來越好,已逐步成為最為典型和廣泛的應(yīng)用頻率合成器[1]。本文主要采用集成鎖相環(huán)PLLphase-Lockde Loop芯片CD4046,運(yùn)用FPGA來實(shí)現(xiàn)PLL頻率合成器。
鎖相頻率合成器是由PLL構(gòu)成的。一個(gè)典型的鎖相頻率合成器的原理框圖如圖1所示。
它的工作過程可以簡(jiǎn)單描述為:鑒相器輸出電流的平均直流值乘以環(huán)路濾波器的阻抗,形成VCO的輸入控制電壓。VCO是一種電壓—頻率變換裝置,具有一個(gè)比例常數(shù)。環(huán)路濾波器的控制電壓調(diào)整了VCO的輸出相位,除以N后,等于比較頻率的相位。因?yàn)橄辔皇穷l率的積分,所以這個(gè)過程同樣適用于頻率,輸出頻率可表示為:
公式1只有在PLL處于鎖定狀態(tài)下才成立,而在PLL重新調(diào)整到鎖定狀態(tài)的中間過程不成立。在實(shí)際應(yīng)用中,R值是固定的,N值是可變的[2],XTAL為輸入信號(hào)的頻率。
2 系統(tǒng)設(shè)計(jì)
整個(gè)系統(tǒng)的功能主要由FPGA芯片EPF10K10 LC84-4控制相關(guān)硬件實(shí)現(xiàn)。本系統(tǒng)的原理框圖如圖2所示。
從圖2可以看出,一方面,40 MHz有源晶振通過FPGA的控制進(jìn)行分頻,得到1 kHz的頻率信號(hào),作為CD4046的輸入基準(zhǔn)分頻,CD4046的VCO的輸出信號(hào)直接輸入整數(shù)分頻模塊和半整數(shù)分頻模塊;另一方面,鍵盤掃描輸出鍵值,鍵值送往功能模塊。功能模塊指示“確定”,那么鍵值作為分頻系數(shù),送到整數(shù)分頻和半整數(shù)分頻模塊,分別對(duì)VCO輸入的信號(hào)進(jìn)行分頻;功能模塊指示“清除”,那么分頻系數(shù)清零。鍵值的最后一位直接控制二路選擇模塊:鍵值的最后一位是“0”,控制二路選擇模塊輸出整數(shù)模塊結(jié)果;鍵值的最后一位是“5”,控制二路選擇模塊輸出半整數(shù)模塊結(jié)果。分頻輸出的結(jié)果與鎖相環(huán)的基準(zhǔn)頻率在鑒相器中進(jìn)行比較,產(chǎn)生一個(gè)對(duì)應(yīng)于這兩個(gè)信號(hào)相位差的Ud電壓信號(hào),再經(jīng)過環(huán)路濾波器濾除Ud中的高頻分量與噪聲,輸出Uc,Uc再輸入VCO,使得壓控振蕩器的振蕩頻率不斷向輸入信號(hào)的頻率靠攏,最后使得環(huán)路達(dá)到鎖定,VCO輸出穩(wěn)定頻率。
工作過程中,F(xiàn)PGA控制可預(yù)置的N/N+0.5的變化,當(dāng)N/N+0.5變化時(shí),輸出信號(hào)頻率響應(yīng)跟著輸入信號(hào)變化。同時(shí)FPGA也實(shí)現(xiàn)了鍵盤掃描與液晶顯示的功能。
2.1 系統(tǒng)硬件設(shè)計(jì)
硬件上,如圖3所示。該系統(tǒng)部分主要由7大部分組成:外部系統(tǒng)時(shí)鐘、4×4鍵盤控制電路、FPGA處理芯片、EPC2LC20型EPROM芯片、PLL芯片CD4046及其外圍電路、液晶1602顯示模塊、示波器。本設(shè)計(jì)使用FPGA專用配置芯片EPC2,通過下載電纜ByteBlaster MV,把程序多次下載到FPGA芯片中。系統(tǒng)使用FPGA芯片作為控制中心,按鍵掃描輸入控制信息,液晶屏進(jìn)行顯示,能夠方便直觀地演示PLL芯片CD4046在頻率合成技術(shù)中的應(yīng)用,且達(dá)到了預(yù)期的指標(biāo)要求。本設(shè)計(jì)中的主要硬件的具體型號(hào)是:液晶TC1602A-01T,F(xiàn)PGA芯片EPF10K10LC84-4,40.000 MHz有源晶振HO-12B。
2.2 系統(tǒng)軟件設(shè)計(jì)
通過編寫VHDL程序?qū)崿F(xiàn)整數(shù)/半整數(shù)分頻,并應(yīng)用Quartus II和ModelSim,筆者完成了VHDL程序的設(shè)計(jì)及仿真。
系統(tǒng)軟件功能框圖如圖4所示。
系統(tǒng)的具體工作過程如下:
鍵盤掃描模塊負(fù)責(zé)掃描按鍵,輸出鍵值,鍵值輸入到1602液晶模塊中進(jìn)行顯示。同時(shí),通過功能鍵模塊去控制鍵值輸入到FPGA中的分頻模塊中,功能模塊為“確定”時(shí),鍵值輸入到FPGA分頻模塊中,分頻系數(shù)N就等于輸入的鍵值。功能模塊為“清除”時(shí),F(xiàn)PGA分頻模塊中,分頻系數(shù)N就會(huì)被清零。
3 系統(tǒng)測(cè)試及結(jié)果
測(cè)試儀器:INSTEK GOS-620(20 MHz模擬示波器)
測(cè)試溫度:室溫
3.1 檢測(cè)系統(tǒng)是否入鎖
鍵盤輸入從1~999.5時(shí),所測(cè)CD4046的1號(hào)管腳波形如圖5所示,指示PLL處于入鎖狀態(tài)。
3.2 檢測(cè)較低頻的整數(shù)/半整數(shù)分頻
當(dāng)N=3、9、13、1.5、5.5、9.5,輸入為1 kHz的頻率時(shí),CD4046的輸出波形分別如圖6(a)、(b)、(c)、(e)、(f)、(g)所示。從圖中可以很明顯地讀到,輸出分別為3 kHz、9 kHz、13 kHz、1.5 kHz、5.5 kHz和9.5 kHz。這與理論上預(yù)見的結(jié)果是一致的。
3.3 檢測(cè)較高頻的整數(shù)/半整數(shù)分頻
當(dāng)N為更高的數(shù)值時(shí),通過比較CD4046的輸入輸出波形,很難直接看出來。這時(shí)輸入仍采用1kHz的頻率值,這時(shí)直接看輸出的頻率值。N=100、500、999、999.5時(shí)的波形分別如圖7(a)、(b)、(c)、(d)所示。
由圖7(a)得:所測(cè)頻率為1/(10×10-6)Hz=100 kHz
由圖7(b)得:所測(cè)頻率為2/(10×10-6)Hz=500 kHz
由圖7(c)得:所測(cè)頻率約為1/(10×10-6)Hz=1 MHz
由圖7(d)得:所測(cè)頻率約為1/(10×10-6)Hz=1 MHz
可見,這時(shí)實(shí)測(cè)值與理論上預(yù)見的結(jié)果也是一致的。
3.4 誤差分析
較低頻時(shí)的波形之所以占空比不是標(biāo)準(zhǔn)的50%,是由于CD4046輸出頻率經(jīng)過FPGA分頻模塊之后產(chǎn)生的反饋信號(hào)只是一個(gè)脈沖信號(hào),這個(gè)脈沖信號(hào)要與出入CD4046的1kHz的標(biāo)準(zhǔn)信號(hào)進(jìn)行相位比較,而標(biāo)準(zhǔn)信號(hào)的占空比是50%,這就造成了相位比較之后產(chǎn)生的信號(hào)波形占空比不是50%,而本系統(tǒng)測(cè)試時(shí)所采用的是模擬示波器,對(duì)較低頻占空比非50%的顯示不是很好,這很有可能是由于波形不是非常標(biāo)準(zhǔn)的主要原因。
在測(cè)試完成之后,又用數(shù)字示波器來專門檢測(cè)CD4046的輸出頻率,結(jié)果與理論計(jì)算幾乎吻合。
本系統(tǒng)結(jié)合FPGA技術(shù)、鎖相環(huán)技術(shù)、頻率合成技術(shù),設(shè)計(jì)出了一個(gè)整數(shù)/半整數(shù)頻率合成器,輸出范圍為1 kHz~999.5 kHz,步進(jìn)頻率可達(dá)到0.5 kHz;與以前的實(shí)驗(yàn)裝置相比,系統(tǒng)在性能指標(biāo)、直觀性等方面都有所提高,它不僅可以用于教學(xué)實(shí)驗(yàn),還可以用作頻率源、頻率計(jì)。