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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于FPGA的高精度頻率線性F/V轉(zhuǎn)換系統(tǒng)設(shè)計

          基于FPGA的高精度頻率線性F/V轉(zhuǎn)換系統(tǒng)設(shè)計

          作者: 時間:2014-07-07 來源:網(wǎng)絡(luò) 收藏

            摘要 設(shè)計了一種線性系統(tǒng)。傳感器輸出的脈沖頻率信號經(jīng)信號調(diào)理電路調(diào)理后輸入測量脈沖信號的頻率,根據(jù)系統(tǒng)精度要求,需設(shè)計Q格式定點運算,測得的頻率經(jīng)定點運算后得到與頻率大小成線性關(guān)系的D/A轉(zhuǎn)換的數(shù)字量,控制串行輸出相應(yīng)的電壓值。實驗結(jié)果表明,系統(tǒng)的轉(zhuǎn)換精度優(yōu)于0.1%,改變系統(tǒng)的設(shè)計參數(shù)可實現(xiàn)更高精度的頻率信號到電壓信號的轉(zhuǎn)換。

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

            關(guān)鍵詞 ;精度;FPGA;;

            脈沖型流量傳感器是流量儀表中一類主要的流量傳感器,如渦輪流量傳感器、渦街流量傳感器、遠傳型容積式流量計等。這類傳感器需將被測參數(shù)轉(zhuǎn)化為電模擬量顯示出來。頻率電壓轉(zhuǎn)換器作為一種功能器件,在測量儀器、自動控制、遙感遙測以及信號傳輸各個領(lǐng)域都有著廣泛的應(yīng)用。傳統(tǒng)的器多采用模擬電路或單片機實現(xiàn)。采用模擬電路設(shè)計的F/V轉(zhuǎn)換器多采用如LM331、AD650等實現(xiàn)頻率信號到電壓信號的轉(zhuǎn)換,設(shè)計的系統(tǒng)具有轉(zhuǎn)換精度不高、待測頻率范圍固定、誤差較大的缺點;單片機設(shè)計的F/V轉(zhuǎn)換系統(tǒng)雖然有一定程度的改善,但由于自身測頻基準時鐘頻率的限制,仍然無法滿足高精度轉(zhuǎn)換的要求。本文根據(jù)系統(tǒng)要求:流量傳感器輸出的脈沖信號頻率范圍10~3 000 Hz,輸出模擬電壓信號范圍0~5 V,精度優(yōu)于0.1%。采用FPGA實現(xiàn)脈沖信號頻率的測量,設(shè)計的系統(tǒng)滿足要求。

            1 系統(tǒng)分析

            F/V轉(zhuǎn)換的誤差主要存在于計數(shù)測量信號周期時的誤差、運算時的截位誤差和D/A變換器的量化誤差等。

            首先考慮測量周期的誤差:選擇最大頻率信號3 000 Hz,其周期為333.3μs,0.1%誤差是333.3 ns。選用12 MHz時鐘作為時基信號,周期測量誤差為83.33 ns,對應(yīng)83.33×5×0.1%/333.33=1.3 mV,誤差余量為3.7 mV。

            M位D/A轉(zhuǎn)換器的誤差為5 000/2(M+1)mV,所以M只需>10位就可以滿足精度要求,考慮到D/A自身的誤差,可以選擇12位以上且INL<1 LSB的D/A,以保證轉(zhuǎn)換精度。

            輸入的頻率信號最小為10 Hz,所以最大計數(shù)值為1 200 000,需要21位長的計數(shù)器。

            考慮截位誤差,使用Matlab仿真,得到使用12 MHz計數(shù)頻率12位D/A時,需要使用才能保證系統(tǒng)精度,誤差曲線如圖1所示。使用Q8格式作定點運算時只需先將數(shù)據(jù)轉(zhuǎn)換為Q8定點數(shù),然后進行計算,最后將結(jié)果轉(zhuǎn)換回一般格式即可(Q格式:小數(shù)點位于第n位元之右側(cè),稱為Qn格式)。

            

           

            2 系統(tǒng)總體結(jié)構(gòu)

            系統(tǒng)整體結(jié)構(gòu)如圖2所示。FPGA測量經(jīng)隔離整形后的脈沖信號的頻率,經(jīng)、截位等處理后得到D/A轉(zhuǎn)換的數(shù)字量,D/A輸出的電壓信號經(jīng)RC濾波后得到最終與輸入脈沖頻率大小成線性關(guān)系的電壓信號。由于流量傳感器輸出的脈沖信號頻率可能會在10~3 000 Hz范圍連續(xù)變化,不一定是固定值,為保證系統(tǒng)轉(zhuǎn)換精度,利用FPGA計數(shù)連續(xù)兩個待測脈沖上升沿間的時基脈沖個數(shù)的方法得到脈沖信號的周期,周期的倒數(shù)即為脈沖信號的頻率。對固定頻率的測量較為簡單,本文主要討論對變化頻率的測量,系統(tǒng)可用于對固定頻率的測量。由于FPGA對待測脈沖信號的處理時間遠小于待測脈沖信號的周期,所以在下一個脈沖到來之前,F(xiàn)PGA已經(jīng)完成對前一個脈沖的處理。

            

           

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

            3.1 信號調(diào)理電路

            為保障系統(tǒng)對信號源的抗干擾能力,傳感器輸出的脈沖信號需經(jīng)光電隔離并整形后再送入FPGA處理。信號調(diào)理芯片采用Silicon Labs的低功耗6通道數(shù)字隔離器Si8660BD—B—IS,可實現(xiàn)多路信號同時處理,它具有抗電磁干擾能力強、功耗低、隔離電壓高、壽命長的特點,且具有施密特整形電路的功能。其內(nèi)部電路如圖3所示,信號調(diào)理電路如圖4所示。

            

           

            3.2 D/A轉(zhuǎn)換電路

            數(shù)模轉(zhuǎn)換器是一種數(shù)字和模擬混合信號處理電路。D/A轉(zhuǎn)換芯片采用串行,+5 V電源供電,12 bit精度,INL為±0.35 LSB,軌至軌電壓輸出,輸出電壓建立時間最大為5μs,輸出電阻1Ω,滿足系統(tǒng)要求。設(shè)計的D/A轉(zhuǎn)換電路如圖5所示。

            

           

            3.3 外部參考電壓電路及RC濾波電路

            出于對精度及穩(wěn)定性的要求,希望參考電壓源盡量對供電電源電壓和工藝參數(shù)以及芯片的工作溫度是相對獨立的。Ref5050為BB公司生產(chǎn)的高精度+5 V輸出穩(wěn)壓模塊,最大溫度漂移為8×10-6/℃,輸出最大誤差電壓為輸出總電壓的0.1%,輸入電壓范圍為5.2~18 V,輸出電流范圍為±10 mA,常作為電路中的基準電壓源。外部參考電壓電路如圖6所示。

            

           

            RC濾波電路較簡單,可用電阻電容構(gòu)成的一階RC濾波電路即可,在此不再贅述。

            3.4 FPGA內(nèi)部電路結(jié)構(gòu)

            FPGA選用Altera公司EP2C5T144C8 芯片,5000LE、117 kbit片上RAM、26乘法器、2PLL,滿足系統(tǒng)需求。

            FPGA的主要工作是除法運算,當計數(shù)器給出被測信號單個周期內(nèi)的高頻時鐘數(shù)N,取預(yù)存在FPGA中的轉(zhuǎn)換系數(shù)做除法運算;再對除法的結(jié)果值作M位截位,送外部M位D/A轉(zhuǎn)換器轉(zhuǎn)換,則得到相應(yīng)的電壓值。FPGA內(nèi)部電路結(jié)構(gòu)如圖7所示。

          模擬信號相關(guān)文章:什么是模擬信號


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


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


          隔離器相關(guān)文章:隔離器原理
          塵埃粒子計數(shù)器相關(guān)文章:塵埃粒子計數(shù)器原理
          脈沖點火器相關(guān)文章:脈沖點火器原理
          熱式質(zhì)量流量計相關(guān)文章:熱式質(zhì)量流量計原理
          流量計相關(guān)文章:流量計原理

          上一頁 1 2 下一頁

          評論


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