基于FPGA的高精度超聲波溫度計(jì)設(shè)計(jì)
當(dāng)前,許多溫度傳感器只能應(yīng)用于傳統(tǒng)的測(cè)量場(chǎng)合,而不能應(yīng)用于高科技領(lǐng)域。因此,各國(guó)專家都在有針對(duì)性地競(jìng)爭(zhēng)開(kāi)發(fā)各種新型溫度傳感器以及特殊實(shí)用的溫度測(cè)量技術(shù)[1]。其中,超聲波溫度計(jì)作為當(dāng)今新型溫度傳感器的一種,已經(jīng)成為新的有前景的測(cè)溫方法,并已經(jīng)應(yīng)用于發(fā)電廠、垃圾焚燒爐、水泥回轉(zhuǎn)窯等工業(yè)過(guò)程的溫度測(cè)量和控制以及一些醫(yī)療領(lǐng)域中[2-4]。
1 超聲波溫度計(jì)設(shè)計(jì)方案
超聲波溫度計(jì)是以介質(zhì)本身作為敏感元件,當(dāng)進(jìn)行溫度測(cè)量時(shí),通過(guò)測(cè)量超聲波在被測(cè)介質(zhì)中的傳播速度,即可間接測(cè)得被測(cè)介質(zhì)溫度。如圖1所示,其實(shí)現(xiàn)流程如下:
(1)FPGA通過(guò)控制信號(hào)發(fā)生器產(chǎn)生數(shù)字正弦波信號(hào),經(jīng)D/A轉(zhuǎn)換及濾波、放大之后,驅(qū)動(dòng)超聲波換能器E1發(fā)出超聲波信號(hào)。
(2)FPGA通過(guò)控制A/D轉(zhuǎn)換器對(duì)換能器E2接收到的回波信號(hào)進(jìn)行高速采樣和存儲(chǔ)。
(3)將采集數(shù)據(jù)送到FPGA片上的NIOS II處理器進(jìn)行分析處理,利用細(xì)分算法得到超聲波信號(hào)的納秒級(jí)傳播時(shí)間
(4)根據(jù)溫度與波速的關(guān)系模型計(jì)算出當(dāng)前溫度值,并實(shí)時(shí)顯示于LCD上。
2 FPGA數(shù)字邏輯設(shè)計(jì)
超聲波溫度計(jì)的設(shè)計(jì)核心主要體現(xiàn)在FPGA的設(shè)計(jì)上,根據(jù)設(shè)計(jì)需求,主要包括控制電路的數(shù)字邏輯設(shè)計(jì)和NIOS_II算法處理設(shè)計(jì)。如圖2所示的是FPGA信號(hào)控制電路與被其控制的相關(guān)模塊組合后綜合生成的RTL視圖。其實(shí)現(xiàn)的功能有:在開(kāi)始信號(hào)觸發(fā)后,在每個(gè)周期中,首先控制信號(hào)發(fā)生器產(chǎn)生正弦波,并同時(shí)開(kāi)始自動(dòng)采集并存儲(chǔ)回波數(shù)據(jù);采集結(jié)束后輸出硬件測(cè)得的傳播時(shí)間,將采集數(shù)據(jù)交給NIOS_II處理器進(jìn)一步細(xì)分處理;在一個(gè)周期結(jié)束時(shí),初始化各模塊,然后再次啟動(dòng)各模塊工作。為驗(yàn)證該部分程序的正確性,在ModleSim下進(jìn)行了仿真,驗(yàn)證了設(shè)計(jì)的正確性,如圖3所示。
3 NIOS_II算法處理
在FPGA完成數(shù)據(jù)采集后,軟核NiosII處理器開(kāi)始對(duì)采集到的數(shù)據(jù)進(jìn)行有效的分析并處理,其目的是通過(guò)采集數(shù)據(jù)對(duì)FPGA測(cè)得的傳播時(shí)間進(jìn)行進(jìn)一步的細(xì)分,實(shí)現(xiàn)納秒級(jí)傳播時(shí)間的測(cè)量,然后通過(guò)時(shí)間與溫度的關(guān)系得到對(duì)應(yīng)的溫度數(shù)值,并將結(jié)果顯示到LCD上或通過(guò)RS232輸出到PC機(jī)上。
如圖4所示,超聲波傳播時(shí)間由T1和T2兩部分組成,其中,T1的測(cè)量通過(guò)FPGA數(shù)字邏輯計(jì)時(shí)和回波信號(hào)的采集頻率精確計(jì)算得到,對(duì)于時(shí)間終點(diǎn)T2的測(cè)量設(shè)計(jì)采用了軟件細(xì)分插補(bǔ)算法,從而使整個(gè)傳播時(shí)間測(cè)量分辨率達(dá)到納秒級(jí)。設(shè)A/D的采樣頻率為FA/D,采樣周期為TA/D;從第一個(gè)采樣點(diǎn)到采樣點(diǎn)P之間的采樣數(shù)為N,對(duì)應(yīng)的采樣值為V1,對(duì)應(yīng)的時(shí)刻為T1;采樣點(diǎn)P+1對(duì)應(yīng)的采樣值為V2,則超聲波的傳輸時(shí)間TZD為:
其傳播時(shí)間的分辨率主要取決與T2的細(xì)分插補(bǔ)算法,因此測(cè)量傳播時(shí)間的分辨率R為:
4 實(shí)現(xiàn)結(jié)果分析
設(shè)計(jì)測(cè)量的精度取決于傳播時(shí)間的測(cè)量,為此進(jìn)行了傳播時(shí)間的實(shí)際測(cè)量實(shí)驗(yàn),如圖5所示。從圖5(a)可以看到,傳播時(shí)間測(cè)量的平穩(wěn)性,在連續(xù)測(cè)量過(guò)程中,只有少數(shù)數(shù)據(jù)隨機(jī)地產(chǎn)生了±1 ns的誤差;如圖5(b)所示,對(duì)測(cè)得的數(shù)據(jù)進(jìn)行了10次均值濾波,去除了測(cè)量過(guò)程中的部分誤差,使傳播時(shí)間的測(cè)量達(dá)到了0.2 ns ,進(jìn)一步驗(yàn)證了設(shè)計(jì)的高精度測(cè)量。由此,超聲波傳播時(shí)間的高精度測(cè)量便可實(shí)現(xiàn)。因?yàn)榻?jīng)分析要達(dá)到0.001 ℃的溫度分辨率測(cè)量,需要超聲波傳輸時(shí)間測(cè)量小于1.5 ns。而設(shè)計(jì)的超聲波傳播時(shí)間的測(cè)量重復(fù)性誤差小于1 ns,因此,所設(shè)計(jì)的超聲波溫度計(jì)能夠解決超聲波測(cè)溫技術(shù)在實(shí)際應(yīng)用中的關(guān)鍵問(wèn)題[5],并可以實(shí)現(xiàn)分辨率小于0.001 ℃的精密溫度測(cè)量。
評(píng)論