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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 多功能計數(shù)器

          多功能計數(shù)器

          作者:黃華 時間:2012-09-17 來源:電子產(chǎn)品世界 收藏

            摘要 :本文設計了一種以超低功耗MSP430F149為控制器,以高速的實現(xiàn)等精度測量正弦信號的頻率、周期和相位差的多功能。在設計中依據(jù)等精度計數(shù)原理,應用的數(shù)學運算和控制功能,利用f=1/T實現(xiàn)了頻率和周期的統(tǒng)一處理;采用相位-時間轉(zhuǎn)換方法,根據(jù)完成了相位差測量。此外,利用外加模擬通道,實現(xiàn)了對正弦波小信號的預處理,使得該能夠在較寬的頻率范圍和幅度范圍內(nèi)進行測量。

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

            系統(tǒng)方案

            方案1:采用實現(xiàn)。被測信號經(jīng)調(diào)理后送入單片機,利用其內(nèi)部的完成計數(shù),然后再進行數(shù)據(jù)處理和顯示,但單片機在處理高速信號時略顯吃力。

            方案2:利用對調(diào)理后的被測信號實現(xiàn)高速計數(shù),單片機軟件執(zhí)行高精度浮點數(shù)運算并顯示。單片機完成系統(tǒng)的數(shù)據(jù)處理、邏輯控制和人機交互功能;大規(guī)?,F(xiàn)場可編程器件()實現(xiàn)外圍計數(shù)功能。電路框圖如圖1所示?! ?/p>

           

            方案比較與選擇:方案1用外圍電路配合單片機實現(xiàn)測量功能,信號頻率比較高時需外加分頻電路,影響測量精度和系統(tǒng)穩(wěn)定性,且單片機任務繁重,給軟件設計和調(diào)試工作帶來不便;方案2用一片高度集成的可編程邏輯器件可完成有關(guān)電路所有模塊的設計,大大降低了電路復雜度,減少引線信號間的干擾,提高電路的可靠性和穩(wěn)定性。加上單片機控制,應用單片機的數(shù)學運算和控制功能,輔以有效的軟件濾波算法,能夠進一步提高測量精度,且控制靈活、易于擴展和調(diào)試簡單,能夠達到題目要求。故本設計采用方案2,系統(tǒng)框圖如圖1所示。

            理論分析與計算

            頻率和周期測量方法分析

            由于頻率和周期之間存在倒數(shù)關(guān)系(f=1/T),所以只要測得兩者中的一個,另一個可通過計算求得。

            (1)直接測量法:對測頻在低頻端1Hz時,若閘門時間為1s,其±1量化誤差大到100%。為了滿足測試精度的要求,顯然不能采用直接測量法;
            (2)直接與間接測量相結(jié)合的方法:需對被測頻率和中界頻率的關(guān)系進行判斷,在中界頻率附近仍不能達到較高的測量精度;
            (3)等精度測量法:圖2為等精度測頻、測周原理方框圖?! ?/p>

          塵埃粒子計數(shù)器相關(guān)文章:塵埃粒子計數(shù)器原理


          關(guān)鍵詞: 單片機 FPGA 計數(shù)器 201209

          評論


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