智能全數(shù)字鎖相環(huán)的設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
摘要:在FPGA片內(nèi)實(shí)現(xiàn)全數(shù)字鎖相環(huán)用途極廣。本文在集成數(shù)字鎖相環(huán)74297的基礎(chǔ)上進(jìn)行改進(jìn),設(shè)計(jì)了鎖相狀態(tài)檢測(cè)電路,配合CPU對(duì)環(huán)路濾波參數(shù)進(jìn)行動(dòng)態(tài)智能配置,從而使鎖相環(huán)快速進(jìn)入鎖定狀態(tài),在最短時(shí)間內(nèi)正常工作并且提高輸出頻率的質(zhì)量。
關(guān)鍵詞:全數(shù)字鎖相環(huán) 數(shù)字環(huán)路濾波器 數(shù)字單穩(wěn)態(tài)振蕩器
1 引言
數(shù)字鎖相環(huán)路已在數(shù)字通信、無(wú)線電電子學(xué)及電力系統(tǒng)自動(dòng)化等領(lǐng)域中得到了極為廣泛的應(yīng)用。隨著集成電路技術(shù)的發(fā)展,不僅能夠制成頻率較高的單片集成鎖相環(huán)路,而且可以把整個(gè)系統(tǒng)集成到一個(gè)芯片上去。在基于FPGA的通信電路中,可以把全數(shù)字鎖相環(huán)路作為一個(gè)功能模塊嵌入FPGA中,構(gòu)成片內(nèi)鎖相環(huán)。
鎖相環(huán)是一個(gè)相位誤差控制系統(tǒng)。它比較輸入信號(hào)和振蕩器輸出信號(hào)之間的相位差,從而產(chǎn)生誤差控制信號(hào)來(lái)調(diào)整振蕩器的頻率,以達(dá)到與輸入信號(hào)同頻同相。所謂全數(shù)字鎖相環(huán)路(DPLL)就是環(huán)路部件全部數(shù)字化,采用數(shù)字鑒相器(DPD)、數(shù)字環(huán)路濾波器(DLF)、數(shù)控振蕩器(DCO)構(gòu)成的鎖相環(huán)路,其組成框圖見(jiàn)圖1示。
當(dāng)鎖相環(huán)中的鑒相器與數(shù)控振蕩器選定后,鎖相環(huán)的性能很大程度依賴于數(shù)字環(huán)路濾波器的參數(shù)設(shè)置。
2 K計(jì)數(shù)器的參數(shù)設(shè)置
74297中的環(huán)路濾波器采用了K計(jì)數(shù)器。其功能就是對(duì)相位誤差序列計(jì)數(shù)即濾波,并輸出相應(yīng)的進(jìn)位脈沖或是借位脈沖,來(lái)調(diào)整I/D數(shù)控振蕩器輸出信號(hào)的相位(或頻率),從而實(shí)現(xiàn)相位控制和鎖定。
K計(jì)數(shù)器中K值的選取需要由四根控制線來(lái)進(jìn)行控制,模值是2的N次冪。在鎖相環(huán)路同步的狀態(tài)下,鑒相器既沒(méi)有超前脈沖也沒(méi)有滯后脈沖輸出,所以K計(jì)數(shù)器通常是沒(méi)有輸出的;這就大大減少了由噪聲引起的對(duì)鎖相環(huán)路的誤控作用。也就是說(shuō),K計(jì)數(shù)器作為濾波器,有效地濾除了噪聲對(duì)環(huán)路的干擾作用。
顯然,設(shè)計(jì)中適當(dāng)選取K值是很重要的。K值取得大,對(duì)抑止噪聲有利(因?yàn)镵值大,計(jì)數(shù)器對(duì)少量的噪聲干擾不可能計(jì)滿,所以不會(huì)有進(jìn)位或借位脈沖輸出),但這樣捕捉帶變小,而且加大了環(huán)路進(jìn)入鎖定狀態(tài)的時(shí)間。反之,K值取得小,可以加速環(huán)路的入鎖,但K計(jì)數(shù)器會(huì)頻繁地產(chǎn)生進(jìn)位或借位脈沖,從而導(dǎo)致了相位抖動(dòng),相應(yīng)地對(duì)噪聲的抑制能力也隨之降低。
為了平衡鎖定時(shí)間與相位抖動(dòng)之間的矛盾,理想的情況是當(dāng)數(shù)字鎖相環(huán)處于失步狀態(tài)時(shí),降低K計(jì)數(shù)器的設(shè)置,反之加大其設(shè)置。實(shí)現(xiàn)的前提是檢測(cè)鎖相環(huán)的工作狀態(tài)。
3 工作狀態(tài)檢測(cè)電路
圖2為鎖相環(huán)狀態(tài)檢測(cè)電路,由觸發(fā)器與單穩(wěn)態(tài)振蕩器構(gòu)成,fin為輸入的參考時(shí)鐘,fout為鎖相環(huán)振蕩器輸出的時(shí)鐘移相900。fout對(duì)fin的抽樣送入單穩(wěn)態(tài)振蕩器。
在鎖定狀態(tài)如圖3,fout與fin具有穩(wěn)定的相位關(guān)系, fout對(duì)fin抽樣應(yīng)全部為0或1,這樣不會(huì)激發(fā)振蕩器振蕩,從而lock將輸出低電平;而失鎖狀態(tài)時(shí)如圖4,fout與fin出現(xiàn)相位之間的滑動(dòng),抽樣時(shí)就不會(huì)出現(xiàn)長(zhǎng)時(shí)間的0或1,單穩(wěn)態(tài)振蕩器振蕩,使lock輸出高電平。鎖相環(huán)的鎖定狀態(tài)保持時(shí)間的認(rèn)定,可以通過(guò)設(shè)置振蕩器的性能。在FPGA設(shè)計(jì)中,要采用片外元件來(lái)進(jìn)行單穩(wěn)定時(shí),是很麻煩的,而且也不利于集成和代碼移植。單穩(wěn)態(tài)振蕩器的實(shí)現(xiàn)也可以在FPGA內(nèi)實(shí)現(xiàn),利用計(jì)數(shù)器的方法可以設(shè)計(jì)全數(shù)字化的上升、下降沿雙向觸發(fā)的可重觸發(fā)單穩(wěn)態(tài)振蕩器。
4 智能鎖相環(huán)的設(shè)計(jì)
智能全數(shù)字鎖相環(huán)的設(shè)計(jì)如圖5所示。鎖相環(huán)與CPU接口電路,由寄存器來(lái)完成。對(duì)于CPU寄存器內(nèi)容分為兩部分:鎖相環(huán)的工作狀態(tài)(只讀),k計(jì)數(shù)器的參數(shù)值(讀/寫)。CPU可以通過(guò)外部總線讀寫寄存器的內(nèi)容。
CPU根據(jù)鎖相環(huán)狀態(tài)就可以對(duì)鎖相環(huán)K計(jì)數(shù)器進(jìn)行最優(yōu)設(shè)置。實(shí)際測(cè)試時(shí)設(shè)置K初始值為23,此時(shí)鎖相環(huán)的捕捉帶較大,在很短時(shí)間內(nèi)就可以達(dá)到鎖定狀態(tài),lock變?yōu)榈碗娖?。CPU檢測(cè)到此信號(hào)后自動(dòng)將K值加1,如lock仍然為低電平,CPU會(huì)繼續(xù)增加K 值;直到鎖相環(huán)失鎖,記住其最佳設(shè)置值。設(shè)置K為初始值,鎖定后,設(shè)置到最佳值,這樣鎖相會(huì)快速進(jìn)入最佳的鎖定狀態(tài)。
關(guān)于CPU的選擇有三種方案:①FPGA片內(nèi)實(shí)現(xiàn)CPU。片上系統(tǒng)的發(fā)展使其成為可能。②與片外系統(tǒng)共用CPU。DPLL大多用于通信系統(tǒng)中,而大部分通信系統(tǒng)都有嵌入式CPU。③單獨(dú)采用一個(gè)廉價(jià)單片機(jī)(如89C51),不僅可用于智能鎖相環(huán)的控制,還可控制外部RAM實(shí)現(xiàn)FPGA的初始裝載,一機(jī)多用,經(jīng)濟(jì)實(shí)惠。可以視具體情況而定。
5 結(jié)論
智能全數(shù)字鎖相環(huán),在單片F(xiàn)PGA中就可以實(shí)現(xiàn),借助鎖相環(huán)狀態(tài)監(jiān)測(cè)電路,通過(guò)CPU可以縮短鎖相環(huán)鎖定時(shí)間,并逐漸改進(jìn)其輸出頻率的抖動(dòng)特性。解決了鎖定時(shí)間與相位抖動(dòng)之間的矛盾,對(duì)信息的傳輸質(zhì)量都有很大的提高。此鎖相環(huán)已用于我校研發(fā)的數(shù)字通信產(chǎn)品中。