基于FPGA的全數(shù)字鎖相環(huán)的設(shè)計
鎖相環(huán)(PLL)的理論與研究日趨完善,應(yīng)用范圍遍及整個電子技術(shù)領(lǐng)域,如信號處理,調(diào)制解調(diào).時鐘同步,倍頻,頻率綜合等都應(yīng)用到了鎖相環(huán)技術(shù)。隨著集成電路技術(shù)的發(fā)展,集成鎖相環(huán)和數(shù)字鎖相環(huán)技術(shù)日趨成熟,不僅能夠制成頻率較高的單片集成鎖相環(huán)路,還可以把整個系統(tǒng)集成到一個芯片上去,實現(xiàn)所謂的片上系統(tǒng)SOC。因此,可以把全數(shù)字鎖相環(huán)路(ADPLL)作為一個功能模塊嵌入SOC,構(gòu)成片內(nèi)鎖相環(huán)。這里在簡單介紹片內(nèi)全數(shù)字鎖相環(huán)系列結(jié)構(gòu)的同時,給出一種智能控制捕獲范嗣中全數(shù)字鎖相環(huán)(ADPLL)的設(shè)計方法,并進(jìn)行仿真和實踐驗證。
2 ADPLL的結(jié)構(gòu)及工作原理
圖1給出全數(shù)字鎖相環(huán)(ADPLL)的基本結(jié)構(gòu)。主要由數(shù)字鑒相器DPD,數(shù)字環(huán)路濾波器DLF,數(shù)控振蕩器DC0,分頻器4部分組成,其中心頻率為fc。DPLL是一種通過相位反饋來控制系統(tǒng)的電路結(jié)構(gòu)。根據(jù)輸入信號Fin和本地時鐘輸出信號Fout之間的相位誤差信號送入數(shù)字環(huán)路濾波器,并對相對誤差進(jìn)行平滑濾波,生成控制信號carry和bor—row,數(shù)字振蕩器根據(jù)控制信號調(diào)節(jié)反饋,使輸出信號Fout的相位逐漸跟蹤輸入信號Fin的相位,最終達(dá)到鎖定。
3 ADPLL各模塊的功能和具體實現(xiàn)方法
3.1 數(shù)字鑒相器
常用的鑒相器有2種類型:異或門(X0R)鑒相器和邊沿控制鑒相器(ECPD),設(shè)計中采用異或門鑒相器。異或門鑒相器用于比較輸入信號Fin和輸出信號Fout之間的相位差,并輸出誤差信號Dout,Dout作為計數(shù)的方向信號輸入給下一級。
3.2 數(shù)字環(huán)路濾波器
數(shù)字環(huán)路濾波器(DLF)由一個模值為變量K的可逆計數(shù)器來實現(xiàn)。其作用首先用于消除數(shù)字鑒相器輸出的相位誤差信號Dout中的高頻分量,保證鎖相環(huán)路性能的穩(wěn)定性和準(zhǔn)確性:其次K變模計數(shù)器再根據(jù)鑒相器的相位誤差信號Dout來進(jìn)行加減運算。若Dout是高電平時,計數(shù)器進(jìn)行加運算,直到相加結(jié)果達(dá)到預(yù)設(shè)模制K,則環(huán)路濾波器輸出一個進(jìn)位脈沖信號carry給數(shù)控振蕩器;若Dout是低電平時,計數(shù)器在模值K的基礎(chǔ)上進(jìn)行減運算,直到為零,并輸出一個借位信號borrow給數(shù)控振蕩器:當(dāng)環(huán)路鎖定或只有隨機(jī)干擾脈沖時,Dout是一個占空比為50%的方波,即計數(shù)器的加減數(shù)目基本相等,計數(shù)結(jié)果在K附近上下徘徊,不會產(chǎn)生進(jìn)位或借位脈沖,大大減少了由隨機(jī)噪聲引起的對鎖相環(huán)路的誤控。也就是說,采用K計數(shù)器作為濾波器,有效的濾除了噪聲對環(huán)路的干擾。
上述代碼經(jīng)過在Quartus II上編譯仿真后其波形如圖2所示。
設(shè)計中適當(dāng)選取K值特別的重要。如果K值偏大,這樣計數(shù)器對少量噪聲干擾不可能計滿,就不會有進(jìn)位或者借位脈沖,有利于抑制隨機(jī)噪聲;但就會使捕捉帶減小,導(dǎo)致環(huán)路進(jìn)入鎖定的時間變長;如果K值偏小,可使環(huán)路盡快進(jìn)入鎖定狀態(tài),但會減弱對噪聲的抑制能力,導(dǎo)致環(huán)路頻繁的產(chǎn)生進(jìn)位或借位脈沖,造成整個系統(tǒng)不穩(wěn)定,產(chǎn)生相位抖動問題。所以要適當(dāng)選取K值。
3.3 數(shù)控振蕩器
數(shù)控振蕩器采用的是脈沖加減電路。時鐘為2Nfc。當(dāng)沒有進(jìn)位/借位信號時,其輸出對外部時鐘進(jìn)行二分頻;當(dāng)有進(jìn)位信號carry輸入時,則在原信號中插入半個脈沖,以提高原有信號的頻率;當(dāng)有借位信號borrow輸入時,則減去半個脈沖,以降低原有信號的頻率。
3.4 可變分頻器
可變分頻器實際上就是一個除N計數(shù)器,是把脈沖加減電路的輸出信號再做N分頻,通過不斷調(diào)整N值的大小,使分頻器的輸出信號能與輸入信號的相位保持同步,以達(dá)到鎖相環(huán)的鎖定。
由鎖相環(huán)的整個工作過程可知,全數(shù)字鎖相環(huán)經(jīng)過一些特定改良后,可在某些情況下作為滿足一定頻率要求的信號發(fā)生器使用。
4 FPGA片內(nèi)系統(tǒng)結(jié)構(gòu)
為了平衡系統(tǒng)的穩(wěn)定性和捕獲帶寬之間的矛盾,就要找到一個最佳的K值,使系統(tǒng)在最大可能消除干擾的前提下,捕捉帶達(dá)到最大,捕獲時間最短,其整個過程由CPU來控制。CPU的選擇主要有2種方案:①FPGA片內(nèi)實現(xiàn)CPU;②與片外系統(tǒng)共用CPU。這里主要介紹第一種。
對于片內(nèi)CPU,這里采用Ahera公司推出的NiosⅡ嵌入式軟核處理器予以實現(xiàn)。在系統(tǒng)中,片內(nèi)寄存器,全數(shù)字鎖相環(huán)以及檢測電路均作為外設(shè)嵌入到FPGA芯片中。片內(nèi)寄存器,全數(shù)字鎖相環(huán),檢測電路通過系統(tǒng)總線相連接,受到片內(nèi)的NiosⅡ軟核處理器的控制,使得全數(shù)字鎖相環(huán)中的數(shù)字環(huán)路濾波器部分在工作中的參數(shù)得到優(yōu)化。此種結(jié)構(gòu)使得NiosⅡ處理器和全數(shù)字鎖相環(huán)2部分集成在一塊FPGA器件中,大大提高了系統(tǒng)的穩(wěn)定性和可靠性。罔3給出片內(nèi)全數(shù)字鎖相環(huán)系統(tǒng)結(jié)構(gòu)框圖。
5 試驗仿真結(jié)果分析
整個系統(tǒng)經(jīng)過軟硬件調(diào)試后,就對該鎖相環(huán)進(jìn)行測試和驗證,采用Quartus II軟件中集成的仿真器進(jìn)行仿真。圖4給出仿真波形。
可見,在有進(jìn)位/借位信號輸出時,波形中自動加入/減去半個脈沖,經(jīng)過幾次調(diào)整后系統(tǒng)達(dá)到鎖定狀態(tài)。
6 結(jié)語
通過在單片FPGA中實現(xiàn)智能全數(shù)字鎖相環(huán),NiosⅡ嵌入式處理器隨時檢測鎖相環(huán)的狀態(tài),適時調(diào)整鎖相環(huán)的參數(shù),從而能縮短鎖相環(huán)鎖定時間,提高效率;并逐漸改進(jìn)其輸出頻率的抖動特性。解決了鎖定時間與相位抖動之間的矛盾,提高了信息的傳輸效率和質(zhì)量。全數(shù)字鎖相環(huán)在數(shù)字通信,數(shù)字信號處理,電力系統(tǒng)自動化等眾多領(lǐng)域有著極為廣泛的應(yīng)用,隨著片內(nèi)數(shù)字鎖相環(huán)系統(tǒng)研究的不斷深入與發(fā)展,其性能會不斷提高,其意義重大,前景廣闊。