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