基于FPGA的高精度頻率電壓轉(zhuǎn)換系統(tǒng)設(shè)計(jì)實(shí)現(xiàn)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
摘要 設(shè)計(jì)了一種線性F/V轉(zhuǎn)換系統(tǒng)。傳感器輸出的脈沖頻率信號(hào)經(jīng)信號(hào)調(diào)理電路調(diào)理后輸入FPGA,F(xiàn)PGA測(cè)量脈沖信號(hào)的頻率,根據(jù)系統(tǒng)精度要求,需設(shè)計(jì)Q格式定點(diǎn)運(yùn)算,測(cè)得的頻率經(jīng)FPGA定點(diǎn)運(yùn)算后得到與頻率大小成線性關(guān)系的D/A轉(zhuǎn)換的數(shù)字量,控制串行DAC7551輸出相應(yīng)的電壓值。實(shí)驗(yàn)結(jié)果表明,系統(tǒng)的轉(zhuǎn)換精度優(yōu)于0.1%,改變系統(tǒng)的設(shè)計(jì)參數(shù)可實(shí)現(xiàn)更高精度的頻率信號(hào)到電壓信號(hào)的轉(zhuǎn)換。
關(guān)鍵詞 F/V轉(zhuǎn)換;精度;FPGA;Q8定點(diǎn)運(yùn)算;DAC7551
脈沖型流量傳感器是流量?jī)x表中一類(lèi)主要的流量傳感器,如渦輪流量傳感器、渦街流量傳感器、遠(yuǎn)傳型容積式流量計(jì)等。這類(lèi)傳感器需將被測(cè)參數(shù)轉(zhuǎn)化為電模擬量顯示出來(lái)。頻率電壓轉(zhuǎn)換器作為一種功能器件,在測(cè)量?jī)x器、自動(dòng)控制、遙感遙測(cè)以及信號(hào)傳輸各個(gè)領(lǐng)域都有著廣泛的應(yīng)用。傳統(tǒng)的F/V轉(zhuǎn)換器多采用模擬電路或單片機(jī)實(shí)現(xiàn)。采用模擬電路設(shè)計(jì)的F/V轉(zhuǎn)換器多采用如LM331、AD650等實(shí)現(xiàn)頻率信號(hào)到電壓信號(hào)的轉(zhuǎn)換,設(shè)計(jì)的系統(tǒng)具有轉(zhuǎn)換精度不高、待測(cè)頻率范圍固定、誤差較大的缺點(diǎn);單片機(jī)設(shè)計(jì)的F/V轉(zhuǎn)換系統(tǒng)雖然有一定程度的改善,但由于自身測(cè)頻基準(zhǔn)時(shí)鐘頻率的限制,仍然無(wú)法滿足高精度轉(zhuǎn)換的要求。本文根據(jù)系統(tǒng)要求:流量傳感器輸出的脈沖信號(hào)頻率范圍10~3 000 Hz,輸出模擬電壓信號(hào)范圍0~5 V,精度優(yōu)于0.1%。采用FPGA實(shí)現(xiàn)脈沖信號(hào)頻率的測(cè)量,設(shè)計(jì)的系統(tǒng)滿足要求。
1 系統(tǒng)分析
F/V轉(zhuǎn)換的誤差主要存在于計(jì)數(shù)測(cè)量信號(hào)周期時(shí)的誤差、運(yùn)算時(shí)的截位誤差和D/A變換器的量化誤差等。
首先考慮測(cè)量周期的誤差:選擇最大頻率信號(hào)3 000 Hz,其周期為333.3μs,0.1%誤差是333.3 ns。選用12 MHz時(shí)鐘作為時(shí)基信號(hào),周期測(cè)量誤差為83.33 ns,對(duì)應(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)換精度。
輸入的頻率信號(hào)最小為10 Hz,所以最大計(jì)數(shù)值為1 200 000,需要21位長(zhǎng)的計(jì)數(shù)器。
考慮截位誤差,使用Matlab仿真,得到使用12 MHz計(jì)數(shù)頻率12位D/A時(shí),需要使用Q8定點(diǎn)運(yùn)算才能保證系統(tǒng)精度,誤差曲線如圖1所示。使用Q8格式作定點(diǎn)運(yùn)算時(shí)只需先將數(shù)據(jù)轉(zhuǎn)換為Q8定點(diǎn)數(shù),然后進(jìn)行計(jì)算,最后將結(jié)果轉(zhuǎn)換回一般格式即可(Q格式:小數(shù)點(diǎn)位于第n位元之右側(cè),稱(chēng)為Qn格式)。
2 系統(tǒng)總體結(jié)構(gòu)
系統(tǒng)整體結(jié)構(gòu)如圖2所示。FPGA測(cè)量經(jīng)隔離整形后的脈沖信號(hào)的頻率,經(jīng)Q8定點(diǎn)運(yùn)算、截位等處理后得到D/A轉(zhuǎn)換的數(shù)字量,D/A輸出的電壓信號(hào)經(jīng)RC濾波后得到最終與輸入脈沖頻率大小成線性關(guān)系的電壓信號(hào)。由于流量傳感器輸出的脈沖信號(hào)頻率可能會(huì)在10~3 000 Hz范圍連續(xù)變化,不一定是固定值,為保證系統(tǒng)轉(zhuǎn)換精度,利用FPGA計(jì)數(shù)連續(xù)兩個(gè)待測(cè)脈沖上升沿間的時(shí)基脈沖個(gè)數(shù)的方法得到脈沖信號(hào)的周期,周期的倒數(shù)即為脈沖信號(hào)的頻率。對(duì)固定頻率的測(cè)量較為簡(jiǎn)單,本文主要討論對(duì)變化頻率的測(cè)量,系統(tǒng)可用于對(duì)固定頻率的測(cè)量。由于FPGA對(duì)待測(cè)脈沖信號(hào)的處理時(shí)間遠(yuǎn)小于待測(cè)脈沖信號(hào)的周期,所以在下一個(gè)脈沖到來(lái)之前,F(xiàn)PGA已經(jīng)完成對(duì)前一個(gè)脈沖的處理。
3 系統(tǒng)電路設(shè)計(jì)
3.1 信號(hào)調(diào)理電路
為保障系統(tǒng)對(duì)信號(hào)源的抗干擾能力,傳感器輸出的脈沖信號(hào)需經(jīng)光電隔離并整形后再送入FPGA處理。信號(hào)調(diào)理芯片采用Silicon Labs的低功耗6通道數(shù)字隔離器Si8660BD—B—IS,可實(shí)現(xiàn)多路信號(hào)同時(shí)處理,它具有抗電磁干擾能力強(qiáng)、功耗低、隔離電壓高、壽命長(zhǎng)的特點(diǎn),且具有施密特整形電路的功能。其內(nèi)部電路如圖3所示,信號(hào)調(diào)理電路如圖4所示。
3.2 D/A轉(zhuǎn)換電路
數(shù)模轉(zhuǎn)換器是一種數(shù)字和模擬混合信號(hào)處理電路。D/A轉(zhuǎn)換芯片采用串行DAC7551,+5 V電源供電,12 bit精度,INL為±0.35 LSB,軌至軌電壓輸出,輸出電壓建立時(shí)間最大為5μs,輸出電阻1Ω,滿足系統(tǒng)要求。設(shè)計(jì)的D/A轉(zhuǎn)換電路如圖5所示。
3.3 外部參考電壓電路及RC濾波電路
出于對(duì)精度及穩(wěn)定性的要求,希望參考電壓源盡量對(duì)供電電源電壓和工藝參數(shù)以及芯片的工作溫度是相對(duì)獨(dú)立的。Ref5050為BB公司生產(chǎn)的高精度+5 V輸出穩(wěn)壓模塊,最大溫度漂移為8×10-6/℃,輸出最大誤差電壓為輸出總電壓的0.1%,輸入電壓范圍為5.2~18 V,輸出電流范圍為±10 mA,常作為電路中的基準(zhǔn)電壓源。外部參考電壓電路如圖6所示。
RC濾波電路較簡(jiǎn)單,可用電阻電容構(gòu)成的一階RC濾波電路即可,在此不再贅述。
3.4 FPGA內(nèi)部電路結(jié)構(gòu)
FPGA選用Altera公司EP2C5T144C8 芯片,5000LE、117 kbit片上RAM、26乘法器、2PLL,滿足系統(tǒng)需求。
FPGA的主要工作是除法運(yùn)算,當(dāng)計(jì)數(shù)器給出被測(cè)信號(hào)單個(gè)周期內(nèi)的高頻時(shí)鐘數(shù)N,取預(yù)存在FPGA中的轉(zhuǎn)換系數(shù)做除法運(yùn)算;再對(duì)除法的結(jié)果值作M位截位,送外部M位D/A轉(zhuǎn)換器轉(zhuǎn)換,則得到相應(yīng)的電壓值。FPGA內(nèi)部電路結(jié)構(gòu)如圖7所示。
4 系統(tǒng)測(cè)試
選擇高頻時(shí)基信號(hào)f基對(duì)輸入信號(hào)f的周期計(jì)數(shù),得到計(jì)數(shù)值N,依據(jù)線性轉(zhuǎn)換關(guān)系,得到F/V的轉(zhuǎn)換如式(1)所示。式中,M是外部D/A轉(zhuǎn)換器的位數(shù),f量是輸入脈沖信號(hào)的量程即3 000 Hz。
根據(jù)式(1)得到的測(cè)試結(jié)果如表1所示。輸入脈沖信號(hào)頻率范圍10~3 000 Hz,D/A芯片采用DAC7551,12 bit精度,采用Q8定點(diǎn)運(yùn)算保證轉(zhuǎn)換精度。
5 結(jié)束語(yǔ)
目前在測(cè)量領(lǐng)域,脈沖信號(hào)既可作為已知的激勵(lì)信號(hào),又可作為未知的被測(cè)信號(hào)。作為未知的被測(cè)信號(hào),對(duì)其參數(shù)測(cè)試越顯重要。文中設(shè)計(jì)的F/V轉(zhuǎn)換器采用以FPGA為核心的模塊化設(shè)計(jì)方法,具有測(cè)試參數(shù)靈活配置、硬件電路簡(jiǎn)單、容易實(shí)現(xiàn)、測(cè)頻范圍寬、轉(zhuǎn)換精度高等特點(diǎn)。根據(jù)系統(tǒng)需求,可靈活配置系統(tǒng)的參數(shù)。增加時(shí)基頻率、選用精度更高的D/A轉(zhuǎn)換芯片、增大Q運(yùn)算的階數(shù)都可以實(shí)現(xiàn)更高精度的F/V轉(zhuǎn)換。與傳統(tǒng)實(shí)現(xiàn)方法相比,靈活性、測(cè)頻精度、轉(zhuǎn)換精度都得到了大幅提升。