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

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 一種基于FPGA和單片機(jī)的掃頻儀設(shè)計(jì)與實(shí)現(xiàn)

          一種基于FPGA和單片機(jī)的掃頻儀設(shè)計(jì)與實(shí)現(xiàn)

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

            2 系統(tǒng)功能部分設(shè)計(jì)

            2.1 掃頻信號(hào)的產(chǎn)生

            直接數(shù)字合成(DDFS)信號(hào)源。它是一種完全數(shù)字化的方法:先將一個(gè)周期的正弦波(或者其他波形)的離散樣點(diǎn)幅值的數(shù)字量預(yù)先存儲(chǔ)于ROM或者RAM中,按一定的地址增量間隔讀出,經(jīng)D/A轉(zhuǎn)換后成為不同頻率的模擬正弦波信號(hào)波形,再經(jīng)低通濾掉毛刺即可得到所需頻率的輸入信號(hào)。按此原理,DDS可以合成任意波形,且可以精確控制相位,頻率也非常穩(wěn)定。利用制作起來(lái)相當(dāng)容易,且掃頻步進(jìn)實(shí)現(xiàn)簡(jiǎn)單。設(shè)內(nèi)部的參考頻率源的頻率為fclk,采用計(jì)數(shù)容量為2N的相位累加器(N為相位累加器的位數(shù)),頻率控制字為M,則DDS系統(tǒng)輸出信號(hào)的頻率fout=fclk/2N×M。頻率分辨率為:△f=fclk/2N。

            若選取晶振頻率為40 MHz,頻率控制字為24位,相位累加器的位數(shù)為31位,則輸出頻率范圍為0.02 Hz~312 kHz,步進(jìn)頻率為40 MHz/231≈0.02 Hz。

            系統(tǒng)采用高速14-bit電流輸出型D/A轉(zhuǎn)換器DAC904制作DDS掃頻信號(hào)源。通過(guò)給其20 MHz的時(shí)鐘信號(hào)以輸出10 Hz~100 kHz的掃頻信號(hào)。該器件制作成的PCB板中,很好地考慮了接地,使得輸出信號(hào)在頻率為1 MHz可以達(dá)到無(wú)明顯失真。DAC904采用內(nèi)部基準(zhǔn)和雙極性接法,輸出信號(hào)幅值范圍為0~5 V。其原理圖如圖2所示。

          原理圖

            2.2 幅頻特性測(cè)試方案

            使用集成真有效值轉(zhuǎn)換器AD637先檢測(cè)出信號(hào)每個(gè)頻率點(diǎn)的有效值,再經(jīng)過(guò)A/D采樣將得到的數(shù)據(jù)讀到中進(jìn)行處理即可。該器件外接電路簡(jiǎn)單,工作頻帶很寬,與A/D轉(zhuǎn)換器級(jí)聯(lián),可以對(duì)任何復(fù)雜波形的有效值、平均值、均方值、絕對(duì)值進(jìn)行采樣,測(cè)量誤差小于±(0.2%讀數(shù)+0.5 mV),可以達(dá)到很高的測(cè)量精度。



          關(guān)鍵詞: 掃頻儀 FPGA 單片機(jī)

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