基于FPGA的高速數字鎖相環的設計與實現
摘 要:本文提出了一種利用邊沿觸發鑒相縮短鎖相環捕獲時間的方案,并詳細介紹了該方案基于FPGA的實現方法。通過對所設計的鎖相環進行計算機仿真和硬件測試,表明該方案確實可以提高鎖相環的捕獲性能。
關鍵詞:數字鎖相環(DPLL);捕獲時間;FPGA;VHDL
引言
捕獲時間是鎖相環的一個重要參數,指的是鎖相環從起始狀態到達鎖定狀態所需時間。在一些系統中,如跳頻通信系統,由于系統工作頻率不斷地發生快速變化(每秒幾百次到幾千次,甚至高達上萬次),要求鎖相環能夠對信號相位快速捕獲。因此研究具有較短捕獲時間的高速鎖相環是十分有必要的。
邊沿鑒相數字鎖相環
全數字鎖相環主要由數字鑒相器、數字環路濾波器和數控振蕩器(NCO)組成。其中數字鑒相器在很大程度上決定著鎖相環的性能。常見的鑒相方法包括異或門鑒相和邊沿觸發鑒相等。
基于異或門鑒相的鎖相環只能以步進方式對輸出信號的相位進行調整,從而導致捕獲時間較長。為了縮短捕獲時間,本文利用邊沿觸發鑒相器,直接對兩信號的相位差進行測定,并依據相位差值對輸出信號相位進行調整,系統結構如圖1所示。
邊沿觸發鑒相器對輸入信號和輸出信號的正向過零點進行檢測。當檢測到輸入信號的正向過零點后,啟動計數器,檢測到輸出信號的正向過零點后停止計數,將計數值N送入環路濾波器。計數值N與兩信號相位差之間的關系如下:
當輸出信號滯后時:
(1)
其中為計數器時鐘頻率,為輸入信號的頻率。
數字鑒頻器對輸入信號相鄰的正向過零點進行檢測,當檢測到輸出信號的正向過零點后,開始計數,直到檢測到下一個正向過零點,將計數值輸出,并將計數器清零,繼續開始計數。計數值與輸入信號頻率的關系如下:
(2)
數字鑒頻器可以精確地測定輸入信號的頻率,并可跟蹤輸入信號頻率的微小變化,其精度取決于計數時鐘頻率。
環路濾波器具有低通性質,可以濾除高頻干擾噪聲,提高系統的穩定性。而且環路濾波器還可以對鎖相環的性能參數進行調整。在本設計中采用了基于一階平滑的數字環路濾波器,其結構如圖2所示。其中,T為延時,G1和G2為權值。通過改變環路濾波器中的權值G1和G2,可以對鎖相環的參數進行調整。增大G1、減小G2可以提高系統的靈敏度,縮短捕獲時間;反之,則可以實現對高頻成分和噪聲更有效地抑制,提高系統的穩定性。
鎖相環的FPGA實現
這里主要介紹邊沿觸發鑒相器和數字鑒頻器的FPGA實現方法。
邊沿觸發鑒相器分兩步實現:
1. 同時對輸入信號和輸出信號的正向過零點進行檢測。當檢測到正向過零點后,分別產生一個持續時間為一個系統時鐘周期的正脈沖指示信號high_pulse_1和high_pulse_2。
2. 當檢測到輸入信號上升沿指示脈沖信號high_pulse_1,則啟動計數器,在系統時鐘脈沖的上升沿進行增計數,當檢測到輸出信號的上升沿指示脈沖信號high_pulse_2,則停止計數,并將計數值phase輸出。計數值phase反映了輸入/輸出信號的相位差,具體關系見(1)式。
數字鑒頻器設計的基本思想與邊沿觸發鑒相器類似。當檢測到high_pulse_1,從0開始增計數,直到檢測到下一個high_pulse_1,將計數值feq輸出,計數器從0開始繼續計數。計數值feq與輸入信號頻率之間的關系見(2)式。限于篇幅,鎖相環的VHDL設計程序這里不再贅述。
仿真與硬件測試結果
本設計使用Altera公司的Quartus II 3.0進行設計和仿真。
系統時鐘clk頻率為32.768MHz,輸入信號s_in的頻率為1MKHz,cs為片選信號(高電平有效),輸出信號為s_out,phase為鑒相器輸出的與相位差相對應的計數值,cycle為鑒頻器輸出的與輸入信號的頻率相對應的計數值。
仿真波形顯示輸出信號能快速實現對輸入信號相位的鎖定。
在波形仿真結束后,又對系統在硬件測試平臺上進行了測試。測試平臺采用Altera公司的FPGA芯片-EP1K50QC208-3。測試表明鎖相環能很好地對頻率和相位均發生快速改變的信號進行鎖定。
結語
采用FPGA技術實現的基于邊沿觸發鑒相的數字鎖相環,不僅具有較短的捕獲時間,而且系統工作穩定,且可以方便地對系統進行設置和修改。■
參考文獻
1 張厥盛,鄭繼禹,萬心平.鎖相技術.西安電子科技大學出版社, 1994
2 陳世偉,鎖相環路原理及應用.兵器工業出版社,1990
3 胡華春.數字鎖相環路原理與應用.上海科技出版社,1990
(收稿日期:2004-03-08)
fpga相關文章:fpga是什么
鑒相器相關文章:鑒相器原理 數字濾波器相關文章:數字濾波器原理 鎖相放大器相關文章:鎖相放大器原理
評論