一種鎖定相位編程可調(diào)全數(shù)字鎖相環(huán)設(shè)計(jì)
1 引 言
本文引用地址:http://m.butianyuan.cn/article/201610/307961.htm鎖相技術(shù)在信號(hào)處理、調(diào)制解調(diào)、時(shí)鐘同步、倍頻、頻率綜合等領(lǐng)域都得到了廣泛的應(yīng)用。目前鎖相技術(shù)的實(shí)現(xiàn)主要有模擬鎖相環(huán)(APLL)、全數(shù)字鎖相環(huán)(DPLL)、模擬數(shù)字混合鎖相環(huán)與延遲鎖相環(huán)(DLL)四種。全數(shù)字鎖相環(huán)(DPLL)具有精度高且不受溫度和電壓影響,環(huán)路帶寬和中心頻率編程可調(diào)等優(yōu)點(diǎn).得到了廣泛應(yīng)用。
經(jīng)典全數(shù)字鎖相環(huán)路由數(shù)字鑒相器、K??赡嬗?jì)數(shù)器、脈沖加減控制電路和N分頻器4部分組成。在輸入信號(hào)頻率穩(wěn)定條件下,鎖相環(huán)鎖定時(shí)輸出信號(hào)與輸入信號(hào)正交。在通信和其他很多應(yīng)用領(lǐng)域,不僅需要輸出信號(hào)與輸入信號(hào)保持正交關(guān)系,有時(shí)也需要他們保持某些特定的相位差。本文在經(jīng)典結(jié)構(gòu)基礎(chǔ)上稍做改進(jìn),提出了一種輸出信號(hào)與輸入信號(hào)的鎖定相位編程可調(diào)的全數(shù)字鎖相環(huán)路的設(shè)計(jì)。經(jīng)過(guò)計(jì)算機(jī)仿真分析、FPGA實(shí)現(xiàn)及板級(jí)系統(tǒng)實(shí)驗(yàn),證明了系統(tǒng)的可行性和可靠性。
2 經(jīng)典數(shù)字鎖相環(huán)路結(jié)構(gòu)及工作原理
圖1示出了采用異或門鑒相器的經(jīng)典數(shù)字鎖相環(huán)路的結(jié)構(gòu)框圖。各個(gè)模塊的結(jié)構(gòu)和功能如下:
2.1 異或門鑒相器
異或門鑒相器將鎖相環(huán)路輸入信號(hào)Fin與輸出信號(hào)Fout做減法,輸出相位差Se作為K模可逆計(jì)數(shù)器的計(jì)數(shù)方向信號(hào)。當(dāng)環(huán)路鎖定時(shí)輸出信號(hào)與輸入信號(hào)穩(wěn)定正交,Se是一占空比為50%的方波信號(hào)。
2.2 K模可逆計(jì)數(shù)器
K??赡嬗?jì)數(shù)器產(chǎn)生進(jìn)位和借位脈沖并起到環(huán)路濾波的作用。他由系統(tǒng)時(shí)鐘Clk(頻率M?0)控制對(duì)異或門鑒相器輸出的相位差信號(hào)Se進(jìn)行采樣計(jì)數(shù),當(dāng)Se為低電平時(shí)做加計(jì)數(shù),計(jì)數(shù)值達(dá)到預(yù)定模值K時(shí)輸出進(jìn)位脈沖inc同時(shí)計(jì)數(shù)器回零;當(dāng)Se為高電平時(shí)做減計(jì)數(shù),計(jì)數(shù)值為零時(shí)輸出借位脈沖dec同時(shí)計(jì)數(shù)器置K。當(dāng)環(huán)路鎖定Se是一占空比為50%的方波信號(hào)時(shí),交替輸出進(jìn)位和借位脈沖。計(jì)數(shù)器模值K的大小決定了環(huán)路進(jìn)入鎖定的時(shí)間,K值越大環(huán)路鎖定時(shí)間越長(zhǎng)。
2.3 脈沖加減控制器和N分頻器
脈沖加減控制器實(shí)現(xiàn)數(shù)字壓控振蕩器的功能。當(dāng)K??赡嬗?jì)數(shù)器有進(jìn)位脈沖輸出時(shí),控制器捕獲該脈沖信號(hào),并在輸出信號(hào)Clk_nf中插入一個(gè)系統(tǒng)時(shí)鐘周期的脈沖,N分頻器對(duì)Clk_nf信號(hào)分頻,從而使環(huán)路輸出信號(hào)Fout超前一個(gè)時(shí)鐘周期的相位;同樣的,當(dāng)有借位脈沖時(shí)控制器在Clk_nf減去一個(gè)系統(tǒng)時(shí)鐘周期的脈沖,從而使輸出信號(hào)Fout滯后一個(gè)時(shí)鐘周期,這樣就起到了相位調(diào)節(jié)的作用。當(dāng)環(huán)路鎖定時(shí)交替出現(xiàn)的進(jìn)位和借位脈沖調(diào)相作用相互抵消,輸出時(shí)鐘Fout 穩(wěn)定。
3 改進(jìn)的數(shù)宇鎖相環(huán)結(jié)構(gòu)及工作原理
3.1 改進(jìn)的數(shù)字鎖相環(huán)設(shè)計(jì)思路及其結(jié)構(gòu)
如圖2所示,在異或門鑒相器與K??赡嬗?jì)數(shù)器之間插入一個(gè)Se的調(diào)節(jié)器對(duì)Se的波形進(jìn)行調(diào)節(jié),即給了K模計(jì)數(shù)器一個(gè)虛假的輸出信號(hào)與輸入信號(hào)的相位差Se_out。當(dāng)偽相位差信號(hào)Se_out為方波時(shí)輸出與輸入信號(hào)鎖定在一個(gè)特定的相位。
3.2 Se調(diào)節(jié)器的設(shè)計(jì)實(shí)現(xiàn)
我們假定輸出信號(hào)Fout與輸入信號(hào)Fin正交時(shí)二者相差為零。設(shè)輸出信號(hào)滯后于輸入信號(hào)環(huán)路鎖定相位羞為負(fù),輸出信號(hào)超前于輸入信號(hào)環(huán)路鎖定相位差為正。用Option信號(hào)選擇鎖定方式并輸入相位差值。分別分析鎖定相位差為負(fù)和鎖定相位差為正環(huán)路進(jìn)入鎖定時(shí)各個(gè)信號(hào)之間的相位關(guān)系,很直觀地得到Se調(diào)節(jié)器的實(shí)現(xiàn)方法。
3.2.1 鎖定相位差為負(fù)Se調(diào)節(jié)器的設(shè)計(jì)實(shí)現(xiàn)
系統(tǒng)時(shí)鐘Clk,輸入信號(hào)Fin、輸出信號(hào)Fout,相位差信號(hào)Se與偽相位差信號(hào)Se_out的相位關(guān)系如圖3所示。偽相位差信號(hào)Se_out為一占空比為50%的方波,系統(tǒng)鎖定。此時(shí)輸出信號(hào)滯后于輸入信號(hào)一定的相位,記為off-set。相位差信號(hào)Se高電平占空比低于偽相位差信號(hào)Se_out高電平占空比的值就是輸出信號(hào)滯后于輸人信號(hào)的相位offset。Se調(diào)節(jié)器要完成的工作就是將Se調(diào)整為Se_out的波形,即將Se為低電平寬度為offset的區(qū)域轉(zhuǎn)換成高電平。具體實(shí)現(xiàn)為:設(shè)計(jì)一個(gè)預(yù)置值為offset的計(jì)數(shù)器。在Se為高電平時(shí)Se保持不變,同時(shí)計(jì)數(shù)器計(jì)數(shù)值保持為O,在Se由高電平變?yōu)榈碗娖胶箝_始加計(jì)數(shù),當(dāng)計(jì)數(shù)值未達(dá)到預(yù)置值offset。時(shí)Se仍保持為高電平,當(dāng)計(jì)數(shù)值超過(guò)預(yù)置值offset時(shí),將Se置低電平,這樣得到的波形就是所需要的se_out。
3.2.2 鎖定相位差為正Se調(diào)節(jié)器的設(shè)計(jì)實(shí)現(xiàn)
系統(tǒng)時(shí)鐘Clk、輸入信號(hào)Fin,輸出信號(hào)Fout,相位差信號(hào)Se與偽相位差信號(hào)Se_out的相位關(guān)系如圖4所示。與輸出信號(hào)滯后于輸人信號(hào)環(huán)路鎖定類似:設(shè)計(jì)一個(gè)預(yù)置值為offset的計(jì)數(shù)器。在Se為低電平時(shí)Se保持不變,同時(shí)計(jì)數(shù)器計(jì)數(shù)值保持為O,在Se由低電平變?yōu)楦唠娖胶箝_始加計(jì)數(shù),當(dāng)計(jì)數(shù)值未達(dá)到預(yù)置值offset時(shí)Se仍保持為低電平,當(dāng)計(jì)數(shù)值超過(guò)預(yù)置值offset時(shí),將Se置高電平,這樣得到的波形就是所需要的Se_out。
3.3 Se調(diào)節(jié)器性能分析
鎖相環(huán)開始工作時(shí),輸出信號(hào)是落后于輸入信號(hào)的,對(duì)輸出信號(hào)Fout的相位不斷調(diào)整是在系統(tǒng)時(shí)鐘控制下對(duì)相位差信號(hào)Se為高電平部分逐漸加寬的過(guò)程。不同的Se調(diào)節(jié)器對(duì)此過(guò)程的響應(yīng)性能不同。又系統(tǒng)時(shí)鐘Clk與輸入信號(hào)Fin之間的相位關(guān)系決定了輸出信號(hào)與輸入信號(hào)的鎖定誤差,Se調(diào)節(jié)器存在固有誤差。
3.3.1 鎖定相位差為負(fù)的Se調(diào)節(jié)器
鎖定相位差為負(fù)的Se調(diào)節(jié)器本身就是對(duì)Se為高電平不斷加寬,工作過(guò)程中計(jì)數(shù)器對(duì)Se為低電平計(jì)數(shù)總可以達(dá)到滿足offset,進(jìn)而對(duì)Se out進(jìn)行調(diào)整。系統(tǒng)時(shí)鐘Clk與輸入信號(hào)Fin偽同相(Fin二升沿與Clk上升沿同步)時(shí),環(huán)路鎖定存在半個(gè)系統(tǒng)時(shí)鐘周期的系統(tǒng)固有誤差;Clk與Fin偽反相(Fin上升沿與Clk下降沿同步)時(shí),環(huán)路鎖定不存在系統(tǒng)固有誤差。
3.3.2 鎖定相位差為正的Se調(diào)節(jié)
鎖定相位差為正的Se調(diào)節(jié)器本身是對(duì)Se為高電平部分不斷減少,而實(shí)際的調(diào)節(jié)是將其不段加寬,在一定時(shí)間內(nèi)Se_out保持為低電平,系統(tǒng)時(shí)鐘Clk在此結(jié)構(gòu)下造成的系統(tǒng)固有誤差均為正向。Clk與Fin偽同相時(shí)存在一個(gè)系統(tǒng)時(shí)鐘周期的系統(tǒng)固有誤差,CIk與Fin偽反相時(shí)存在半個(gè)系統(tǒng)時(shí)鐘周期的系統(tǒng)固有誤差。將內(nèi)部將計(jì)數(shù)器的預(yù)置值設(shè)為offset減1,則系統(tǒng)最大固有誤差降為半個(gè)系統(tǒng)時(shí)鐘周期。
4 計(jì)算機(jī)仿真與FPGA實(shí)現(xiàn)
4.1 計(jì)算機(jī)仿真
設(shè)計(jì)采用Verilog硬件描述語(yǔ)言,在Mentor Graphics公司的FPGA設(shè)計(jì)平臺(tái)FPGA Advantage with PS 7.1上進(jìn)行了設(shè)計(jì)、綜合及仿真,仿真器為Modelsim 6.1a。
圖5和圖6分別示出了系統(tǒng)時(shí)鐘Clk與輸入信號(hào)Fin偽反相,可逆計(jì)數(shù)器K值為10,分頻數(shù)N為16,鎖定相差為負(fù)3和正3時(shí)環(huán)路鎖定的過(guò)程。可以看出,Se的調(diào)節(jié)都時(shí)將Se為高電平部分逐漸展寬的過(guò)程。鎖定相差為負(fù)3時(shí)誤差為0,由于汁數(shù)器補(bǔ)償?shù)淖饔?,鎖定相位差為正3時(shí)誤差也為0。
4.2 FPGA實(shí)現(xiàn)及板級(jí)系統(tǒng)實(shí)驗(yàn)
設(shè)計(jì)采用Xilinx公司的ISE 7.1i開發(fā)環(huán)境和Spar-tan3 xc3s400-4pq208 FPGA進(jìn)行了實(shí)現(xiàn),并在板級(jí)系統(tǒng)上搭建了實(shí)驗(yàn)環(huán)境,用數(shù)字示波器進(jìn)行了波形測(cè)試,系統(tǒng)工作穩(wěn)定,達(dá)到了設(shè)計(jì)要求。
5 結(jié) 語(yǔ)
設(shè)計(jì)對(duì)經(jīng)典全數(shù)字鎖相環(huán)路進(jìn)行改進(jìn),通過(guò)增加相位差調(diào)節(jié)器的方法實(shí)現(xiàn)輸出信號(hào)與輸入信號(hào)的多相位鎖定。采用Verilog語(yǔ)言對(duì)整個(gè)設(shè)計(jì)進(jìn)行了描述,進(jìn)行了計(jì)算機(jī)仿真、FPGA實(shí)現(xiàn)和板級(jí)系統(tǒng)實(shí)驗(yàn),實(shí)現(xiàn)了鎖定相位編程可調(diào)的全數(shù)字鎖相環(huán)路,完成了設(shè)計(jì)目標(biāo)。
評(píng)論