資源描述:
《全數(shù)字鎖相環(huán)的設(shè)計(jì)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。
1、全數(shù)字鎖相環(huán)的設(shè)計(jì)鎖相環(huán)(PLL)技術(shù)在眾多領(lǐng)域得到了廣泛的應(yīng)用。如信號(hào)處理,調(diào)制解調(diào),時(shí)鐘同步,倍頻,頻率綜合等都應(yīng)用到了鎖相環(huán)技術(shù)。傳統(tǒng)的鎖相環(huán)由模擬電路實(shí)現(xiàn),而全數(shù)字鎖相環(huán)(DPLL)與傳統(tǒng)的模擬電路實(shí)現(xiàn)的PLL相比,具有精度高且不受溫度和電壓影響,環(huán)路帶寬和中心頻率編程可調(diào),易于構(gòu)建高階鎖相環(huán)等優(yōu)點(diǎn),并且應(yīng)用在數(shù)字系統(tǒng)中時(shí),不需A/D及D/A轉(zhuǎn)換。隨著通訊技術(shù)、集成電路技術(shù)的飛速發(fā)展和系統(tǒng)芯片(SoC)的深入研究,DPLL必然會(huì)在其中得到更為廣泛的應(yīng)用?! ∵@里介紹一種采用VERILOG硬件描述語(yǔ)言設(shè)計(jì)DPLL的方案。DPLL結(jié)構(gòu)及
2、工作原理 一階DPLL的基本結(jié)構(gòu)如圖1所示。主要由鑒相器、K變模可逆計(jì)數(shù)器、脈沖加減電路和除N計(jì)數(shù)器四部分構(gòu)成。K變模計(jì)數(shù)器和脈沖加減電路的時(shí)鐘分別為Mfc和2Nfc。這里fc是環(huán)路中心頻率,一般情況下M和N都是2的整數(shù)冪。本設(shè)計(jì)中兩個(gè)時(shí)鐘使用相同的系統(tǒng)時(shí)鐘信號(hào)。圖1數(shù)字鎖相環(huán)基本結(jié)構(gòu)圖鑒相器 常用的鑒相器有兩種類型:異或門(XOR)鑒相器和邊沿控制鑒相器(ECPD),本設(shè)計(jì)中采用異或門(XOR)鑒相器。異或門鑒相器比較輸入信號(hào)Fin相位和輸出信號(hào)Fout相位之間的相位差Фe=Фin-Фout,并輸出誤差信號(hào)Se作為K變??赡嬗?jì)數(shù)器的計(jì)
3、數(shù)方向信號(hào)。環(huán)路鎖定時(shí),Se為一占空比50%的方波,此時(shí)的絕對(duì)相為差為90°。因此異或門鑒相器相位差極限為±90°。異或門鑒相器工作波形如圖2所示。圖2異或門鑒相器在環(huán)路鎖定及極限相位差下的波形K變??赡嬗?jì)數(shù)器 K變??赡嬗?jì)數(shù)器消除了鑒相器輸出的相位差信號(hào)Se中的高頻成分,保證環(huán)路的性能穩(wěn)定。K變??赡嬗?jì)數(shù)器根據(jù)相差信號(hào)Se來(lái)進(jìn)行加減運(yùn)算。當(dāng)Se為低電平時(shí),計(jì)數(shù)器進(jìn)行加運(yùn)算,如果相加的結(jié)果達(dá)到預(yù)設(shè)的模值,則輸出一個(gè)進(jìn)位脈沖信號(hào)CARRY給脈沖加減電路;當(dāng)Se為高電平時(shí),計(jì)數(shù)器進(jìn)行減運(yùn)算,如果結(jié)果為零,則輸出一個(gè)借位脈沖信號(hào)BORROW給脈
4、沖加減電路。脈沖加減電路脈沖加減電路實(shí)現(xiàn)了對(duì)輸入信號(hào)頻率和相位的跟蹤和調(diào)整,最終使輸出信號(hào)鎖定在輸入信號(hào)的頻率和信號(hào)上,工作波形如圖3所示。圖3脈沖加減電路工作波形除N計(jì)數(shù)器 除N計(jì)數(shù)器對(duì)脈沖加減電路的輸出IDOUT再進(jìn)行N分頻,得到整個(gè)環(huán)路的輸出信號(hào)Fout。同時(shí),因?yàn)閒c=IDCLOCK/2N,因此通過(guò)改變分頻值N可以得到不同的環(huán)路中心頻率fc。DPLL部件的設(shè)計(jì)實(shí)現(xiàn) 了解了DPLL的工作原理,我們就可以據(jù)此對(duì)DPLL的各部件進(jìn)行設(shè)計(jì)。DPLL的四個(gè)主要部件中,異或門鑒相器和除N計(jì)數(shù)器的設(shè)計(jì)比較簡(jiǎn)單:異或門鑒相器就是一個(gè)異或門;除N
5、計(jì)數(shù)器則是一個(gè)簡(jiǎn)單的N分頻器。下面主要介紹K變??赡嬗?jì)數(shù)器和脈沖加減電路的設(shè)計(jì)實(shí)現(xiàn)。K變??赡嬗?jì)數(shù)器的設(shè)計(jì)實(shí)現(xiàn) K變??赡嬗?jì)數(shù)器模塊中使用了一個(gè)可逆計(jì)數(shù)器Count,當(dāng)鑒相器的輸出信號(hào)dnup為低時(shí),進(jìn)行加法運(yùn)算,達(dá)到預(yù)設(shè)模值則輸出進(jìn)位脈沖CARRY;為高時(shí),進(jìn)行減法運(yùn)算,為零時(shí),輸出借位脈沖BORROW。Count的模值Ktop由輸入信號(hào)Kmode預(yù)設(shè),一般為2的整數(shù)冪,這里模值的變化范圍是23-29。模值的大小決定了DPLL的跟蹤步長(zhǎng),模值越大,跟蹤步長(zhǎng)越小,鎖定時(shí)的相位誤差越小,但捕獲時(shí)間越長(zhǎng);模值越小,跟蹤步長(zhǎng)越大,鎖定時(shí)的相位誤
6、差越大,但捕獲時(shí)間越短。 K變模可逆計(jì)數(shù)器的VERILOG設(shè)計(jì)代碼如下(其中作了部分注釋,用斜體表示): moduleKCounter(Kclock,reset,dnup,enable,Kmode,carry,borrow); inputKclock;/*系統(tǒng)時(shí)鐘信號(hào)*/ inputreset;/*全局復(fù)位信號(hào)*/ inputdnup;/*鑒相器輸出的加減控制信號(hào)*/ inputenable;/*可逆計(jì)數(shù)器計(jì)數(shù)允許信號(hào)*/ input[2:0]Kmode;/*計(jì)數(shù)器模值設(shè)置信號(hào)*/ outputcarry;/*進(jìn)位脈沖輸出信
7、號(hào)*/ outputborrow;/*借位脈沖輸出信號(hào)*/ reg[8:0]Count;/*可逆計(jì)數(shù)器*/ reg[8:0]Ktop;/*預(yù)設(shè)模值寄存器*/ /*根據(jù)計(jì)數(shù)器模值設(shè)置信號(hào)Kmode來(lái)設(shè)置預(yù)設(shè)模值寄存器的值*/ always@(Kmode) begin case(Kmode) 3'b001:Ktop<=7; 3'b010:Ktop<=15; 3'b011:Ktop<=31; 3'b100:Ktop<=63; 3'b101:Ktop<=127; 3'b110:Ktop<=255; 3'b111:Ktop
8、<=511; default:Ktop<=15; endcase end /*根據(jù)鑒相器輸出的加減控制信號(hào)dnup進(jìn)行可逆計(jì)數(shù)器的加減運(yùn)算*/ always@(pose