基于FPGA的高精度頻率線性F/V轉(zhuǎn)換系統(tǒng)設(shè)計
摘要 設(shè)計了一種線性F/V轉(zhuǎn)換系統(tǒng)。傳感器輸出的脈沖頻率信號經(jīng)信號調(diào)理電路調(diào)理后輸入FPGA,FPGA測量脈沖信號的頻率,根據(jù)系統(tǒng)精度要求,需設(shè)計Q格式定點運算,測得的頻率經(jīng)FPGA定點運算后得到與頻率大小成線性關(guān)系的D/A轉(zhuǎn)換的數(shù)字量,控制串行DAC7551輸出相應(yīng)的電壓值。實驗結(jié)果表明,系統(tǒng)的轉(zhuǎn)換精度優(yōu)于0.1%,改變系統(tǒng)的設(shè)計參數(shù)可實現(xiàn)更高精度的頻率信號到電壓信號的轉(zhuǎn)換。
本文引用地址:http://m.butianyuan.cn/article/249278.htm關(guān)鍵詞 F/V轉(zhuǎn)換;精度;FPGA;Q8定點運算;DAC7551
脈沖型流量傳感器是流量儀表中一類主要的流量傳感器,如渦輪流量傳感器、渦街流量傳感器、遠(yuǎn)傳型容積式流量計等。這類傳感器需將被測參數(shù)轉(zhuǎn)化為電模擬量顯示出來。頻率電壓轉(zhuǎn)換器作為一種功能器件,在測量儀器、自動控制、遙感遙測以及信號傳輸各個領(lǐng)域都有著廣泛的應(yīng)用。傳統(tǒng)的F/V轉(zhuǎn)換器多采用模擬電路或單片機實現(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)雖然有一定程度的改善,但由于自身測頻基準(zhǔn)時鐘頻率的限制,仍然無法滿足高精度轉(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時,需要使用Q8定點運算才能保證系統(tǒng)精度,誤差曲線如圖1所示。使用Q8格式作定點運算時只需先將數(shù)據(jù)轉(zhuǎn)換為Q8定點數(shù),然后進(jìn)行計算,最后將結(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)Q8定點運算、截位等處理后得到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對待測脈沖信號的處理時間遠(yuǎn)小于待測脈沖信號的周期,所以在下一個脈沖到來之前,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)換芯片采用串行DAC7551,+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,常作為電路中的基準(zhǔn)電壓源。外部參考電壓電路如圖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的主要工作是除法運算,當(dāng)計數(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)文章:流量計原理
評論