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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于51單片機和CPLD的數(shù)字頻率計的設(shè)計

          基于51單片機和CPLD的數(shù)字頻率計的設(shè)計

          作者: 時間:2011-11-16 來源:網(wǎng)絡(luò) 收藏

            等精度測頻原理

            本系統(tǒng)采用等精度測頻的原理來測量頻率,其原理如圖2所示。

            基于單片機和CPLD的數(shù)字頻率計的設(shè)計

            圖2 等精度測頻原理圖

            圖2中的門控信號是可預(yù)置的寬度為Tpr的一個脈沖。CNT1和CNT2是兩個可控計數(shù)器。標(biāo)準(zhǔn)頻率信號從CNT1的時鐘輸入端FS輸入,其頻率為Fs;被測信號經(jīng)整形后從CNT2的時鐘輸入端FIN輸入,設(shè)其實際頻率為Fxe,測量頻率為Fx。

             當(dāng)門控信號為高電平時,被測信號的上沿通過D觸發(fā)器的Q端同時啟動計數(shù)器CNT1和CNT2。對被測信號Fx和標(biāo)準(zhǔn)頻率信號Fs同時計數(shù)。當(dāng)門控信號為 低電平時,隨后而至的被測信號的上沿將使這兩個計數(shù)器同時關(guān)閉。設(shè)在一次門控時間Tpr中對被測信號計數(shù)值為Nx,對標(biāo)準(zhǔn)頻率信號的計數(shù)值為Ns,則:

            Fx/Nx=Fs/Ns(標(biāo)準(zhǔn)頻率和被測頻率的門寬時間Tpr完全相同)就可以得到被測信號的頻率值為:

            Fx=(Fs/Ns)×Nx

          系統(tǒng)硬件電路設(shè)計

            1 系統(tǒng)總體設(shè)計

            本系統(tǒng)的硬件電路包括鍵盤控制模塊、顯示模塊、輸入信號整形模塊以及單片機主控和模塊。鍵盤控制模塊設(shè)置5個功能鍵和3個時間選擇鍵,鍵值的讀入采用一片74LS165來完成,顯示模塊用8只74LS164完成LED的串行顯示。

             系統(tǒng)由一片完成各種測試功能,對標(biāo)準(zhǔn)頻率和被測信號進行計數(shù)。單片機對整個測試系統(tǒng)進行控制,包括對鍵盤信號的讀入與處理;對測量過程 的控制、測量結(jié)果數(shù)據(jù)的處理;最后將測量結(jié)果送LED顯示輸出。被測信號整形電路主要對被測信號進行限幅、放大、再經(jīng)施密特觸發(fā)器整形后送入CPLD。用 50MHz的有源晶振作為CPLD的測試標(biāo)準(zhǔn)頻率。單片機由外接12MHz標(biāo)準(zhǔn)晶振提供時鐘電路。系統(tǒng)組成原理如圖3所示。

            基于單片機和CPLD的數(shù)字頻率計的設(shè)計

            圖3 系統(tǒng)原理框圖

            2 CPLD邏輯模塊設(shè)計

            根據(jù)等精度測頻原理,利用VHDL實現(xiàn)的測頻頂層電路模塊邏輯結(jié)構(gòu)如圖4所示。

            基于單片機和CPLD的數(shù)字頻率計的設(shè)計

            圖4 系統(tǒng)頂層模塊圖

            該模塊由4個子模塊構(gòu)成。其中CONTROL1為測頻或測周期控制模塊;CONTROL2為測脈寬和占空比控制模塊;CHOICE為自校與測量選擇模塊;COUNT為基準(zhǔn)頻率和被測頻率計數(shù)器模塊。



          評論


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