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

          新聞中心

          EEPW首頁(yè) > 電源與新能源 > 設(shè)計(jì)應(yīng)用 > 基于FPGA和DDS的數(shù)控信號(hào)源的設(shè)計(jì)與實(shí)現(xiàn)

          基于FPGA和DDS的數(shù)控信號(hào)源的設(shè)計(jì)與實(shí)現(xiàn)

          作者: 時(shí)間:2012-04-23 來(lái)源:網(wǎng)絡(luò) 收藏


          2 電路
          系統(tǒng)中循環(huán)相位累加器、ROM表和地址信號(hào)發(fā)生器是關(guān)鍵部分,它們直接決定系統(tǒng)性能。
          2.1 相位累加器結(jié)構(gòu)
          為得到足夠高的分辨率,文中循環(huán)相位累加器字長(zhǎng)取32位。但是,若直接采用32位串行加法器作為累加器,則引入的延遲較大,從而大大降低系統(tǒng)的工作速度。為此,文中采用超前進(jìn)位原理和流水線技術(shù)32位循環(huán)累加器,其原理框圖如圖3所示。每4位超前進(jìn)位加法器作為一個(gè)基本單元,4個(gè)4位超前進(jìn)位加法器組成16超前進(jìn)位加法器,并且將入流水技術(shù)加入16位超前進(jìn)位加法器中。最后再將兩個(gè)16位加法器組成32位加法器,如圖3所示。

          本文引用地址:http://www.ex-cimer.com/article/177446.htm

          e.JPG


          2.2 ROM查找表設(shè)計(jì)
          理論上,一個(gè)周期內(nèi)樣點(diǎn)數(shù)越多,輸出的波形精度越高。但樣點(diǎn)數(shù)越多,需要的存儲(chǔ)空間也越多。為了得到一定精度的波形,又不希望大幅度地增加存儲(chǔ)容量,人們提出如下方法:(1)利用CORDIC及其改進(jìn)算法來(lái)設(shè)計(jì)。(2)根據(jù)抽樣定理,存儲(chǔ)最少的樣點(diǎn)數(shù),每個(gè)周期采用固定的樣點(diǎn)數(shù)。(3)利用波形的對(duì)稱性來(lái)減少ROM,如正弦波只需存儲(chǔ)前1/4周期的波形數(shù)據(jù)。
          ROM查找表設(shè)計(jì)的標(biāo)目是減少ROM的容量,同時(shí)不能過(guò)多增加系統(tǒng)的復(fù)雜度。根據(jù)采樣定理,每個(gè)波形周期只需采樣45°,135°,225°,315°相位點(diǎn)對(duì)應(yīng)的4個(gè)樣值,就可以無(wú)失真地重構(gòu)模擬波形信號(hào)。為保證波形質(zhì)量,文中每個(gè)周期固定采樣32個(gè)點(diǎn),則3種波形有96個(gè)樣點(diǎn),每個(gè)樣點(diǎn)用8為二進(jìn)制數(shù)表示,則共需要768 bit。因此,地址信號(hào)發(fā)生器可設(shè)計(jì)為32進(jìn)制的計(jì)數(shù)器。

          f.JPG


          ROM查找表結(jié)構(gòu)如圖4所示,其中頭N個(gè)樣值為正弦波數(shù)據(jù),最后N個(gè)樣值為三角波數(shù)據(jù),中間是方波數(shù)據(jù)。若要輸出正弦波,則從第1個(gè)存儲(chǔ)單元開始查找;要輸出方波,則從第N+1個(gè)單元開始查找,依次類推,圖中N取32。
          傳統(tǒng)技術(shù)中隨著波形頻率的增加,采樣點(diǎn)數(shù)明顯減少,使得波形質(zhì)量也大大降低。采用這種方法,不管輸出波形多大,采樣點(diǎn)數(shù)都是固定的,從而避免以上問(wèn)題。

          lc振蕩電路相關(guān)文章:lc振蕩電路原理


          評(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); })();