基于FPGA的小數(shù)分頻器的實(shí)現(xiàn)
頻率合成技術(shù)是現(xiàn)代通訊系統(tǒng)的重要組成部分,他將一個(gè)高穩(wěn)定和高準(zhǔn)確度的基準(zhǔn)頻率,經(jīng)過(guò)四則運(yùn)算,產(chǎn)生同樣穩(wěn)定度和基準(zhǔn)度的頻率。分頻器是集成電路中最基礎(chǔ)也是最常用的電路。整數(shù)分頻器的實(shí)現(xiàn)比較簡(jiǎn)單,可采用標(biāo)準(zhǔn)的計(jì)數(shù)器或可編程邏輯器件設(shè)計(jì)實(shí)現(xiàn)。但在某些場(chǎng)合下,時(shí)鐘源與所需的頻率不成整數(shù)倍關(guān)系,此時(shí)可采用小數(shù)分頻器進(jìn)行分頻。本文利用veriloghdl硬件描述語(yǔ)言的設(shè)計(jì)方式,通過(guò)modelsimse開(kāi)發(fā)軟件進(jìn)行仿真,設(shè)計(jì)基于fpga的雙模前置小數(shù)分頻器。隨著超大規(guī)模集成電路的發(fā)展,利用fpga小數(shù)分頻合成技術(shù)解決了單環(huán)數(shù)字頻率合成器中高鑒相頻率與小頻間隔之間的矛盾。
1雙模前置小數(shù)分頻原理
本文引用地址:http://www.ex-cimer.com/article/21095.htm小數(shù)分頻器的實(shí)現(xiàn)方法很多,但其基本原理一樣,即在若干個(gè)分頻周期中采取某種方法使某幾個(gè)周期多計(jì)或少計(jì)一個(gè)數(shù),從而在整個(gè)計(jì)數(shù)周期的總體平均意義上獲得一個(gè)小數(shù)分頻比,設(shè)要進(jìn)行分頻比為k的小數(shù)分頻,k可表示為:
式中:n,n,x均為正整數(shù);n為到x的位數(shù),即k有n位小數(shù)。另一方面,分頻比又可以寫(xiě)成:
式中:m為分頻器輸入脈沖數(shù);p為輸出脈沖數(shù)。
令p=10n,則:
以上是小數(shù)分頻器的一種實(shí)現(xiàn)方法,即在進(jìn)行10n次n分頻時(shí),設(shè)法多輸入x個(gè)脈沖。
2電路組成
每個(gè)周期分頻n+10-n.x,其電路雙模前置小數(shù)分頻器電路由÷n/n+1雙模分頻器、控制計(jì)數(shù)器和控制邏輯3部分組成。當(dāng)a點(diǎn)電平為1時(shí),進(jìn)行÷n分頻;當(dāng)a點(diǎn)電平為0時(shí)進(jìn)行÷n+1分頻。適當(dāng)設(shè)計(jì)控制邏輯,使在10n個(gè)分頻周期中分頻器有x次進(jìn)行÷n+1分頻,這樣,當(dāng)從fo輸出10n個(gè)脈沖時(shí),在fi處輸入了x.(n+1)+(10n-x).n個(gè)脈沖,也就是10n.n+x個(gè)脈沖,其原理如圖1所示。
3小數(shù)分頻器的verilog-hdl設(shè)計(jì)
現(xiàn)通?過(guò)設(shè)計(jì)一個(gè)分頻系數(shù)為8.7的分頻器來(lái)給出使用veriloghdl語(yǔ)言設(shè)計(jì)數(shù)字邏輯電路的一般設(shè)計(jì)方法。這里使用÷8/9雙模前置分頻器,按照前面的分析,可以通過(guò)計(jì)數(shù)器計(jì)數(shù)先做3次8分頻,后做7次9分頻,即可得到平均分頻系數(shù)8.7。由于從n分頻切換到n+1分頻和從n+1分頻切換到n分頻都會(huì)產(chǎn)生一個(gè)隨時(shí)間增長(zhǎng)的相位移,如果簡(jiǎn)單的先進(jìn)行3次8分頻后做7次9分頻將會(huì)產(chǎn)生很大的相位波動(dòng)??紤]到該小數(shù)分頻器要進(jìn)行多次8分頻和9分頻,那么就設(shè)法將兩種分頻混合均勻,這種“均勻”工作是通過(guò)計(jì)數(shù)器來(lái)完成的,在這里只討論一位小數(shù)的情況,下面簡(jiǎn)要介紹這種混合的方法:
每進(jìn)行一次分頻,計(jì)數(shù)值為10減去分頻系數(shù)的小數(shù)部分,各次計(jì)數(shù)值累加。若累加結(jié)果小于10,則進(jìn)行n+1分頻,若大于10或等于10,則進(jìn)行n分頻。該例中計(jì)數(shù)值為(10-7)=3,前3次累加結(jié)果都小于10,所以為9分頻,第四次累加結(jié)果為12,則去掉十位數(shù)后累加結(jié)果變?yōu)?,同時(shí)進(jìn)行8分頻,表1給出了該分頻器的分頻過(guò)程。
若分頻系數(shù)后為兩位小數(shù),則用100減去分頻系數(shù)的小數(shù)部分。用veriloghdl設(shè)計(jì)÷8/9雙模前置分頻器的描述程序如下:
4波形仿真
上述的÷8/9雙模前置分頻器的描述程序經(jīng)modelsim編譯、時(shí)序模擬后,得到的波形如圖2所示。
由圖2可見(jiàn),當(dāng)reset為0時(shí),分頻器復(fù)位,當(dāng)a為1時(shí),進(jìn)行8分頻,當(dāng)a為0時(shí)則進(jìn)行9分頻。
如圖3所示,在前3個(gè)時(shí)鐘,a值為0,則進(jìn)行9分頻,其后一個(gè)時(shí)鐘a為1,進(jìn)行8分頻,后兩個(gè)脈沖,又進(jìn)行9分頻,后進(jìn)行一次8分頻,然后又進(jìn)行兩次9分頻,最后進(jìn)行一次8分頻。
5電路實(shí)現(xiàn)
fpga現(xiàn)場(chǎng)可編程門(mén)陣列(fieldprogrammablegatearray)是20世紀(jì)80年代中期出現(xiàn)的高密度可編程邏輯器件。fpga及其軟件系統(tǒng)是開(kāi)發(fā)數(shù)字電路的最新技術(shù)。他利用eda技術(shù),以電路原理圖、硬件描述語(yǔ)言、狀態(tài)機(jī)等形式輸入設(shè)計(jì)邏輯;他提供功能模擬、時(shí)序仿真等模擬手段,在功能模擬和時(shí)序仿真度滿足要求后,經(jīng)過(guò)一系列的變換,將輸入邏輯轉(zhuǎn)換成fpga器件的編程文件,以實(shí)現(xiàn)專用集成電路。本設(shè)計(jì)選用xilinx公司推出的90nm工藝制造的現(xiàn)場(chǎng)可編程門(mén)陳列spartan-3來(lái)設(shè)計(jì)小數(shù)分頻器,體積減小,可靠性提高。
6結(jié)語(yǔ)
采用前置雙頻分頻器設(shè)計(jì)的小數(shù)分頻器,小數(shù)分頻器的精度受控制計(jì)數(shù)器的影響,當(dāng)n值為100時(shí),小數(shù)分頻的精度達(dá)到1/100;當(dāng)n值為1000時(shí),小數(shù)分頻的精度達(dá)到1/1000;依此類推。fpga有相當(dāng)豐富的硬件資源,因此可以用fpga設(shè)計(jì)高精度的小數(shù)分頻器。采用fpga組成的數(shù)字頻率合成器,單環(huán)鑒相頻率達(dá)100mhz以上,分辨率可達(dá)10-6。這種小數(shù)分頻器得到了廣泛的應(yīng)用,例如,對(duì)圖象采集系統(tǒng)中的行分頻和列分頻的設(shè)計(jì),就可以應(yīng)用本分頻器電路作為時(shí)鐘發(fā)生器。
評(píng)論