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

          新聞中心

          EEPW首頁 > 模擬技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于FPGA和單片機(jī)的多功能計(jì)數(shù)器設(shè)計(jì)

          基于FPGA和單片機(jī)的多功能計(jì)數(shù)器設(shè)計(jì)

          作者: 時(shí)間:2013-05-22 來源:網(wǎng)絡(luò) 收藏

          一、系統(tǒng)方案

            方案1:采用中小規(guī)模數(shù)字電路構(gòu)成系統(tǒng),由計(jì)數(shù)器構(gòu)成主要的測量模塊。用定時(shí)器組成主要的控制電路。此方案軟件設(shè)計(jì)簡單,但外圍芯片過多,且頻帶窄,實(shí)現(xiàn)起來較復(fù)雜,功能不強(qiáng),而且不能程控和擴(kuò)展。

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

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

          基于FPGA和單片機(jī)的多功能計(jì)數(shù)器設(shè)計(jì) 
           圖1 方案3系統(tǒng)框圖

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

            二、理論分析與計(jì)算

            1、頻率和周期測量方法分析

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

            1)直接測量法 對(duì)測頻在低頻端1Hz時(shí),若閘門時(shí)間為1s,其 ±1量化誤差大到100%。為了滿足測試精度的要求,顯然不能采用直接測量法;

            2)直接與間接測量相結(jié)合的方法 需對(duì)被測頻率和中界頻率的關(guān)系進(jìn)行判斷,在中界頻率附近仍不能達(dá)到較高的測量精度;

            3)等精度測量法 圖2為等精度測頻、測周原理方框圖。

          基于FPGA和單片機(jī)的多功能計(jì)數(shù)器設(shè)計(jì)  
          圖2 等精度測頻原理圖
          基于FPGA和單片機(jī)的多功能計(jì)數(shù)器設(shè)計(jì)

          2 相位差測量方法分析

            相位差的測量有很多種方法,如相位—電壓轉(zhuǎn)換法、數(shù)值取樣法和相位差—時(shí)間轉(zhuǎn)換法等。其中相位差—時(shí)間轉(zhuǎn)換法實(shí)際上是測量兩個(gè)正弦信號(hào)波形上兩個(gè)相應(yīng)點(diǎn)之間的時(shí)間間隔t,若兩被測信號(hào)周期均為T,則時(shí)間間隔t對(duì)應(yīng)的相位差為:

          基于FPGA和單片機(jī)的多功能計(jì)數(shù)器設(shè)計(jì)

            如果只測量一個(gè)周期的t和T,無法滿足寬頻帶被測信號(hào)的測量精度。如果時(shí)間間隔t和周期T測量值比較準(zhǔn)確,再通過單片機(jī)對(duì)實(shí)測數(shù)據(jù)進(jìn)行高精度浮點(diǎn)數(shù)運(yùn)算及誤差修正,就可以達(dá)到精度要求。按照這一思路,結(jié)合上面對(duì)等精度測頻、測周原理及誤差的分析可知,此方法是切實(shí)可行的。

            設(shè)門控信號(hào)的開啟時(shí)間為tc ,計(jì)數(shù)值為N,則tc=NT0 (5)

            式中T0 為時(shí)標(biāo)信號(hào)的周期,由(5)式和(6)式得

          基于FPGA和單片機(jī)的多功能計(jì)數(shù)器設(shè)計(jì)

            式中f為被測信號(hào)頻率,10HZ≤f≤100kHZ ,f0 為標(biāo)準(zhǔn)時(shí)基,N為計(jì)數(shù)值。

            3 寬帶通道放大器分析

            因?yàn)槿龢O管放大電路參數(shù)選擇復(fù)雜,低頻特性不好,抗噪性能差。因此,設(shè)計(jì)中采用了寬頻帶、低噪聲、高輸人阻抗的運(yùn)算放大器組成高精度放大電路,以獲得良好的頻率特性和抗干擾能力。輸入通道中的放大級(jí)設(shè)計(jì)主要考慮增益和帶寬的指標(biāo)。題目要求能夠測量信號(hào)幅度峰值范圍約為14mv~7.07v。這個(gè)范圍是比較寬的,既涉及到小信號(hào)放大,又要考慮比較器輸入電壓限制問題,因此,應(yīng)根據(jù)信號(hào)幅度大小分段選擇放大器的增益。還有就是要滿足運(yùn)放增益帶寬積的要求。

            三、電路與程序設(shè)計(jì)

            1 輸入通道電路設(shè)計(jì)

            待測頻率信號(hào)由于衰減、傳輸干擾等原因,不能直接用于測量,需要經(jīng)過處理后才能適合邏輯控制器的輸入。輸入通道組成框圖如圖3所示。

          基于FPGA和單片機(jī)的多功能計(jì)數(shù)器設(shè)計(jì) 
           圖3 輸入通道組成框圖
          基于FPGA和單片機(jī)的多功能計(jì)數(shù)器設(shè)計(jì)

            圖4 放大電路原理

            輸入信號(hào)經(jīng)電壓跟隨器緩沖后進(jìn)入放大通路,靈敏度控制采用單片機(jī)控制繼電器的通斷來選擇不同的放大倍數(shù),被放大的信號(hào)經(jīng)比較器輸出與被測信號(hào)同頻率的方波計(jì)數(shù)信號(hào)若要測相位差,則同頻信號(hào)經(jīng)放大后進(jìn)入移相網(wǎng)絡(luò),然后經(jīng)過零比較得到移相后的計(jì)數(shù)信號(hào)。

            比較器采用滯回接法,詳細(xì)電路見附錄一,從而避免了過零點(diǎn)信號(hào)的毛刺造成整形信號(hào)的誤翻轉(zhuǎn)。其中放大電路基本原理如圖4所示,其中Rf為反饋電阻,R為輸入端電阻,有

            Uo = - Ui × ( Rf / R ) (7)

            由式(7)知,調(diào)節(jié)Rf的大小即可調(diào)整電路的增益。

            移相網(wǎng)絡(luò)電路如圖5所示。

          基于FPGA和單片機(jī)的多功能計(jì)數(shù)器設(shè)計(jì) 
          圖5 移相網(wǎng)絡(luò)電路圖

          基于FPGA和單片機(jī)的多功能計(jì)數(shù)器設(shè)計(jì)

            圖6 功能實(shí)現(xiàn)框圖

            對(duì)圖5電路分析知,兩級(jí)網(wǎng)絡(luò)的振幅特性均為A(ω)=1 ,前級(jí)網(wǎng)絡(luò)相頻特性為

          前級(jí)網(wǎng)絡(luò)相頻特性

          可見此為超前網(wǎng)絡(luò);后級(jí)網(wǎng)絡(luò)相頻特性為

          后級(jí)網(wǎng)絡(luò)相頻特性

            所以相位發(fā)生滯后,通過改變阻值r即可實(shí)現(xiàn)相移量調(diào)整。兩級(jí)級(jí)聯(lián)后移相范圍為0~360°。

          2 FPGA 功能實(shí)現(xiàn)模塊

            FPGA實(shí)現(xiàn)部分主要分為信號(hào)同步處理,等精度計(jì)數(shù)和數(shù)據(jù)處理及傳輸3部分,如圖6所示。FPGA采用Altera公司的EP2gC5Q208C8,經(jīng)分析知能夠?qū)崿F(xiàn)題目要求。

            (1) 同步處理電路 待測信號(hào)從外時(shí)鐘域進(jìn)入,屬于異步信號(hào),對(duì)測量精度乃至整個(gè)系統(tǒng)的穩(wěn)定都有很大的影響,在這里,先對(duì)輸入信號(hào)進(jìn)行一次采樣進(jìn)行消抖,濾去可能存在的毛刺, 然后進(jìn)行一級(jí)同步處理,盡可能有效地對(duì)異步信號(hào)進(jìn)行同步處理。

            (2)計(jì)數(shù)測量 采用等精度法測頻率,利用相位~時(shí)間轉(zhuǎn)換法進(jìn)行相位差測量,并將測得數(shù)據(jù)進(jìn)行寄存。

            (3) 數(shù)據(jù)存儲(chǔ) 將得到的并行數(shù)據(jù)轉(zhuǎn)換為串行數(shù)據(jù) 再通過時(shí)序控制將數(shù)據(jù)寫入雙口RAM,然后單片機(jī)以其自身的時(shí)鐘頻率進(jìn)行讀取,從而有效地消除跨時(shí)鐘域數(shù)據(jù)處理時(shí)所造成的不穩(wěn)定影響。.

            3 單片機(jī)控制模塊

            在本系統(tǒng)中,單片機(jī)采用MSP430F149,主要完成放大通路靈敏度選擇、讀取實(shí)測數(shù)據(jù)及處理和鍵盤與顯示接口等三種功能。其中靈敏度選擇是通過控制繼電器的通斷來實(shí)現(xiàn)通路切換;按鍵采用紅外遙控方式,其中發(fā)射部分采用 PT2221,接收部分采用高靈敏度、高度集成的一種新型紅外遙控接收光電模塊HS0038,然后通過單片機(jī)直接軟件解碼處理,進(jìn)而執(zhí)行與之對(duì)應(yīng)的中斷服務(wù)子程序;因?yàn)橐瑫r(shí)顯示較多數(shù)據(jù),所以我們采用字符型液晶顯示。

            4 主程序流程圖

            單片機(jī)系統(tǒng)主要流程圖如圖7所示,具體程序見附錄三。

          基于FPGA和單片機(jī)的<a class=多功能計(jì)數(shù)器設(shè)計(jì)" src="http://www.elecfans.com/uploads/allimg/120716/10272

          fpga相關(guān)文章:fpga是什么


          手機(jī)電池相關(guān)文章:手機(jī)電池修復(fù)


          單片機(jī)相關(guān)文章:單片機(jī)教程


          單片機(jī)相關(guān)文章:單片機(jī)視頻教程


          單片機(jī)相關(guān)文章:單片機(jī)工作原理


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

          上一頁 1 2 下一頁

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