全數(shù)字鎖相環(huán)的設(shè)計(jì)及分析
掃描二維碼
隨時(shí)隨地手機(jī)看文章
1 引 言
鎖相環(huán)是一種能使輸出信號(hào)在頻率和相位上與輸入信號(hào)同步的電路,即系統(tǒng)進(jìn)入鎖定狀態(tài)(或同步狀態(tài))后,震蕩器的輸出信號(hào)與系統(tǒng)輸入信號(hào)之間相差為零,或者保持為常數(shù)。傳統(tǒng)的鎖相環(huán)各個(gè)部件都是由模擬電路實(shí)現(xiàn)的,一般包括鑒相器(PD)、環(huán)路濾波器(LF)、壓控振蕩器(VCO)三個(gè)環(huán)路基本部件。
隨著數(shù)字技術(shù)的發(fā)展,全數(shù)字鎖相環(huán)ADPLL(AllDigital Phase-Locked Loop)逐步發(fā)展起來。所謂全數(shù)字鎖相環(huán),就是環(huán)路部件全部數(shù)字化,采用數(shù)字鑒相器、數(shù)字環(huán)路濾波器、數(shù)控振蕩器構(gòu)成鎖相環(huán)路,并且系統(tǒng)中的信號(hào)全是數(shù)字信號(hào)。與傳統(tǒng)的模擬電路實(shí)現(xiàn)的鎖相環(huán)相比,由于避免了模擬鎖相環(huán)存在的溫度漂移和易受電壓變化影響等缺點(diǎn),從而具備可靠性高、工作穩(wěn)定、調(diào)節(jié)方便等優(yōu)點(diǎn)。全數(shù)字鎖相環(huán)的環(huán)路帶寬和中心頻率編程可調(diào),易于構(gòu)建高階鎖相環(huán),并且應(yīng)用在數(shù)字系統(tǒng)中時(shí),不需A/D及D/A轉(zhuǎn)換。在調(diào)制解調(diào)、頻率合成、FM立體聲解碼、圖像處理等各個(gè)方面得到廣泛的應(yīng)用。
隨著電子設(shè)計(jì)自動(dòng)化(EDA)技術(shù)的發(fā)展,可以采用大規(guī)??删幊踢壿嬈骷?如CPLD或FPGA)和VHDL語言來設(shè)計(jì)專用芯片ASIC和數(shù)字系統(tǒng)。本文完成了全數(shù)字鎖相環(huán)的設(shè)計(jì),而且可以把整個(gè)系統(tǒng)嵌入SoC,構(gòu)成片內(nèi)鎖相環(huán)。
2全數(shù)字鎖相環(huán)的體系結(jié)構(gòu)和工作原理
74XX297 是出現(xiàn)最早,應(yīng)用最為廣泛的一款全數(shù)字鎖相環(huán),在本文中以該芯片為參考進(jìn)行設(shè)計(jì)、分析。ADPLL基本結(jié)構(gòu)如圖1所示,主要由鑒相器、K變??赡嬗?jì)數(shù)器、脈沖加減電路和除N計(jì)數(shù)器4部分構(gòu)成。K變模計(jì)數(shù)器和脈沖加減電路的時(shí)鐘分別為Mfc和2Nfc。這里fc是環(huán)路中心頻率,一般情況下M和N都是2的整數(shù)冪。
2.1 鑒相器
常用的鑒相器有兩種類型:異或門(XOR)鑒相器和邊沿控制鑒相器(ECPD)。異或門鑒相器比較輸入信號(hào)Fin相位和輸出信號(hào)Fout相位之間的相位差 θe,并輸出誤差信號(hào)Se作為K變??赡嬗?jì)數(shù)器的計(jì)數(shù)方向信號(hào)。環(huán)路鎖定時(shí),θe=0,Se為一占空比50%的方波。當(dāng)θe=+π/2時(shí),Se等于1;當(dāng) θe=-π/2時(shí),Se等于0。因此異或門鑒相器相位差極限為±π/2,邊沿控制鑒相器相位差極限為±π。
2.2 K變??赡嬗?jì)數(shù)器
K 變??赡嬗?jì)數(shù)器消除了鑒相器輸出的誤差信號(hào)Se中的高頻成分,保證環(huán)路的性能穩(wěn)定。K變??赡嬗?jì)數(shù)器主要是根據(jù)鑒相器的輸出作為方向脈沖,輸出加減脈沖信號(hào)。當(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é)果達(dá)到零,則輸出一個(gè)借位脈沖信號(hào)BORROW。
2.3脈沖加減電路
K變??赡嬗?jì)數(shù)器的CARRY和BORROW信號(hào)分別接到脈沖加減電路的INC和DEC信號(hào)。脈沖加減電路實(shí)現(xiàn)了對(duì)輸入信號(hào)頻率和相位的跟蹤和調(diào)整,最終使輸出信號(hào)鎖定在輸入信號(hào)的頻率和相位上,可以稱之為數(shù)控振蕩器。
2.4除N計(jì)數(shù)器
除N計(jì)數(shù)器對(duì)脈沖加減電路的輸出IDOUT進(jìn)行N分頻,得到整個(gè)環(huán)路的輸出信號(hào)Fout。同時(shí),因?yàn)閒c=IDCLOCK/2N,因此通過改變分頻值N可以得到不同的環(huán)路中心頻率fc。
3全數(shù)字鎖相環(huán)的實(shí)現(xiàn)與仿真
本設(shè)計(jì)在Altera公司的Max+PlusⅡ開發(fā)軟件平臺(tái)上,利用VHDL語言運(yùn)用自頂向下的系統(tǒng)設(shè)計(jì)方法,完成ADPLL的設(shè)計(jì)。首先根據(jù)系統(tǒng)中各個(gè)功能模塊的要求分別設(shè)計(jì)環(huán)路各個(gè)部件的邏輯電路,并進(jìn)行仿真驗(yàn)證,然后再將各部件組合起來,進(jìn)行系統(tǒng)仿真和驗(yàn)證。
異或門鑒相器和除N計(jì)數(shù)器的實(shí)現(xiàn)較為簡(jiǎn)單,不再進(jìn)行詳細(xì)說明。
3.1 K變??赡嬗?jì)數(shù)器
K 變??赡嬗?jì)數(shù)器由兩個(gè)獨(dú)立的計(jì)數(shù)器"UPCOUNTER","DOWN COUNTER"組成,分別對(duì)應(yīng)設(shè)計(jì)中的q0,q1。K為計(jì)數(shù)器的模值,總是2的整數(shù)冪,可由輸入a[3..0]控制改變。計(jì)數(shù)器的操作由DN/UP信號(hào)控制。時(shí)鐘clk頻率為數(shù)字鎖相環(huán)中心頻率的M倍,clk上升沿計(jì)數(shù)。K計(jì)數(shù)器首先預(yù)置模數(shù),然后把鑒相器的輸出信號(hào)作為方向脈沖,控制內(nèi)部計(jì)數(shù)器進(jìn)行加、減計(jì)數(shù)。如果這個(gè)信號(hào)為高,"DOWN COUNTER"有效進(jìn)行遞減計(jì)算,"UP COUNTER"保持為零;相反,"UP COUNTER"有效進(jìn)行累加計(jì)算,"DOWN COUNTER"保持為預(yù)置模數(shù)。"UP COUNTER"計(jì)數(shù)值超過K時(shí),increase輸出為1,計(jì)數(shù)器清零。"DOWN COUNTER"計(jì)數(shù)值為0時(shí),decrease輸出為1,計(jì)數(shù)器恢復(fù)為預(yù)置模數(shù)。
a[3..0]=1時(shí),設(shè)定K值為4。K變??赡嬗?jì)數(shù)器仿真波形如圖2所示。
3.2脈沖加減電路
脈沖加減電路需要利用多個(gè)觸發(fā)器配合產(chǎn)生時(shí)序,其輸出為IDOUT。當(dāng)沒有進(jìn)位或借位脈沖信號(hào)時(shí),他把外部參考時(shí)鐘進(jìn)行二分頻;當(dāng)有進(jìn)位脈沖信號(hào)inc 時(shí),則在輸出的二分頻信號(hào)中插入半個(gè)脈沖,以提高輸出信號(hào)的頻率;當(dāng)有借位脈沖信號(hào)dec時(shí),則在輸出的二分頻信號(hào)中減去半個(gè)脈沖,以降低輸出信號(hào)的頻率。VHDL設(shè)計(jì)代碼如下,圖3為其仿真波形。
3.3全數(shù)字鎖相環(huán)的實(shí)現(xiàn)與仿真
將環(huán)路各個(gè)模塊連接起來完成ADPLL的設(shè)計(jì)。為了簡(jiǎn)化設(shè)計(jì),將K變模可逆計(jì)數(shù)器的時(shí)鐘Mclk與脈沖加減電路時(shí)鐘2Nclk接在一起,fin等于環(huán)路中心頻率fc,fc=312.5 kHz。取M=16,N=8,Mclk=5 MHz。當(dāng)a[3..0]=1時(shí),設(shè)定K值為4。為了便于觀察,將K變??赡嬗?jì)數(shù)器的輸入信號(hào)udcon引出。
環(huán)路在進(jìn)入鎖定狀態(tài)后,udcon為占空比為50%的方波。系統(tǒng)原理圖和仿真波形分別如圖4,圖5所示。
由可得ADPLL的同步帶理論值為:f0/4,即234.375~390.625 kHz。根據(jù)仿真實(shí)驗(yàn)結(jié)果,可以實(shí)現(xiàn)穩(wěn)定鎖相的頻率范圍為:250~357.14 kHz,略小于理論值范圍。
4全數(shù)字鎖相環(huán)數(shù)學(xué)模型的建立與分析
結(jié)合模擬和數(shù)字鎖相的理論分析,可以得到全數(shù)字鎖相環(huán)的相位和相差傳遞函數(shù)。圖6為全數(shù)字鎖相環(huán)的數(shù)學(xué)模型。
鑒相器可以看作增益為Kd的模塊,輸出占空比因子δk作為K變模計(jì)數(shù)器的輸入DN/UP,控制"UP COUNTER"和"DOWN COUNTER"的動(dòng)作。
對(duì)于異或門鑒相器,相差等于π/2時(shí),δk=1,相差等于-π/2時(shí),δk=-1。因此對(duì)于異或門鑒相器增益Kd=2/π,同理可得邊沿控制鑒相器增益Kd=1/π。
K變模計(jì)數(shù)器產(chǎn)生CARRY信號(hào)的頻率為(f0為環(huán)路的中心頻率):
對(duì)于K變模計(jì)數(shù)器,其輸入輸出信號(hào)分別為δk和θcarry,對(duì)應(yīng)的Laplace變換為δk(s)和θcarry(s),所以K變模計(jì)數(shù)器的相位傳遞函數(shù)為:
對(duì)于脈沖加減電路,由于每個(gè)CARRY脈沖使其輸出IDOUT增加1/2個(gè)周期,可以將他看作增益為1/2的模塊。除N計(jì)數(shù)器可以看作增益為1/N的模塊。系統(tǒng)的相位傳遞函數(shù)H(s)表示為:
為了獲得最小波紋,對(duì)于異或門(XOR)鑒相器和邊沿控制鑒相器(ECPD),K模值分別取為M/4和M/2,相應(yīng)的時(shí)間常數(shù)分別為:τ(EXOR)= (N/8)T0,τ(ECPD)=(N/2)T0,其中T0=1/f0。由此可見,N越小,ADPLL的穩(wěn)定時(shí)間越短。在本文中設(shè)計(jì)的鎖相環(huán),Kd=2/π,M=16,N=8,K=M/4=4,代入時(shí)間常數(shù)公式可得:τ=T0。
5 結(jié) 語
本文介紹了一種一階ADPLL的設(shè)計(jì)方法,利用VHDL語言完成系統(tǒng)設(shè)計(jì)和仿真。ADPLL中可逆計(jì)數(shù)器的模值可以隨意改變,用來控制ADPLL的跟蹤補(bǔ)償和鎖定時(shí)間。除N計(jì)數(shù)器的分頻值也可隨意改變,使ADPLL可以跟蹤不同中心頻率的輸入信號(hào)。設(shè)計(jì)好的ADPLL模塊還可以作為可重用的IP核,應(yīng)用于其他設(shè)計(jì)。同時(shí),在理論分析的基礎(chǔ)上,建立了全數(shù)字鎖相環(huán)的一階數(shù)學(xué)模型,從而可以根據(jù)具體的設(shè)計(jì)要求定量的計(jì)算參數(shù),簡(jiǎn)化了ADPLL的設(shè)計(jì)。