《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 可編程邏輯 > 設(shè)計(jì)應(yīng)用 > 基于FPGA的小數(shù)分頻器的實(shí)現(xiàn)
基于FPGA的小數(shù)分頻器的實(shí)現(xiàn)
摘要: 本文利用VerilogHDL硬件描述語(yǔ)言的設(shè)計(jì)方式,通過(guò)ModelSimSE開(kāi)發(fā)軟件進(jìn)行仿真,設(shè)計(jì)基于FPGA的雙模前置小數(shù)分頻器。隨著超大規(guī)模集成電路的發(fā)展,利用FPGA小數(shù)分頻合成技術(shù)解決了單環(huán)數(shù)字頻率合成器中高鑒相頻率與小頻間隔之間的矛盾。
關(guān)鍵詞: FPGA 小數(shù)分頻器 Verilog
Abstract:
Key words :

  頻率合成技術(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ù)分頻原理

  小數(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ò)程。

該分頻器的分頻過(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í)序仿真度滿(mǎn)足要求后,經(jīng)過(guò)一系列的變換,將輸入邏輯轉(zhuǎn)換成FPGA器件的編程文件,以實(shí)現(xiàn)專(zhuā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;依此類(lèi)推。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ā)生器。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。