本文采用一種基于比例積分(PI)控制算法的環(huán)路濾波器應(yīng)用于帶寬自適應(yīng)的全數(shù)字鎖相環(huán),建立了該鎖相環(huán)的數(shù)學(xué)模型,并分析該鎖相環(huán)的各項(xiàng)性能指標(biāo)和設(shè)計(jì)參數(shù)之間的關(guān)系。利用DSP Builder直接對(duì)得到的鎖相環(huán)數(shù)學(xué)模型在Matlab/Simulink環(huán)境下進(jìn)行系統(tǒng)級(jí)的建模,并進(jìn)行計(jì)算機(jī)仿真,同時(shí)將建立的模型文件轉(zhuǎn)換成VHDL程序代碼,在QuartusⅡ軟件中進(jìn)行仿真驗(yàn)證,并用FPGA予以實(shí)現(xiàn)。
1 帶寬自適應(yīng)全數(shù)字鎖相環(huán)的理論分析
1.1 基于PI控制的模擬鎖相環(huán)的理論分析
鎖相回路是一個(gè)負(fù)反饋系統(tǒng),主要由鑒相器(PD)、環(huán)路濾波器(LF)和壓控振蕩器(VCO)三個(gè)部分組成。鑒相器的作用是計(jì)算輸入信號(hào)和輸出信號(hào)的之間的相位誤差。環(huán)路濾波器的主要作用是抑制噪聲及高頻分量,并且控制著環(huán)路相位校正的速度與精度。為了能夠提高鎖相系統(tǒng)的性能,本文采用基于PI控制算法的一階低通濾波器,即將鑒相模塊鑒別出的相位誤差大小乘以一定的比例系數(shù)而產(chǎn)生一個(gè)比例控制參數(shù),同時(shí)對(duì)相位誤差大小進(jìn)行積分,并在積分系數(shù)的調(diào)節(jié)下產(chǎn)生一個(gè)積分控制參數(shù),最終取比例和積分控制參數(shù)的和作為該環(huán)節(jié)的控制參數(shù)。壓控振蕩器的作用就是利用輸入的電壓值控制輸出信號(hào)的頻率。設(shè)壓控振蕩器的輸入信號(hào)為V0(t),輸出信號(hào)的頻率為ω0+KV0(t),則輸出信號(hào)的相位:
![](/article/UploadPic/2010-10/201010141038414.jpg)
式中:
![](/article/UploadPic/2010-10/201010141038732.jpg)
![基于PI控制算法的模擬鎖相環(huán)結(jié)構(gòu)框圖 www.delux-kingway.cn](/article/UploadPic/2010-10/20101014100821532.jpg)
由圖1可以得出,該鎖相回路的閉環(huán)傳遞函數(shù)為:
![](/article/UploadPic/2010-10/201010141038815.jpg)
不難看出該系統(tǒng)是一個(gè)典型的二階系統(tǒng),那么二階模擬鎖相環(huán)的閉環(huán)傳遞函數(shù)可表示為:
![](/article/UploadPic/2010-10/201010141038439.jpg)
式中:Kp和Kl分別為比例系數(shù)和積分系數(shù),取
![](/article/UploadPic/2010-10/201010141039840.jpg)
1.2 帶寬自適應(yīng)全數(shù)字鎖相環(huán)的理論分析
對(duì)上述模擬鎖相環(huán)的s域傳遞函數(shù)進(jìn)行離散化處理,采用脈沖響應(yīng)不變法即可得到全數(shù)字鎖相環(huán)回路的閉環(huán)傳遞函數(shù)為:
![](/article/UploadPic/2010-10/2010101410310640.jpg)
![](/article/UploadPic/2010-10/2010101410310595.jpg)
于是可以得到基于參數(shù)K1和K2的全數(shù)字鎖相環(huán)的結(jié)構(gòu)圖如圖2所示。
![基于參數(shù)K1和K2的全數(shù)字鎖相環(huán)的結(jié)構(gòu)圖 www.delux-kingway.cn](/article/UploadPic/2010-10/201010141002511320.jpg)
分析式(5)中得到的兩個(gè)參數(shù)K1和K2,若式中c和ζ為常數(shù),則參數(shù)K1和K2的變化只與輸入信號(hào)頻率ωref的變化有關(guān),因此,得到的全數(shù)字鎖相環(huán)模型具有自適應(yīng)的特性,這是傳統(tǒng)的全數(shù)字鎖相環(huán)不具有的新特點(diǎn)。
2 帶寬自適應(yīng)全數(shù)字鎖相環(huán)的DSP Builder建模
2.1 DSP Builder介紹
由于FPGA廣泛應(yīng)用,使得EDA軟件QuartusⅡ在很多領(lǐng)域中顯得尤為重要,目前全數(shù)字鎖相環(huán)的設(shè)計(jì)多是通過(guò)EDA技術(shù)完成,使用FPGA予以實(shí)現(xiàn)。這就需要設(shè)計(jì)者對(duì)FPGA硬件電路及硬件描述語(yǔ)言VHDL或者Verilog HDL非常熟悉;同時(shí),由于在QuartusⅡ環(huán)境下使用硬件描述語(yǔ)言進(jìn)行編程設(shè)計(jì)系統(tǒng)模塊時(shí)相當(dāng)繁瑣。而Matlab在搭建系統(tǒng)的數(shù)學(xué)模型方面功能強(qiáng)大,具有專門的建模仿真工具Simulink,可以進(jìn)行圖形化的建模仿真。但是Matlab本身不支持硬件電路,只能完成單純的數(shù)學(xué)模型的建模、仿真。如果把兩者的優(yōu)勢(shì)結(jié)合起來(lái),使二者揚(yáng)長(zhǎng)避短,則可以使復(fù)雜的電子系統(tǒng)的設(shè)計(jì)變得相當(dāng)容易且直觀。
DSP Builder是Altera公司推出的一個(gè)面向DSP開發(fā)的系統(tǒng)工具。它是作為Matlab的一個(gè)Simulink工具箱出現(xiàn)的,可以在atlab/Simulink環(huán)境下進(jìn)行圖形化建模仿真。DSP Builder中的模塊是以算法級(jí)的描述給出的,易于用戶從系統(tǒng)或者算法級(jí)進(jìn)行建模,甚至不需要十分了解FPGA本身和硬件描述語(yǔ)言。在DSPBuilder的模塊庫(kù)中還提供Matlab和QuartusⅡ的接口模塊Signal Compiler,利用該模塊可以方便地把在Ma-tlab/Simulink環(huán)境下建立的算法或者系統(tǒng)級(jí)模型轉(zhuǎn)化為FPGA可編譯的后綴為.vhd的VHDL語(yǔ)言程序。在QuartusⅡ中打開工程文件,可以對(duì)生成的程序進(jìn)行編譯、時(shí)序仿真,完成后可以結(jié)合FPGA開發(fā)板的引腳情況鎖定引腳,經(jīng)過(guò)編譯、適配后即可下載到FPGA開發(fā)板上完成硬件測(cè)試和硬件實(shí)現(xiàn)。
2.2 帶寬自適應(yīng)全數(shù)字鎖相環(huán)的DSP Builder建模
該設(shè)計(jì)方法就是在Matlab/Simulink環(huán)境下借助DSP Builder簡(jiǎn)單、方便快速地建立上述分析得到的全數(shù)字鎖相環(huán)的數(shù)學(xué)模型,各個(gè)模塊建模方框圖如圖3所示。按照以上各個(gè)模塊方框圖連接,構(gòu)成整個(gè)系統(tǒng)模型,并加入系統(tǒng)時(shí)鐘Clock模塊和Signal Compiler模塊,即完成整個(gè)系統(tǒng)的。DSP Builder建模。其中輸入信號(hào)K1和K2是由式(5)計(jì)算得到,用6位無(wú)符號(hào)整數(shù)表示,K1和K2可以隨著輸入信號(hào)Phi_ref頻率的變化而自適應(yīng)的做出調(diào)整;Phi_ref和Phi_out分別為環(huán)路的輸入和輸出信號(hào),都采用1位無(wú)符號(hào)的整數(shù)表示。
![帶寬自適應(yīng)全數(shù)字鎖相環(huán)的DSP Builder建模 www.delux-kingway.cn](/article/UploadPic/2010-10/201010141004797718.jpg)
3 帶寬自適應(yīng)全數(shù)字鎖相環(huán)的軟件仿真和FPGA實(shí)現(xiàn)
3.1 帶寬自適應(yīng)全數(shù)字鎖相環(huán)的軟件仿真
在圖3建立的模型基礎(chǔ)上,該設(shè)計(jì)首先對(duì)帶寬自適應(yīng)全數(shù)字鎖相環(huán)進(jìn)行了軟件仿真,主要包括Matlab/Simulink仿真和QuartusⅡ時(shí)序仿真。其中系統(tǒng)的各個(gè)參數(shù)為:阻尼系數(shù)ζ=O.707,系統(tǒng)時(shí)鐘周期Tclk=1/fs,采樣頻率fs=250 MHz。圖4為輸入信號(hào)Phi_ref取不同頻率時(shí)的Matlab/Simulink仿真波形。
![](/article/UploadPic/2010-10/2010101410311787.jpg)
使用DSP Builder庫(kù)中的Signal Compiler模塊將圖3建立的全數(shù)字鎖相環(huán)模型轉(zhuǎn)化為VHDL語(yǔ)言代碼。該設(shè)計(jì)通過(guò)QuartusⅡ軟件完成帶寬自適應(yīng)全數(shù)字鎖相環(huán)的整體時(shí)序仿真。圖5為輸入信號(hào)Phi_ref由20 MHz跳變到5 MHz時(shí)的時(shí)序仿真圖;圖6為輸入信號(hào)Phi_ref由31 MHz跳變到62 MHz時(shí)的時(shí)序仿真圖。通過(guò)對(duì)所設(shè)計(jì)的全數(shù)字鎖相環(huán)的Matlab/Simu-link仿真和QuartusⅡ時(shí)序仿真可以看出:該系統(tǒng)能夠?qū)崿F(xiàn)鎖頻的功能;同時(shí)該系統(tǒng)具有自適應(yīng)的特性,在輸入信號(hào)很大變化范圍內(nèi)都具有良好的性能;最后該系統(tǒng)對(duì)頻率發(fā)生階躍跳變的輸入信號(hào)亦具有很好的跟蹤性能。
![](/article/UploadPic/2010-10/2010101410318343.jpg)
3.2 FPGA實(shí)現(xiàn)及硬件測(cè)試
由于Signal Compiler模塊可以自動(dòng)地將DSPbuilder建立的模型文件轉(zhuǎn)化為QuartusⅡ環(huán)境下的工程文件,因此,該設(shè)計(jì)在完成軟件仿真后結(jié)合FPGA試驗(yàn)箱,在生成的工程下進(jìn)行引腳的鎖定、編譯適配下載到FPGA芯片,實(shí)現(xiàn)所設(shè)計(jì)的帶寬自適應(yīng)全數(shù)字鎖相環(huán),并完成硬件測(cè)試。在硬件測(cè)試中需要用到信號(hào)發(fā)生器和示波器,信號(hào)發(fā)生器用來(lái)產(chǎn)生鎖相環(huán)的輸入測(cè)試信號(hào),示波器用來(lái)觀測(cè)鎖相環(huán)的輸入/輸出波形。圖7為輸入信號(hào)Phi_ref取不同頻率時(shí)的實(shí)測(cè)波形。
![](/article/UploadPic/2010-10/201010149582891643.jpg)
以上的軟件仿真與硬件測(cè)試都表明,設(shè)計(jì)的帶寬自適應(yīng)全數(shù)字鎖相環(huán)系統(tǒng)能過(guò)實(shí)現(xiàn)鎖頻的功能,設(shè)計(jì)是成功可行的。
4 結(jié)語(yǔ)
本文使用DSP Builder建立系統(tǒng)模型完成全數(shù)字鎖相環(huán)設(shè)計(jì),理論分析和仿真結(jié)果基本一致。從以上設(shè)計(jì)過(guò)程可以看出:基于DSP Buil-der完成全數(shù)字鎖相環(huán)設(shè)計(jì)的方法,使得設(shè)計(jì)者可以利用Simulink快捷靈活的建模仿真功能和Matlab強(qiáng)大的數(shù)據(jù)分析能力進(jìn)行FPGA系統(tǒng)級(jí)的建模仿真,并使得設(shè)計(jì)者從編寫VHDL或者Verilog HDL等代碼語(yǔ)言的繁瑣工作中解放出來(lái),而專注于在Matlab/Simulink下搭建系統(tǒng)模型的工作上,縮短了設(shè)計(jì)周期,提高了設(shè)計(jì)的靈活性。
歡迎轉(zhuǎn)載,本文來(lái)自電子發(fā)燒友網(wǎng)(http://www.delux-kingway.cn/)
評(píng)論