隨著數(shù)字時代的到來,,越來越多的領(lǐng)域采用集成電路來設(shè)計電路,FPGA/CPLD等EDA設(shè)計更為廣大硬件工程師所接受。其模塊化設(shè)計為設(shè)計人員帶來了很多方便,,節(jié)約了系統(tǒng)的開發(fā)時間,,使設(shè)計人員只需要調(diào)用這些模塊或者IP核,,然后組合起來就可以實(shí)現(xiàn)一個簡單的功能,。全數(shù)字鎖相環(huán)(DPLL)就是其中一個典型的例子,。然而DPLL在應(yīng)用時存在很多缺陷,,例如鎖相時間長,、捕捉帶窄等。為了避免這些缺點(diǎn),,本文設(shè)計了一種全新的相位跟蹤倍頻系統(tǒng),,有效地改善了DPLL的這些指標(biāo),并在項(xiàng)目中得到了良好的應(yīng)用,。
1 全數(shù)字鎖相環(huán)的概念
所謂全數(shù)字鎖相環(huán)路,,就是環(huán)路部件全部數(shù)字化,采用數(shù)字鑒相器(DPD),、數(shù)字環(huán)路濾波器(DLF),、數(shù)控振蕩器(DCO)構(gòu)成鎖相環(huán)路。典型全數(shù)字鎖相環(huán)的結(jié)構(gòu)如圖1所示,。它采用的鑒相器是導(dǎo)前-滯后型數(shù)字鑒相器,。鑒相器在每一個周期內(nèi)得到輸入時鐘的相位比本地估算時鐘相位超前或滯后的信息,這樣鑒相器的相位誤差輸出只有超前或滯后兩種狀態(tài),。將誤差相位的超前或滯后信息送到序列濾波器后,,產(chǎn)生對DCO的“加”或“減”脈沖控制指令去改變DCO的時鐘周期,使本地估算時鐘的相位與輸入時鐘相位靠攏,。
環(huán)路濾波器采用了K計數(shù)器,。其功能就是對相位誤差序列計數(shù)即濾波,并輸出相應(yīng)的進(jìn)位脈沖或借位脈沖來調(diào)整I/D數(shù)控振蕩器輸出信號的相位,,從而實(shí)現(xiàn)相位控制和鎖定,。然而相位鎖定時間與相位抖動之間是一對矛盾體,K值取得大,,對抑止噪聲有利,,因?yàn)镵值大,,計數(shù)器對少量的噪聲干擾不可能計滿,所以不會有進(jìn)位或借位脈沖輸出,。但這樣捕捉帶會變小,,而且加大了環(huán)路進(jìn)入鎖定狀態(tài)的時間。反之,,K值取得小,,可以加速環(huán)路的入鎖,但K計數(shù)器會頻繁地產(chǎn)生進(jìn)位或借位脈沖,,從而導(dǎo)致相位抖動,,增大了同步誤差,相應(yīng)地對噪聲的抑制能力也隨之降低,。因此對于一般的DPLL,,選擇適當(dāng)?shù)腒值很重要。
對于倍頻電路,,目前大部分都是基于鎖相環(huán)技術(shù)開發(fā)的,,因此不可避免地也會將鎖相環(huán)中設(shè)計存在的矛盾帶入倍頻設(shè)計中。即使系統(tǒng)倍頻的范圍很寬,,但由于PLL的自身缺陷所帶來的頻譜純度差,、抖動明顯、噪聲大等缺點(diǎn)是不可避免的,。
2 新方案的提出
近幾年來,,越來越多的科研機(jī)構(gòu)致力于開發(fā)新型的鎖相倍頻系統(tǒng),無論在數(shù)字還是模擬領(lǐng)域,,都有了嶄新的突破,。在模擬方面,,F(xiàn)ordahl開發(fā)了一種如圖2所示的新倍頻模擬方法,。該方法在高頻和低頻段工作良好,同時有效地改善了在鎖相環(huán)設(shè)計中所帶來的缺陷,。在數(shù)字方面,,一種全新構(gòu)架的無類比全數(shù)字鎖相倍頻電路已經(jīng)由某科研機(jī)構(gòu)研制開發(fā)成功,并已經(jīng)投入使用,,其結(jié)構(gòu)如圖3所示,。該設(shè)計完全基于FPGA/CPLD設(shè)計開發(fā)而成,鎖相時間短(只需要一個系統(tǒng)時鐘周期tpd的延時),,同時具有無類比電路,、無抖動、無內(nèi)部振蕩器,、功耗低等優(yōu)點(diǎn),。
本文結(jié)合上述兩種方法,,根據(jù)FPGA流水線的操作思想,設(shè)計了一種全新的相位鎖定倍頻系統(tǒng),。在具備上述兩個倍頻電路優(yōu)點(diǎn)的同時,,增強(qiáng)了倍頻的精度,擴(kuò)大了倍頻范圍,,在系統(tǒng)資源允許的范圍內(nèi),,合理地利用芯片面積與速度的關(guān)系,以較少的邏輯單元,,設(shè)計出高速倍頻系統(tǒng),。
3 原理及算法
這種全新相位鎖定倍頻系統(tǒng)由四大模塊組成:同步預(yù)處理模塊、計數(shù)器模塊,、算法模塊,、選擇輸出模塊。其結(jié)構(gòu)如圖4所示,。
3.1 原理
首先,,對輸入?yún)⒖紩r鐘(CLK_IN)進(jìn)行同步處理,對輸入信號進(jìn)行復(fù)制,,使得輸入信號與全局時鐘(SYSCLK)達(dá)到同步(即使復(fù)制后的信號與輸入?yún)⒖紩r鐘存在誤差,,誤差也小于一個SYSCLK周期),然后以SYSCLK為基準(zhǔn)對CLK_IN進(jìn)行計數(shù),。如果信號CLK_IN抖動很小或者周期恒定,,則以n(n》1)個周期為單位進(jìn)行計數(shù);如果抖動很大(一般與外部環(huán)境及物理因素有關(guān)),,則以一個周期為單位進(jìn)行計數(shù),,并將計數(shù)值作為輸入傳送給算法模塊。算法模塊經(jīng)過一系列算法流程后,,得到一個使能信號(/EN),。最后利用建立時間(Tsu)和保持時間(Th)的特性,以使能信號/EN低有效對SYSCLK選擇輸出,,得到所需要的倍頻信號,。
從PLL倍頻的原理出發(fā),輸入?yún)⒖紩r鐘倍頻后的頻率不可能大于系統(tǒng)時鐘頻率,,因此對輸入時鐘的倍頻問題歸根結(jié)底就是對系統(tǒng)時鐘的分頻問題,。系統(tǒng)時鐘分頻后,一方面作為信號輸出,,一方面作為反饋信號,。頻率除以N(倍值)后,得到本地估算信號,,經(jīng)過DPLL環(huán)路,,使之與參考時鐘同相,,這樣就得到了與輸入?yún)⒖紩r鐘的同相N倍頻輸出信號。從這里可以看出,,基于DPLL的倍頻電路是系統(tǒng)相位鎖定與時鐘倍頻同時進(jìn)行的,。因此倍頻過程中,必然受到DPLL自身因素的制約,。而本文設(shè)計的倍頻系統(tǒng),,系統(tǒng)同步過程和倍頻過程是兩個獨(dú)立的過程,相互之間不存在依附關(guān)系,,因此可以將兩個過程分別做優(yōu)化處理,。
(1)鎖相問題,??梢园阉D(zhuǎn)化為“同步”問題來考慮。同步過程中最重要的概念就是“參照系”,,對于鎖相環(huán)而言,,本地估算信號是以輸入?yún)⒖紩r鐘為參照進(jìn)行運(yùn)算得來的;而若以系統(tǒng)時鐘作為參照,,本地復(fù)制信號必然與系統(tǒng)時鐘同步,,且與輸入?yún)⒖紩r鐘同相。這樣做的優(yōu)點(diǎn)是相位鎖定快,,提高了芯片系統(tǒng)速度(頻率),。
(2)倍頻問題,。既然本地復(fù)制時鐘是與系統(tǒng)時鐘同步的,,而一切與系統(tǒng)時鐘同步的信號必然與復(fù)制信號同步,那么對本地復(fù)制信號的倍頻問題,,就可以簡化為對系統(tǒng)時鐘的分頻問題,。例如,假設(shè)輸入?yún)⒖夹盘柕念l率為64kHz,,系統(tǒng)時鐘的頻率為64MHz,,現(xiàn)要求設(shè)計一個電路,其輸出信號與輸入?yún)⒖夹盘柾?,且頻率為9.6MHz時鐘。通過運(yùn)算可得到輸出信號是輸入?yún)⒖夹盘柕? 500倍,,是系統(tǒng)時鐘頻率的20/3分頻,。因此只要設(shè)計出20/3分頻電路,就可得到輸出信號是輸入?yún)⒖紩r鐘1 500倍的倍頻信號,。其算法思想如圖5所示,。
3.2 算法
以SYSCLK作為累加器的系統(tǒng)時鐘,,累加器的位寬根據(jù)分頻的精度而確定,累加操作在系統(tǒng)時鐘的上升沿有效,,累加器的初始值為0,。因?yàn)槭?0/3分頻,所以累加器在時鐘的上升沿時增加0.15,,同時判斷0.15和1的大小,,由于0.15《1,所以/EN=1,。在時鐘的第二個上升沿到來時,,在累加0.15等于0.3后,同時判斷0.3和1的大小,,由于0.3《1,,所以/EN=1。依此類推,,在時鐘的第七個上升沿到來時累加器的值應(yīng)該是1.05,,由于1.05》1,所以/EN=0,。再將1.05減去1的差0.05作為累加器的初始值進(jìn)行下次運(yùn)算,,依次進(jìn)行下去就可以得到/EN信號。
在FPGA的設(shè)計中,,一般經(jīng)常用到的是時鐘的上升沿,,根據(jù)FPGA的建立時間Tsu和保持時間Th,雖然在建立時間不能采到SYSCLK的上升沿,,但在保持時間卻可以采到第八個上升沿,。這樣就可以得到頻率為9.6MHz的輸出信號。
4 性能分析
4.1 相位鎖定時間
因?yàn)楸驹O(shè)計以系統(tǒng)時鐘為參照,,所以本地復(fù)制信號與輸入?yún)⒖夹盘柕南辔徽`差最大為一個SYSCLK周期,,本設(shè)計使用的是Altera公司的Cyclone系列EP1C3T144-8芯片,系統(tǒng)時鐘頻率最高能達(dá)到105.65MHz,,因此最大誤差為9.465ns,。如果再經(jīng)過優(yōu)化,可以達(dá)到在7ns以內(nèi),。
4.2 倍頻范圍及其精度
本設(shè)計采用任意數(shù)分頻算法,,倍頻后輸出信號的頻率范圍可以從0Hz到系統(tǒng)時鐘的最高頻率。因此,,對于精度,,可以做到小數(shù)點(diǎn)后任意值,但是刻意地追求精度,是以浪費(fèi)芯片面積為前提的,,所示選擇精度值還要根據(jù)芯片的邏輯單元多少來決定,。
5 仿真結(jié)果
仿真的部分波形圖如圖6所示,放大效果圖如圖7所示,。
本文提出的全新鎖相倍頻系統(tǒng)方案已經(jīng)在項(xiàng)目中得到應(yīng)用,,并在實(shí)踐中得到檢驗(yàn),性能完全達(dá)到預(yù)期要求,,效果良好,。