<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于FPGA的小數(shù)分頻器的實(shí)現(xiàn)

          基于FPGA的小數(shù)分頻器的實(shí)現(xiàn)

          ——
          作者:劉亞海,林爭(zhēng)輝 時(shí)間:2007-01-26 來源:《現(xiàn)代電子技術(shù)》 收藏

          頻率合成技術(shù)是現(xiàn)代通訊系統(tǒng)的重要組成部分,他將一個(gè)高穩(wěn)定和高準(zhǔn)確度的基準(zhǔn)頻率,經(jīng)過四則運(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硬件描述語言的設(shè)計(jì)方式,通過modelsimse開發(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ù)。另一方面,分頻比又可以寫成:

          式中: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)通?過設(shè)計(jì)一個(gè)分頻系數(shù)為8.7的分頻器來給出使用veriloghdl語言設(shè)計(jì)數(shù)字邏輯電路的一般設(shè)計(jì)方法。這里使用÷8/9雙模前置分頻器,按照前面的分析,可以通過計(jì)數(shù)器計(jì)數(shù)先做3次8分頻,后做7次9分頻,即可得到平均分頻系數(shù)8.7。由于從n分頻切換到n+1分頻和從n+1分頻切換到n分頻都會(huì)產(chǎn)生一個(gè)隨時(shí)間增長的相位移,如果簡(jiǎn)單的先進(jìn)行3次8分頻后做7次9分頻將會(huì)產(chǎn)生很大的相位波動(dòng)。考慮到該小數(shù)分頻器要進(jìn)行多次8分頻和9分頻,那么就設(shè)法將兩種分頻混合均勻,這種“均勻”工作是通過計(jì)數(shù)器來完成的,在這里只討論一位小數(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給出了該分頻器的分頻過程。

          若分頻系數(shù)后為兩位小數(shù),則用100減去分頻系數(shù)的小數(shù)部分。用veriloghdl設(shè)計(jì)÷8/9雙模前置分頻器的描述程序如下:

          4波形仿真

          上述的÷8/9雙模前置分頻器的描述程序經(jīng)modelsim編譯、時(shí)序模擬后,得到的波形如圖2所示。

          由圖2可見,當(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)可編程門陣列(fieldprogrammablegatearray)是20世紀(jì)80年代中期出現(xiàn)的高密度可編程邏輯器件。fpga及其軟件系統(tǒng)是開發(fā)數(shù)字電路的最新技術(shù)。他利用eda技術(shù),以電路原理圖、硬件描述語言、狀態(tài)機(jī)等形式輸入設(shè)計(jì)邏輯;他提供功能模擬、時(shí)序仿真等模擬手段,在功能模擬和時(shí)序仿真度滿足要求后,經(jīng)過一系列的變換,將輸入邏輯轉(zhuǎn)換成fpga器件的編程文件,以實(shí)現(xiàn)專用集成電路。本設(shè)計(jì)選用xilinx公司推出的90nm工藝制造的現(xiàn)場(chǎng)可編程門陳列spartan-3來設(shè)計(jì)小數(shù)分頻器,體積減小,可靠性提高。

          6結(jié)語

          采用前置雙頻分頻器設(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ā)生器。

          分頻器相關(guān)文章:分頻器原理


          關(guān)鍵詞:

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();