基于FPGA的高精度頻率電壓轉(zhuǎn)換系統(tǒng)設計實現(xiàn)
摘要 設計了一種線性F/V轉(zhuǎn)換系統(tǒng)。傳感器輸出的脈沖頻率信號經(jīng)信號調(diào)理電路調(diào)理后輸入FPGA,FPGA測量脈沖信號的頻率,根據(jù)系統(tǒng)精度要求,需設計Q格式定點運算,測得的頻率經(jīng)FPGA定點運算后得到與頻率大小成線性關系的D/A轉(zhuǎn)換的數(shù)字量,控制串行DAC7551輸出相應的電壓值。實驗結(jié)果表明,系統(tǒng)的轉(zhuǎn)換精度優(yōu)于0.1%,改變系統(tǒng)的設計參數(shù)可實現(xiàn)更高精度的頻率信號到電壓信號的轉(zhuǎn)換。
本文引用地址:http://2s4d.com/article/201610/308499.htm關鍵詞 F/V轉(zhuǎn)換;精度;FPGA;Q8定點運算;DAC7551
脈沖型流量傳感器是流量儀表中一類主要的流量傳感器,如渦輪流量傳感器、渦街流量傳感器、遠傳型容積式流量計等。這類傳感器需將被測參數(shù)轉(zhuǎn)化為電模擬量顯示出來。頻率電壓轉(zhuǎn)換器作為一種功能器件,在測量儀器、自動控制、遙感遙測以及信號傳輸各個領域都有著廣泛的應用。傳統(tǒng)的F/V轉(zhuǎn)換器多采用模擬電路或單片機實現(xiàn)。采用模擬電路設計的F/V轉(zhuǎn)換器多采用如LM331、AD650等實現(xiàn)頻率信號到電壓信號的轉(zhuǎn)換,設計的系統(tǒng)具有轉(zhuǎn)換精度不高、待測頻率范圍固定、誤差較大的缺點;單片機設計的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)脈沖信號頻率的測量,設計的系統(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,對應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位以上且INL1 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ù),然后進行計算,最后將結(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濾波后得到最終與輸入脈沖頻率大小成線性關系的電壓信號。由于流量傳感器輸出的脈沖信號頻率可能會在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)電路設計
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)要求。設計的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,取預存在FPGA中的轉(zhuǎn)換系數(shù)做除法運算;再對除法的結(jié)果值作M位截位,送外部M位D/A轉(zhuǎn)換器轉(zhuǎn)換,則得到相應的電壓值。FPGA內(nèi)部電路結(jié)構(gòu)如圖7所示。
4 系統(tǒng)測試
選擇高頻時基信號f基對輸入信號f的周期計數(shù),得到計數(shù)值N,依據(jù)線性轉(zhuǎn)換關系,得到F/V的轉(zhuǎn)換如式(1)所示。式中,M是外部D/A轉(zhuǎn)換器的位數(shù),f量是輸入脈沖信號的量程即3 000 Hz。
根據(jù)式(1)得到的測試結(jié)果如表1所示。輸入脈沖信號頻率范圍10~3 000 Hz,D/A芯片采用DAC7551,12 bit精度,采用Q8定點運算保證轉(zhuǎn)換精度。
5 結(jié)束語
目前在測量領域,脈沖信號既可作為已知的激勵信號,又可作為未知的被測信號。作為未知的被測信號,對其參數(shù)測試越顯重要。文中設計的F/V轉(zhuǎn)換器采用以FPGA為核心的模塊化設計方法,具有測試參數(shù)靈活配置、硬件電路簡單、容易實現(xiàn)、測頻范圍寬、轉(zhuǎn)換精度高等特點。根據(jù)系統(tǒng)需求,可靈活配置系統(tǒng)的參數(shù)。增加時基頻率、選用精度更高的D/A轉(zhuǎn)換芯片、增大Q運算的階數(shù)都可以實現(xiàn)更高精度的F/V轉(zhuǎn)換。與傳統(tǒng)實現(xiàn)方法相比,靈活性、測頻精度、轉(zhuǎn)換精度都得到了大幅提升。
評論