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

          新聞中心

          EEPW首頁(yè) > 汽車(chē)電子 > 設(shè)計(jì)應(yīng)用 > 基于FPGA的多種分頻設(shè)計(jì)與實(shí)現(xiàn)

          基于FPGA的多種分頻設(shè)計(jì)與實(shí)現(xiàn)

          ——
          作者:陳英梅,席亮亮 時(shí)間:2007-07-16 來(lái)源:電子元器件應(yīng)用 收藏

          引言

            分頻器是設(shè)計(jì)中使用頻率非常高的基本單元之一。盡管目前在大部分設(shè)計(jì)中還廣泛使用集成鎖相環(huán)(如altera的PLL,Xilinx的DLL)來(lái)進(jìn)行時(shí)鐘的分頻、倍頻以及相移設(shè)計(jì),但是,對(duì)于時(shí)鐘要求不太嚴(yán)格的設(shè)計(jì),通過(guò)自主設(shè)計(jì)進(jìn)行時(shí)鐘分頻的實(shí)現(xiàn)方法仍然非常流行。首先這種方法可以節(jié)省鎖相環(huán)資源,再者,這種方式只消耗不多的邏輯單元就可以達(dá)到對(duì)時(shí)鐘操作的目的。

          1 整數(shù)分頻器的設(shè)計(jì)

          1.1 偶數(shù)倍分頻

            偶數(shù)分頻器的實(shí)現(xiàn)非常簡(jiǎn)單,通過(guò)計(jì)數(shù)器計(jì)數(shù)就完全可以實(shí)現(xiàn)。如進(jìn)行N倍偶數(shù)分頻,就可以通過(guò)由待分頻的時(shí)鐘觸發(fā)計(jì)數(shù)器計(jì)數(shù),當(dāng)計(jì)數(shù)器從0計(jì)數(shù)到N/2-1時(shí),輸出時(shí)鐘進(jìn)行翻轉(zhuǎn),并給計(jì)數(shù)器一個(gè)復(fù)位信號(hào),以使下一個(gè)時(shí)鐘從零開(kāi)始計(jì)數(shù)。以此循環(huán),就可以實(shí)現(xiàn)任意的偶數(shù)分頻。圖1所示是占空比為1:1的36分頻的仿真波形圖。
           

          1.2 奇數(shù)倍分頻

            奇數(shù)倍分頻有兩種實(shí)現(xiàn)方法,其中之一完全可以通過(guò)計(jì)數(shù)器來(lái)實(shí)現(xiàn),如進(jìn)行三分頻,就可通過(guò)待分頻時(shí)鐘上升沿觸發(fā)計(jì)數(shù)器來(lái)進(jìn)行模三計(jì)數(shù),當(dāng)計(jì)數(shù)器計(jì)數(shù)到鄰近值時(shí)進(jìn)行兩次翻轉(zhuǎn)。比如可以在計(jì)數(shù)器計(jì)數(shù)到1時(shí),輸出時(shí)鐘進(jìn)行翻轉(zhuǎn),計(jì)數(shù)到2時(shí)再次進(jìn)行翻轉(zhuǎn)。這樣,就在計(jì)數(shù)值鄰近的1和2進(jìn)行了兩次翻轉(zhuǎn)。如此便實(shí)現(xiàn)了三分頻,其占空比為1/3或2/3。

            占空比1/15的15分頻設(shè)計(jì)的主要代碼如下:
           


            如果要實(shí)現(xiàn)占空比為50%的三分頻時(shí)鐘,則可通過(guò)待分頻時(shí)鐘下降沿觸發(fā)計(jì)數(shù),并以和上升沿同樣的方法計(jì)數(shù)進(jìn)行三分頻,然后對(duì)下降沿產(chǎn)生的三分頻時(shí)鐘和上升沿產(chǎn)生的時(shí)鐘進(jìn)行相或運(yùn)算。即可得到占空比為50%的三分頻時(shí)鐘這是奇數(shù)分頻的第三種方法。這種方法可以實(shí)現(xiàn)任意的奇數(shù)分頻。如將其歸類(lèi)為一般的方法:對(duì)于實(shí)現(xiàn)占空比為50%的N倍奇數(shù)分頻,首先要進(jìn)行上升沿觸發(fā)以進(jìn)行模N計(jì)數(shù),計(jì)數(shù)選定到某一個(gè)值再進(jìn)行輸出時(shí)鐘翻轉(zhuǎn),然后過(guò)(N-1)/2再次進(jìn)行翻轉(zhuǎn),就可得到一個(gè)占空比非50%的奇數(shù)n分頻時(shí)鐘。再同時(shí)進(jìn)行下降沿觸發(fā)的模N計(jì)數(shù),當(dāng)其到達(dá)與上升沿觸發(fā)輸出時(shí)鐘翻轉(zhuǎn)選定值相同時(shí),再進(jìn)行輸出時(shí)鐘翻轉(zhuǎn),同樣,經(jīng)過(guò)(N-1)/2時(shí),輸出時(shí)鐘再次翻轉(zhuǎn)以生成占空比非50%的奇數(shù)n分頻時(shí)鐘。將這兩個(gè)占空比非50%的n分頻時(shí)鐘相或運(yùn)算,就可以得到占空比為50%的奇數(shù)n分頻時(shí)鐘。圖2所示是占空比為1:1的3分頻電路原理圖。圖3為其仿真波形。


           


           
          2 半整數(shù)分頻器設(shè)計(jì)

            進(jìn)行n+0.5分頻一般需要對(duì)輸入時(shí)鐘先進(jìn)行操作。其基本設(shè)計(jì)思想是:首先進(jìn)行模n的計(jì)數(shù),在計(jì)數(shù)到n-1時(shí),將輸出時(shí)鐘賦為'1',而當(dāng)回到計(jì)數(shù)0時(shí),又賦為0,這樣,當(dāng)計(jì)數(shù)值為n-1時(shí),輸出時(shí)鐘才為1,因此,只要保持計(jì)數(shù)值n-1為半個(gè)輸入時(shí)鐘周期,即可實(shí)現(xiàn)n+0.5分頻時(shí)鐘。因此,保持n-1為半個(gè)時(shí)鐘周期即是該設(shè)計(jì)的關(guān)鍵。從中可以發(fā)現(xiàn),因?yàn)橛?jì)數(shù)器是通過(guò)時(shí)鐘上升沿計(jì)數(shù),故可在計(jì)數(shù)為n-1時(shí)對(duì)計(jì)數(shù)觸發(fā)時(shí)鐘進(jìn)行翻轉(zhuǎn),那么,時(shí)鐘的下降沿就變成了上升沿。即在計(jì)數(shù)值為n-1期間的時(shí)鐘下降沿變成了上升沿,也就是說(shuō),計(jì)數(shù)值n-1只保持了半個(gè)時(shí)鐘周期。由于時(shí)鐘翻轉(zhuǎn)下降沿變成上升沿,因此,計(jì)數(shù)值變?yōu)?。所以,每產(chǎn)生一個(gè)n+0.5分頻時(shí)鐘的周期,觸發(fā)時(shí)鐘都要翻轉(zhuǎn)一次。圖4給出了通用的半整數(shù)分頻器的電路原理圖。

            圖5所示是一個(gè)分頻系數(shù)為2.5的分頻器電路,該電路是用來(lái)設(shè)計(jì)半整數(shù)分頻器的。它由模3計(jì)數(shù)器、異或門(mén)和D觸發(fā)器組成。圖6是其仿真波形圖。


           
          3 任意整數(shù)帶小數(shù)分頻

            任意整數(shù)帶小數(shù)分頻的基本原理是采用脈沖吞吐計(jì)數(shù)器和鎖相環(huán)技術(shù)先設(shè)計(jì)兩個(gè)不同分頻比的整數(shù)分頻器,然后通過(guò)控制單位時(shí)間內(nèi)兩種分頻比出現(xiàn)的不同次數(shù)來(lái)獲得所需要的小數(shù)分頻值。若設(shè)計(jì)一個(gè)分頻系數(shù)為10.1的分頻器,即可以將分頻器設(shè)計(jì)成9次10分頻和1次11分頻,這樣,總的分頻值為:

          F=(9

          linux操作系統(tǒng)文章專(zhuān)題:linux操作系統(tǒng)詳解(linux不再難懂)
          分頻器相關(guān)文章:分頻器原理


          評(píng)論


          相關(guān)推薦

          技術(shù)專(zhuān)區(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); })();