《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > 基于DSP Builder的帶寬自適應(yīng)全數(shù)字鎖相環(huán)的設(shè)計與實現(xiàn)
基于DSP Builder的帶寬自適應(yīng)全數(shù)字鎖相環(huán)的設(shè)計與實現(xiàn)
現(xiàn)代電子技術(shù)
李勇 朱立軍 單長虹
摘要: 在設(shè)計方法上多采用VHDL語言或者Verilog HDL語言編程完成系統(tǒng)設(shè)計,,并利用EDA軟件對系統(tǒng)進(jìn)行時序仿真,以驗證設(shè)計的正確性,。該種設(shè)計方法就要求設(shè)計者對FPGA硬件有一定的了解,并且具有扎實的硬件描述語言編程基礎(chǔ),。
Abstract:
Key words :

  傳統(tǒng)的數(shù)字鎖相環(huán)設(shè)計在結(jié)構(gòu)上希望通過采用具有低通特性的環(huán)路濾波,,從而獲得穩(wěn)定的振蕩控制數(shù)據(jù)。但是,,在基于數(shù)字邏輯電路設(shè)計的數(shù)字鎖相環(huán)系統(tǒng)中,,利用邏輯算法實現(xiàn)低通濾波是比較困難的。于是,,出現(xiàn)了一些脈沖序列低通濾波計數(shù)電路,,其中最為常見的是“N先于M”環(huán)路濾波器。這些電路通過對鑒相模塊產(chǎn)生的相位誤差脈沖進(jìn)行計數(shù)運算,,獲得可控振蕩器模塊的振蕩控制參數(shù),。脈沖序列低通濾波計數(shù)方法是一個比較復(fù)雜的非線性處理過程,難以進(jìn)行線性近似,,所以無法采用系統(tǒng)傳遞函數(shù)分析方法確定鎖相環(huán)中的設(shè)計參數(shù),,以及進(jìn)一步分析鎖相性能。在設(shè)計方法上多采用VHDL語言或者Verilog HDL語言編程完成系統(tǒng)設(shè)計,,并利用EDA軟件對系統(tǒng)進(jìn)行時序仿真,,以驗證設(shè)計的正確性。該種設(shè)計方法就要求設(shè)計者對FPGA硬件有一定的了解,,并且具有扎實的硬件描述語言編程基礎(chǔ),。

  本文采用一種基于比例積分(PI)控制算法的環(huán)路濾波器應(yīng)用于帶寬自適應(yīng)全數(shù)字鎖相環(huán),建立了該鎖相環(huán)的數(shù)學(xué)模型,,并分析該鎖相環(huán)的各項性能指標(biāo)和設(shè)計參數(shù)之間的關(guān)系,。利用DSP Builder直接對得到的鎖相環(huán)數(shù)學(xué)模型在Matlab/Simulink環(huán)境下進(jìn)行系統(tǒng)級的建模,并進(jìn)行計算機(jī)仿真,,同時將建立的模型文件轉(zhuǎn)換成VHDL程序代碼,,在QuartusⅡ軟件中進(jìn)行仿真驗證,并用FPGA予以實現(xiàn),。

  1 帶寬自適應(yīng)全數(shù)字鎖相環(huán)的理論分析

  1.1 基于PI控制的模擬鎖相環(huán)的理論分析

  鎖相回路是一個負(fù)反饋系統(tǒng),,主要由鑒相器(PD)、環(huán)路濾波器(LF)和壓控振蕩器(VCO)三個部分組成,。鑒相器的作用是計算輸入信號和輸出信號的之間的相位誤差,。環(huán)路濾波器的主要作用是抑制噪聲及高頻分量,并且控制著環(huán)路相位校正的速度與精度,。為了能夠提高鎖相系統(tǒng)的性能,,本文采用基于PI控制算法的一階低通濾波器,即將鑒相模塊鑒別出的相位誤差大小乘以一定的比例系數(shù)而產(chǎn)生一個比例控制參數(shù),,同時對相位誤差大小進(jìn)行積分,,并在積分系數(shù)的調(diào)節(jié)下產(chǎn)生一個積分控制參數(shù),,最終取比例和積分控制參數(shù)的和作為該環(huán)節(jié)的控制參數(shù)。壓控振蕩器的作用就是利用輸入的電壓值控制輸出信號的頻率,。設(shè)壓控振蕩器的輸入信號為V0(t),,輸出信號的頻率為ω0+KV0(t),則輸出信號的相位:

公式

  式中:公式,,則壓控振蕩器的傳遞函數(shù)為:HVCO(s)=θf(s)/V0(t)=K/s,,可以看出壓控振蕩器相當(dāng)于一個固有積分環(huán)節(jié)。在該設(shè)計中取壓控振蕩器的增益K=1,,則通過以上的分析可得基于PI控制算法的模擬鎖相環(huán)結(jié)構(gòu)框圖如圖1所示,。

基于PI控制算法的模擬鎖相環(huán)結(jié)構(gòu)框圖

  由圖1可以得出,該鎖相回路的閉環(huán)傳遞函數(shù)為:

公式

  不難看出該系統(tǒng)是一個典型的二階系統(tǒng),,那么二階模擬鎖相環(huán)的閉環(huán)傳遞函數(shù)可表示為:

公式

  式中:Kp和Kl分別為比例系數(shù)和積分系數(shù),,取公式為系統(tǒng)的自然頻率;ζ為系統(tǒng)的阻尼系數(shù),。

  1.2 帶寬自適應(yīng)全數(shù)字鎖相環(huán)的理論分析

  對上述模擬鎖相環(huán)的s域傳遞函數(shù)進(jìn)行離散化處理,,采用脈沖響應(yīng)不變法即可得到全數(shù)字鎖相環(huán)回路的閉環(huán)傳遞函數(shù)為:

公式

公式

  于是可以得到基于參數(shù)K1和K2的全數(shù)字鎖相環(huán)的結(jié)構(gòu)圖如圖2所示。

基于參數(shù)K1和K2的全數(shù)字鎖相環(huán)的結(jié)構(gòu)圖

  分析式(5)中得到的兩個參數(shù)K1和K2,,若式中c和ζ為常數(shù),,則參數(shù)K1和K2的變化只與輸入信號頻率ωref的變化有關(guān),因此,,得到的全數(shù)字鎖相環(huán)模型具有自適應(yīng)的特性,,這是傳統(tǒng)的全數(shù)字鎖相環(huán)不具有的新特點。

  2 帶寬自適應(yīng)全數(shù)字鎖相環(huán)的DSP Builder建模

  2.1 DSP Builder介紹

  由于FPGA廣泛應(yīng)用,,使得EDA軟件QuartusⅡ在很多領(lǐng)域中顯得尤為重要,,目前全數(shù)字鎖相環(huán)的設(shè)計多是通過EDA技術(shù)完成,使用FPGA予以實現(xiàn),。這就需要設(shè)計者對FPGA硬件電路及硬件描述語言VHDL或者Verilog HDL非常熟悉,;同時,由于在QuartusⅡ環(huán)境下使用硬件描述語言進(jìn)行編程設(shè)計系統(tǒng)模塊時相當(dāng)繁瑣,。而Matlab在搭建系統(tǒng)的數(shù)學(xué)模型方面功能強大,具有專門的建模仿真工具Simulink,,可以進(jìn)行圖形化的建模仿真,。但是Matlab本身不支持硬件電路,只能完成單純的數(shù)學(xué)模型的建模,、仿真,。如果把兩者的優(yōu)勢結(jié)合起來,使二者揚長避短,,則可以使復(fù)雜的電子系統(tǒng)的設(shè)計變得相當(dāng)容易且直觀,。

  DSP Builder是Altera公司推出的一個面向DSP開發(fā)的系統(tǒng)工具,。它是作為Matlab的一個Simulink工具箱出現(xiàn)的,可以在atlab/Simulink環(huán)境下進(jìn)行圖形化建模仿真,。DSP Builder中的模塊是以算法級的描述給出的,,易于用戶從系統(tǒng)或者算法級進(jìn)行建模,甚至不需要十分了解FPGA本身和硬件描述語言,。在DSPBuilder的模塊庫中還提供Matlab和QuartusⅡ的接口模塊Signal Compiler,,利用該模塊可以方便地把在Ma-tlab/Simulink環(huán)境下建立的算法或者系統(tǒng)級模型轉(zhuǎn)化為FPGA可編譯的后綴為.vhd的VHDL語言程序。在QuartusⅡ中打開工程文件,,可以對生成的程序進(jìn)行編譯,、時序仿真,完成后可以結(jié)合FPGA開發(fā)板的引腳情況鎖定引腳,,經(jīng)過編譯,、適配后即可下載到FPGA開發(fā)板上完成硬件測試和硬件實現(xiàn)。

  2.2 帶寬自適應(yīng)全數(shù)字鎖相環(huán)的DSP Builder建模

  該設(shè)計方法就是在Matlab/Simulink環(huán)境下借助DSP Builder簡單,、方便快速地建立上述分析得到的全數(shù)字鎖相環(huán)的數(shù)學(xué)模型,,各個模塊建模方框圖如圖3所示。按照以上各個模塊方框圖連接,,構(gòu)成整個系統(tǒng)模型,,并加入系統(tǒng)時鐘Clock模塊和Signal Compiler模塊,即完成整個系統(tǒng)的,。DSP Builder建模,。其中輸入信號K1和K2是由式(5)計算得到,用6位無符號整數(shù)表示,,K1和K2可以隨著輸入信號Phi_ref頻率的變化而自適應(yīng)的做出調(diào)整,;Phi_ref和Phi_out分別為環(huán)路的輸入和輸出信號,都采用1位無符號的整數(shù)表示,。

各個模塊建模方框圖

 

3 帶寬自適應(yīng)全數(shù)字鎖相環(huán)的軟件仿真和FPGA實現(xiàn)
3.1 帶寬自適應(yīng)全數(shù)字鎖相環(huán)的軟件仿真
    在圖3建立的模型基礎(chǔ)上,,該設(shè)計首先對帶寬自適應(yīng)全數(shù)字鎖相環(huán)進(jìn)行了軟件仿真,主要包括Matlab/Simulink仿真和QuartusⅡ時序仿真,。其中系統(tǒng)的各個參數(shù)為:阻尼系數(shù)ζ=O.707,,系統(tǒng)時鐘周期Tclk=1/fs,采樣頻率fs=250 MHz,。圖4為輸入信號Phi_ref取不同頻率時的Matlab/Simulink仿真波形,。
 使用DSP Builder庫中的Signal Compiler模塊將圖3建立的全數(shù)字鎖相環(huán)模型轉(zhuǎn)化為VHDL語言代碼。該設(shè)計通過QuartusⅡ軟件完成帶寬自適應(yīng)全數(shù)字鎖相環(huán)的整體時序仿真,。圖5為輸入信號Phi_ref由20 MHz跳變到5 MHz時的時序仿真圖,;圖6為輸入信號Phi_ref由31 MHz跳變到62 MHz時的時序仿真圖。通過對所設(shè)計的全數(shù)字鎖相環(huán)的Matlab/Simu-link仿真和QuartusⅡ時序仿真可以看出:該系統(tǒng)能夠?qū)崿F(xiàn)鎖頻的功能,;同時該系統(tǒng)具有自適應(yīng)的特性,,在輸入信號很大變化范圍內(nèi)都具有良好的性能,;最后該系統(tǒng)對頻率發(fā)生階躍跳變的輸入信號亦具有很好的跟蹤性能。
 3.2 FPGA實現(xiàn)及硬件測試
    由于Signal Compiler模塊可以自動地將DSPbuilder建立的模型文件轉(zhuǎn)化為QuartusⅡ環(huán)境下的工程文件,,因此,,該設(shè)計在完成軟件仿真后結(jié)合FPGA試驗箱,在生成的工程下進(jìn)行引腳的鎖定,、編譯適配下載到FPGA芯片,,實現(xiàn)所設(shè)計的帶寬自適應(yīng)全數(shù)字鎖相環(huán),并完成硬件測試,。在硬件測試中需要用到信號發(fā)生器和示波器,,信號發(fā)生器用來產(chǎn)生鎖相環(huán)的輸入測試信號,示波器用來觀測鎖相環(huán)的輸入/輸出波形,。圖7為輸入信號Phi_ref取不同頻率時的實測波形,。
 
    以上的軟件仿真與硬件測試都表明,設(shè)計的帶寬自適應(yīng)全數(shù)字鎖相環(huán)系統(tǒng)能過實現(xiàn)鎖頻的功能,,設(shè)計是成功可行的,。
 
4 結(jié)語
    本文使用DSP Builder建立系統(tǒng)模型完成全數(shù)字鎖相環(huán)設(shè)計,理論分析和仿真結(jié)果基本一致,。從以上設(shè)計過程可以看出:基于DSP Buil-der完成全數(shù)字鎖相環(huán)設(shè)計的方法,,使得設(shè)計者可以利用Simulink快捷靈活的建模仿真功能和Matlab強大的數(shù)據(jù)分析能力進(jìn)行FPGA系統(tǒng)級的建模仿真,并使得設(shè)計者從編寫VHDL或者Verilog HDL等代碼語言的繁瑣工作中解放出來,,而專注于在Matlab/Simulink下搭建系統(tǒng)模型的工作上,,縮短了設(shè)計周期,提高了設(shè)計的靈活性,。
此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載。