摘 要: 提出一種設(shè)計全數(shù)字鎖相環(huán)的新方法,采用基于PI控制算法的環(huán)路濾波器,在分析模擬鎖相環(huán)系統(tǒng)的數(shù)學模型的基礎(chǔ)上,建立了帶寬自適應(yīng)全數(shù)字鎖相環(huán)的數(shù)學模型。使用DSP Builder在Matlab/Simulink環(huán)境下搭建系統(tǒng)模型,并采用FPGA實現(xiàn)了硬件電路。軟件仿真和硬件測試的結(jié)果證明了該設(shè)計的正確性和易實現(xiàn)性。該鎖相環(huán)具有鎖頻速度快、頻率跟蹤范圍寬的特點。同時,系統(tǒng)設(shè)計表明基于DSP Builder的設(shè)計方法可縮短設(shè)計周期,提高設(shè)計的靈活性。關(guān)鍵詞:DSP Builder; 帶寬自適應(yīng); PI控制; 全數(shù)字鎖相環(huán)
中圖分類號:TN402-34文獻標識碼:A
文章編號:1004-373X(2010)16-0001-04
Design and Implementation of Adaptive Bandwidth All-digital
Phase-locked Loop Based on DSP Builder
LI Yong, ZHU Li-jun, SHAN Chang-hong
(College of Electrical Engineering, Nanhua University, Hengyang 421001, China)
Abstract: A novel design method of all-digital phase-locked loop which adopts a loop filter based on PI (proportional-integra1) control algorithm is presented in this paper. The mathematical model of adaptive bandwidth all-digital phase-locked loop is established on the basis of the mathematical model analysis of analog phase-locked loop. The system model is built with DSP Builder in the Matlab/Simulink environment. The hardware circuit is realized with the FPGA. The correctness and achievability of the design are verified by the results of the software simulation and hardware test. The process of the design shows that the design method based on DSP Builder presented in this paper shortens the design cycle and improves the flexibility of the design.
Keywords: DSP Builder; adaptive bandwidth; PI control; all-digital phase-locked loop
收稿日期:2010-03-01
基金項目:湖南省科技廳資助項目(05GK3049)
傳統(tǒng)的數(shù)字鎖相環(huán)設(shè)計在結(jié)構(gòu)上希望通過采用具有低通特性的環(huán)路濾波,從而獲得穩(wěn)定的振蕩控制數(shù)據(jù)。但是,在基于數(shù)字邏輯電路設(shè)計的數(shù)字鎖相環(huán)系統(tǒng)中,利用邏輯算法實現(xiàn)低通濾波是比較困難的[1]。于是,出現(xiàn)了一些脈沖序列低通濾波計數(shù)電路,其中最為常見的是“N先于M”環(huán)路濾波器。這些電路通過對鑒相模塊產(chǎn)生的相位誤差脈沖進行計數(shù)運算[2-3],獲得可控振蕩器模塊的振蕩控制參數(shù)。脈沖序列低通濾波計數(shù)方法是一個比較復(fù)雜的非線性處理過程,難以進行線性近似,所以無法采用系統(tǒng)傳遞函數(shù)分析方法確定鎖相環(huán)中的設(shè)計參數(shù),以及進一步分析鎖相性能[4]。在設(shè)計方法上多采用VHDL語言或者Verilog HDL語言編程完成系統(tǒng)設(shè)計,并利用EDA軟件對系統(tǒng)進行時序仿真,以驗證設(shè)計的正確性。該種設(shè)計方法就要求設(shè)計者對FPGA硬件有一定的了解,并且具有扎實的硬件描述語言編程基礎(chǔ)。
本文采用一種基于比例積分(PI)控制算法的環(huán)路濾波器[5]應(yīng)用于帶寬自適應(yīng)的全數(shù)字鎖相環(huán),建立了該鎖相環(huán)的數(shù)學模型,并分析該鎖相環(huán)的各項性能指標和設(shè)計參數(shù)之間的關(guān)系。利用DSP Builder直接對得到的鎖相環(huán)數(shù)學模型在Matlab/Simulink環(huán)境下進行系統(tǒng)級的建模,并進行計算機仿真,同時將建立的模型文件轉(zhuǎn)換成VHDL程序代碼,在QuartusⅡ軟件中進行仿真驗證,并用FPGA予以實現(xiàn)[6]。
1 帶寬自適應(yīng)全數(shù)字鎖相環(huán)的理論分析
1.1 基于PI控制的模擬鎖相環(huán)的理論分析
鎖相回路是一個負反饋系統(tǒng),主要由鑒相器(PD)、環(huán)路濾波器(LF)和壓控振蕩器(VCO)三個部分組成。鑒相器的作用是計算輸入信號和輸出信號的之間的相位誤差。環(huán)路濾波器的主要作用是抑制噪聲及高頻分量,并且控制著環(huán)路相位校正的速度與精度。為了能夠提高鎖相系統(tǒng)的性能,本文采用基于PI控制算法的一階低通濾波器,即將鑒相模塊鑒別出的相位誤差大小乘以一定的比例系數(shù)而產(chǎn)生一個比例控制參數(shù),同時對相位誤差大小進行積分,并在積分系數(shù)的調(diào)節(jié)下產(chǎn)生一個積分控制參數(shù),最終取比例和積分控制參數(shù)的和作為該環(huán)節(jié)的控制參數(shù)[7]。壓控振蕩器的作用就是利用輸入的電壓值控制輸出信號的頻率。設(shè)壓控振蕩器的輸入信號為V0(t),輸出信號的頻率為ω0+KV0(t),則輸出信號的相位:
∫t0ω2tdt=ω0t+θf(t)=ω0t+∫t0KV0(t)dt
式中:θf=∫t0KV0(t)dt,則壓控振蕩器的傳遞函數(shù)為:HVCO(s)=θf(s)/V0(t)=K/s ,可以看出壓控振蕩器相當于一個固有積分環(huán)節(jié)。在該設(shè)計中取壓控振蕩器的增益K=1,則通過以上的分析可得基于PI控制算法的模擬鎖相環(huán)結(jié)構(gòu)框圖如圖1所示。
圖1 基于PI控制算法的模擬鎖相環(huán)的結(jié)構(gòu)框圖
由圖1可以得出,該鎖相回路的閉環(huán)傳遞函數(shù)為:
HAPLL(s)=φout(s)φref(s)=KPs+KIs2+KPs+KI(1)
不難看出該系統(tǒng)是一個典型的二階系統(tǒng),那么二階模擬鎖相環(huán)的閉環(huán)傳遞函數(shù)可表示為:
HAPLL(s) = φout(s)φref(s) = 2ζωn s + ω2n s2 + 2ζωn s + ω2n (2)
式中:KP和KI分別為比例系數(shù)和積分系數(shù),取KP=2ζωn,KI=ω2n;ωn為系統(tǒng)的自然頻率;ζ為系統(tǒng)的阻尼系數(shù)。
1.2 帶寬自適應(yīng)全數(shù)字鎖相環(huán)的理論分析
對上述模擬鎖相環(huán)的s域傳遞函數(shù)進行離散化處理,采用脈沖響應(yīng)不變法即可得到全數(shù)字鎖相環(huán)回路的閉環(huán)傳遞函數(shù)為:
HADPLL(z) = φout(z)φref(z) =
(KPTS + KIT2S)z-KPTSz2 + (KPTS + KIT2S-2)z + 1-KPTS=
(K1+K2)z-K1z2+(K1+K2-2)z+1-K1 (3)
式中:TS為整個系統(tǒng)的采樣周期,且令:
K1=KPTS, K2 = KI T2S(4)
由KP=2ζωn ,KI=ω2n,則可得K1=2ζωnTS ,K2=ω2nT2S。若設(shè)c=ωn/ωref為常數(shù),ζ為常數(shù),則可推出:
K1 = 2ξωnTS,K2 = ω2nT2S(5)
于是可以得到基于參數(shù)K1和K2的全數(shù)字鎖相環(huán)的結(jié)構(gòu)圖如圖2所示。
分析式(5)中得到的兩個參數(shù)K1和K2,若式中c和ζ為常數(shù),則參數(shù)K1和K2的變化只與輸入信號頻率ωref的變化有關(guān)[8],因此,得到的全數(shù)字鎖相環(huán)模型具有自適應(yīng)的特性,這是傳統(tǒng)的全數(shù)字鎖相環(huán)不具有的新特點。
圖2 基于參數(shù)K1和K2的全數(shù)字鎖相環(huán)的結(jié)構(gòu)框圖
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)境下使用硬件描述語言進行編程設(shè)計系統(tǒng)模塊時相當繁瑣。而Matlab在搭建系統(tǒng)的數(shù)學模型方面功能強大,具有專門的建模仿真工具Simulink,可以進行圖形化的建模仿真。但是Matlab本身不支持硬件電路,只能完成單純的數(shù)學模型的建模、仿真。如果把兩者的優(yōu)勢結(jié)合起來,使二者揚長避短,則可以使復(fù)雜的電子系統(tǒng)的設(shè)計變得相當容易且直觀。
DSP Builder是 Altera公司推出的一個面向DSP開發(fā)的系統(tǒng)工具。它是作為Matlab的一個 Simulink 工具箱出現(xiàn)的,可以在Matlab/Simulink環(huán)境下進行圖形化建模仿真。DSP Builder中的模塊是以算法級的描述給出的,易于用戶從系統(tǒng)或者算法級進行建模,甚至不需要十分了解FPGA本身和硬件描述語言。在DSP Builder的模塊庫中還提供Matlab和QuartusⅡ的接口模塊Signal Compiler,利用該模塊可以方便地把在Matlab/Simulink環(huán)境下建立的算法或者系統(tǒng)級模型轉(zhuǎn)化為FPGA可編譯的后綴為.vhd的VHDL語言程序[9-10]。在QuartusⅡ中打開工程文件,可以對生成的程序進行編譯、時序仿真,完成后可以結(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ù)學模型,各個模塊建模方框圖如圖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 DSP Builder中各個模塊建模方框圖
3 帶寬自適應(yīng)全數(shù)字鎖相環(huán)的軟件仿真和FPGA實現(xiàn)
3.1 帶寬自適應(yīng)全數(shù)字鎖相環(huán)的軟件仿真
在圖3建立的模型基礎(chǔ)上,該設(shè)計首先對帶寬自適應(yīng)全數(shù)字鎖相環(huán)進行了軟件仿真,主要包括Matlab/ Simulink仿真和QuartusⅡ時序仿真。其中系統(tǒng)的各個參數(shù)為:阻尼系數(shù)ζ=0.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/Simulink仿真和QuartusⅡ時序仿真可以看出:該系統(tǒng)能夠?qū)崿F(xiàn)鎖頻的功能;同時該系統(tǒng)具有自適應(yīng)的特性,在輸入信號很大變化范圍內(nèi)都具有良好的性能;最后該系統(tǒng)對頻率發(fā)生階躍跳變的輸入信號亦具有很好的跟蹤性能。
圖4 輸入信號Phi_ref取不同頻率時的
Matlab/Simulink仿真波形
3.2 FPGA實現(xiàn)及硬件測試
由于Signal Compiler模塊可以自動地將DSP builder建立的模型文件轉(zhuǎn)化為QuartusⅡ環(huán)境下的工程文件,因此,該設(shè)計在完成軟件仿真后結(jié)合FPGA試驗箱,在生成的工程下進行引腳的鎖定、編譯適配下載到FPGA芯片,實現(xiàn)所設(shè)計的帶寬自適應(yīng)全數(shù)字鎖相環(huán),并完成硬件測試。在硬件測試中需要用到信號發(fā)生器和示波器,信號發(fā)生器用來產(chǎn)生鎖相環(huán)的輸入測試信號,示波器用來觀測鎖相環(huán)的輸入/輸出波形。圖7為輸入信號Phi_ref取不同頻率時的實測波形。
圖5 輸入信號Phi_ref由20 MHz跳變到5 MHz時的時序仿真圖
圖6 輸入信號Phi_ref由31 MHz跳變到62 MHz時的時序仿真圖
圖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 Builder完成全數(shù)字鎖相環(huán)設(shè)計的方法,使得設(shè)計者可以利用Simulink 快捷靈活的建模仿真功能和Matlab強大的數(shù)據(jù)分析能力進行 FPGA 系統(tǒng)級的建模仿真,并使得設(shè)計者從編寫VHDL 或者Verilog HDL 等代碼語言的繁瑣工作中解放出來,而專注于在Matlab/Simulink下搭建系統(tǒng)模型的工作上,縮短了設(shè)計周期,提高了設(shè)計的靈活性。
參考文獻
[1]BEST Roland E. Phase-locked loops design, simulation, and applications[M].5th Edition.北京:清華大學出版社,2007.
[2]單長虹,鄧國揚.一種新型快速全數(shù)字鎖相環(huán)的研究[J].系統(tǒng)仿真學報,2003,15(4):581-583.
[3]龐浩,俎云霄,王贊基.一種新型的全數(shù)字鎖相環(huán)[J].中國電機工程學報,2003,23(2):37-41.
[4]單長虹,孟憲元.基于FPGA的全數(shù)字鎖相環(huán)路的設(shè)計[J].電子技術(shù)應(yīng)用,2001,27(9):58-60.
[5]SHANYAN Y R, LENGOC T. All-digital ohase-locked loop: concepts, design and applications [J]. IEEE Proceedings,1989,136(1):53-56.
[6]孟憲元.可編程ASIC設(shè)計及應(yīng)用[M].成都:電子科技大學出版社,2000.
[7]李亞斌,彭永龍,李和明.自采樣比例積分控制全數(shù)字鎖相環(huán)的性能分析和實現(xiàn)[J]. 中國機電工程學報,2005,25(18):64-69.
[8]CHAU Y A, CHENChen-feng, TSAIKwn-dai. Design and analysis of adaptive-bandwidth all-digital phase-locked loop[C]. Proceedings of 2007 International Symposium on Intelligent Signal Processing and Communication Systems. Xiamen: ISISPCS,2007: 68-71.
[9]袁博,宋萬杰,吳順君.基于 FPGA的Matlab與Quartus Ⅱ聯(lián)合設(shè)計技術(shù)研究[J].電子工程師,2007,33(1):6-8.
[10]張志亮,趙剛,齊星剛.從 Simulink模型自動生成VHDL代碼基于DSP Builder的 FPGA設(shè)計流程[J].現(xiàn)代電子技術(shù),2004,27(23):4-6.