基于FPGA的小數(shù)分頻實(shí)現(xiàn)方法
摘 要: 提出了一種基于FPGA的小數(shù)分頻實(shí)現(xiàn)方法。介紹了現(xiàn)有分頻方法的局限性,提出一種新的基于兩級(jí)計(jì)數(shù)器的分頻實(shí)現(xiàn)方法,給出該方法的設(shè)計(jì)原理以及實(shí)現(xiàn)框圖,利用軟件對(duì)電路進(jìn)行仿真,由仿真結(jié)果可以看出該方法可有效實(shí)現(xiàn)輸入信號(hào)頻率的小數(shù)調(diào)整,最后分析了方法的優(yōu)缺點(diǎn)及其應(yīng)用領(lǐng)域。實(shí)驗(yàn)結(jié)果表明,設(shè)計(jì)方法能夠高精度地完成對(duì)信號(hào)頻率的微調(diào),并且頻率轉(zhuǎn)換時(shí)間被縮短到2.56 μs。
關(guān)鍵詞: FPGA;小數(shù)分頻; 信號(hào)頻率的微調(diào)
分頻器是電子線路設(shè)計(jì)的重要功能單元,在通信、雷達(dá)、微波、儀器等領(lǐng)域有著重要應(yīng)用。具體實(shí)現(xiàn)形式有偶數(shù)分頻、奇數(shù)分頻、鎖相環(huán)分頻電路等,這種結(jié)構(gòu)的分頻器只能實(shí)現(xiàn)整數(shù)分頻,或者是僅實(shí)現(xiàn)半整數(shù)分頻和奇數(shù)分頻[1],一般的鎖相環(huán)分頻電路會(huì)有幾十微秒級(jí)的頻率轉(zhuǎn)換時(shí)間[2],雖然現(xiàn)在少數(shù)芯片有所改善,但是時(shí)間也較長(zhǎng)。同時(shí),在某些場(chǎng)合下,所需要的頻率與給定的頻率并不成整數(shù)或半整數(shù)倍關(guān)系,或需要實(shí)現(xiàn)對(duì)輸入信號(hào)頻率的微調(diào)整,此時(shí)可采用小數(shù)分頻器進(jìn)行分頻[3]。
本文提出了一種基于FPGA的小數(shù)分頻實(shí)現(xiàn)方法,給出該方法的設(shè)計(jì)原理以及實(shí)現(xiàn)框圖,使用VHDL硬件描述語(yǔ)言和原理圖混合輸入的設(shè)計(jì)方式[4],通過(guò)Quartus II開(kāi)發(fā)軟件,在Altera公司的Stratix II系列EP2S15F484C3型FPGA器件平臺(tái)上對(duì)電路進(jìn)行仿真,并對(duì)仿真結(jié)果進(jìn)行分析,由仿真結(jié)果可以看出該方法可有效實(shí)現(xiàn)對(duì)輸入信號(hào)的50%占空比的小數(shù)調(diào)整,解決了在一些場(chǎng)合下整數(shù)分頻對(duì)輸入頻率調(diào)整幅度較大,頻率轉(zhuǎn)換時(shí)間較長(zhǎng)的問(wèn)題[6]。
1 設(shè)計(jì)方案及其原理
該方法是通過(guò)兩級(jí)計(jì)數(shù)電路來(lái)實(shí)現(xiàn)小數(shù)分頻的,第一級(jí)利用輸入信號(hào)對(duì)系統(tǒng)時(shí)鐘計(jì)數(shù),并對(duì)計(jì)數(shù)結(jié)果進(jìn)行修正;第二級(jí)利用修正后的結(jié)果通過(guò)定時(shí)操作產(chǎn)生頻率調(diào)整后的輸出信號(hào)。電路圖的組成如圖1所示。
以輸入信號(hào)的脈寬作為閘值,計(jì)數(shù)器1在系統(tǒng)時(shí)鐘的控制下進(jìn)行加計(jì)數(shù),設(shè)此計(jì)數(shù)結(jié)果為n。為實(shí)現(xiàn)對(duì)輸入信號(hào)頻率的調(diào)整,通過(guò)給n加上一個(gè)調(diào)整值N來(lái)實(shí)現(xiàn)對(duì)計(jì)數(shù)結(jié)果的調(diào)整,調(diào)整后的結(jié)果存于寄存器3,同時(shí)計(jì)數(shù)器1復(fù)位并等待進(jìn)入下一輪操作。計(jì)數(shù)器2在同一系統(tǒng)時(shí)鐘控制下對(duì)寄存器3的值減計(jì)數(shù)。當(dāng)計(jì)數(shù)器2減到0時(shí)產(chǎn)生下溢信號(hào),如此重復(fù),計(jì)數(shù)器2將產(chǎn)生頻率調(diào)整后的非對(duì)稱(chēng)方波,最后利用模一計(jì)數(shù)器將其調(diào)整為占空比為50%的時(shí)鐘信號(hào)。上述方法中,N的值決定了輸出信號(hào)與輸入信號(hào)間的頻率關(guān)系,通過(guò)對(duì)N的設(shè)置來(lái)改變?cè)摲椒ǖ姆诸l倍數(shù)。
在具體實(shí)現(xiàn)時(shí),為了避免計(jì)數(shù)器2置入的數(shù)據(jù)發(fā)生沖突,n的修正值先存放在寄存器3中,這樣,每當(dāng)計(jì)數(shù)器2減到0時(shí),再置入n的修正值,則可以避免第二級(jí)計(jì)數(shù)器沒(méi)有輸出信號(hào)的問(wèn)題。
1.2 小數(shù)分頻參數(shù)的取值范圍
使用本設(shè)計(jì)方法對(duì)輸入信號(hào)的頻率進(jìn)行小數(shù)量級(jí)的分頻,要得到有效、可靠的結(jié)果,調(diào)整參數(shù)N只在一定范圍內(nèi)取值。
由式(1)可知:由于輸出信號(hào)頻率K>0,故N>-n。
2 仿真結(jié)果及分析
2.1 電路功能的仿真及分析
理論上,當(dāng)fin=1 MHz、N=1時(shí),n=100,K=1.01, fout≈0.990 1 MHz。
以上述參數(shù)對(duì)電路進(jìn)行仿真,仿真結(jié)果如圖2所示。
N在有效范圍內(nèi)變化,使用上述參數(shù)對(duì)電路進(jìn)行仿真得到表1所示仿真結(jié)果。
對(duì)電路進(jìn)行調(diào)整,把N減小一個(gè)單位,即:N=1,由式(1)得分頻比K2=1.02,電路的仿真結(jié)果如圖4所示。
文中提出了兩級(jí)計(jì)數(shù)電路來(lái)實(shí)現(xiàn)小數(shù)分頻的方法,并對(duì)結(jié)果進(jìn)行仿真和分析,該方法可以實(shí)現(xiàn)分頻比為任意小數(shù)的小數(shù)分頻,或者可高精度地完成對(duì)輸入信號(hào)頻率的微調(diào),實(shí)現(xiàn)結(jié)果表明了本設(shè)計(jì)可以使頻率轉(zhuǎn)換時(shí)間被縮短到2.56 μs,隨著分頻步長(zhǎng)的提高,頻率調(diào)整誤差?著會(huì)增加,但是誤差比較小,這一優(yōu)點(diǎn)應(yīng)用在IEEE1588中,可有效地實(shí)現(xiàn)LXI的主從設(shè)備的時(shí)鐘同步[5],這是本設(shè)計(jì)方案的典型應(yīng)用。但是,當(dāng)系統(tǒng)的時(shí)鐘頻率與輸入頻率的比值n不是整數(shù)時(shí),頻率調(diào)整誤差ε較大,這是本方案的使用局限性。
參考文獻(xiàn)
[1] 許德成.任意數(shù)分頻設(shè)計(jì)方法[J].科技廣場(chǎng),2007,13(6):219.
[2] 王芳,闊永紅.小數(shù)分頻與快鎖芯片ADF4193的原理與應(yīng)用[J].新特器件應(yīng)用,2008,10(5): 1-3.
[3] 劉亞海,林爭(zhēng)輝.基于FPGA的小數(shù)分頻器的實(shí)現(xiàn)[J]. 現(xiàn)代電子技術(shù), 2005,28(3):113-114.
[4] 古良玲,楊永明,郭巧惠. 基于FPGA的半整數(shù)及整數(shù)分頻器的參數(shù)化設(shè)計(jì)[J].電子器件,2005,28(2):404-406.
[5] 王剛,喬純捷,王躍科.基于時(shí)鐘同步的分布式實(shí)時(shí)系統(tǒng)監(jiān)控[J].電子測(cè)量與儀器學(xué)報(bào),2010,24(3):274-278.
[6] TIAN Hong Li,SHI Shuo,ZHANG Jun, et al.Controllable arbitrary integer frequency divider based on VHDL[J]. IEEE.Xplore,2009,62(10):691-694.