《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 其他 > 業(yè)界動態(tài) > 基于FPGA的超聲波液體密度傳感器

基于FPGA的超聲波液體密度傳感器

2008-08-22
作者:姚明林;陳先中

?

  0 引言

?

  液體密度是許多工業(yè)中的重要參數(shù),它可以直接參與生產(chǎn)過程中的控制和決策,因此對液體密度進行快速而準確的在線檢測有著重要的意義。尤其是在石油、化工、食品、醫(yī)藥等工業(yè)領(lǐng)域,對密度的測量直接關(guān)系到國民經(jīng)濟和消費者的人身安全。

?

  1 超聲波液體密度計" title="密度計">密度計的工作原理

?

  用超聲波來測量液體的密度有多種方法,隨著電子技術(shù)的飛速發(fā)展,借助于聲速測量密度的方法得到了廣泛的應(yīng)用。這是因為超聲波在液體中傳播時,其聲速與液體的密度之間遵從下面的關(guān)系式:

公式  (1-1)

?

  式中C是超聲波在液體中傳播的速度;ρ為液體的密度;K為壓縮系數(shù)" title="壓縮系數(shù)">壓縮系數(shù)。對于特定的液體,其壓縮系數(shù)K是常數(shù),只要測得超聲波在液體中的傳播速度,就可以計算出液體的密度。而速度的測量則可由超聲波在液體中所經(jīng)過的聲程以及傳播時間所決定。

?

  2. 基于FPGA的控制和運算電路的設(shè)計

?

  由于FPGA芯片的頻率很高,容易設(shè)計實現(xiàn)幾十兆甚至上百兆的時鐘電路,因此很適合于用來設(shè)計高速計時電路。本設(shè)計中選用Altera公司的CycloneⅡ系列芯片,該系列芯片的工作頻率可高達400MHz,足以滿足本設(shè)計的需要。軟件開發(fā)平臺為QuartusⅡ。電路(包括模擬、數(shù)字部分)的整體系統(tǒng)框圖如圖1所示。

?

系統(tǒng)電路原理圖

?

圖1 系統(tǒng)電路原理圖

  2.1方脈沖生成模塊

?

  方脈沖生成模塊的作用是產(chǎn)生一定頻率的方脈沖用以激勵發(fā)射探頭工作。方脈沖頻率的選擇范圍應(yīng)該是探頭壓電晶片振動頻率(本設(shè)計中為2MHz)的1/10,因此選擇200KHz,其產(chǎn)生是由基于FPGA的方脈沖信號發(fā)生器來實現(xiàn)[1]。其外部引腳結(jié)構(gòu)如圖4所示,圖中輸入信號" title="輸入信號">輸入信號為clk(時鐘) 和en(使能端) ,輸出信號為dout[7…0]。

?

  2.2 高速計數(shù)器" title="高速計數(shù)器">高速計數(shù)器的設(shè)計

?

  高速計數(shù)器的設(shè)計是實現(xiàn)精確測量時間的核心。本設(shè)計中,為了獲得精確的計數(shù)頻率,采用了QuartusⅡ中內(nèi)嵌的鎖相環(huán)" title="鎖相環(huán)">鎖相環(huán),外部的參考時鐘由16MHz的晶振提供,鎖相環(huán)所采用的倍頻為6倍,這樣就能獲得穩(wěn)定的96MHz的內(nèi)部時鐘。整體的原理圖結(jié)構(gòu)如圖2所示。鎖相環(huán)(PLL3)的頻率輸出作為計數(shù)器的計數(shù)時鐘,計數(shù)器(cnter)由四個十進制計數(shù)器組成,內(nèi)部設(shè)有FIFO,主要用于計數(shù)結(jié)果的讀取,當wrreq(寫允許)信號為高電平時,將計數(shù)結(jié)果寫入FIFO,F(xiàn)IFO的時鐘與計數(shù)器的時鐘同步;當接收電路的信號經(jīng)過光電耦合器到達rdreq(讀允許)端時,該端電平變?yōu)楦唠娖?,同時wrreq為低電平,此時計數(shù)結(jié)束,同時將計數(shù)結(jié)果送到輸出端,輸出計數(shù)結(jié)果。

?

高速計數(shù)器原理圖

?

圖2 高速計數(shù)器原理圖

?

  2.3 運算、補償模塊

?

  運算、補償模塊分為計算和補償兩個部分。其作用是根據(jù)計數(shù)器的計數(shù)結(jié)果和補償電路對溫度修正后的結(jié)果計算液體的密度。本設(shè)計中發(fā)射和接收探頭之間的距離為2cm;聲波在兩探頭之間傳遞的時間可由計數(shù)器的計數(shù)結(jié)果(cntvalue)得到,因為單位計數(shù)的時間是計數(shù)頻率的倒數(shù),所以有:

公式  (2-1)

?

  運算器結(jié)構(gòu)如圖3所示。輸入c1和c2是計數(shù)值,經(jīng)過并行乘法器運算后的結(jié)果送入并行除法器;因為壓縮系數(shù)K是常數(shù),但每一種液體的K都不相同,因此整個密度計需要有對液體進行選擇的功能,圖中的sel模塊是實現(xiàn)這一功能的部分,輸入信號用來選擇待測液體,本設(shè)計中的密度計能夠測量300種液體,因此選擇信號為9位編碼的二進制數(shù),選擇模塊的實質(zhì)是一個存儲了各種液體壓縮系數(shù)的存儲器,根據(jù)選擇信號尋找待測液體密度的系數(shù),其結(jié)果也送入除法器。

運算

圖3 運算、補償模塊結(jié)構(gòu)

?

  圖中的tem為溫度補償模塊。溫度對聲速的影響很大,在液體中,溫度每變化1℃將引起聲速約為2%的變化,而在實際環(huán)境中,一般會有40℃以上的溫度變化范圍,由此造成的聲速8%以上的變化就可能給實際測量引入8%以上的誤差。在利用超聲波聲速對液體密度進行測量時,為了提高精度,勢必就要對溫度進行補償[2]。

?

  2.4 控制和運算電路

?

  控制和運算電路的整體結(jié)構(gòu)如圖4所示。其中pulse為方脈沖產(chǎn)生模塊;count為高速計數(shù)器;operate為運算和補償模塊;ADC為A/D轉(zhuǎn)換控制模塊。整個系統(tǒng)的工作過程為:pulse模塊的使能端為高電平時,模塊開始工作,產(chǎn)生方脈沖;因為計數(shù)器的使能端與pulse的使能端共用,所以計數(shù)器在產(chǎn)生方脈沖的同時開始計數(shù);pulse 的輸出pulse_out 經(jīng)過處理后送入后續(xù)的模擬電路;計數(shù)器(count)在接收到rdreq端的高電平時停止計數(shù),該信號來自于接收電路,此時計數(shù)結(jié)果送入運算補償模塊(operate)進行后續(xù)運算,同時,計數(shù)器的clr端清零,等待下一次計數(shù);adc模塊控制A/D轉(zhuǎn)換器將溫度補償電路的信號轉(zhuǎn)換成數(shù)字量并且送入到運算補償模塊的補償部分進行查表運算。運算模塊負責最后的運算輸出。

?

控制、運算整體結(jié)構(gòu)圖

?

圖4 控制、運算整體結(jié)構(gòu)圖

?

  3. 結(jié)論

?

  實驗在常溫(20℃)、常壓(1標準大氣壓)下進行,待測液體為常用的水,其壓縮系數(shù)K=5×10-5/大氣壓。通過仿真(圖5)可以得到水的密度為1Kg/m3。這與實際結(jié)果相同。由于輸入信號多,這里只選擇了部分仿真信號。通過對時序的分析,可以得到整個電路整體上的延時為230ns,可見,系統(tǒng)地響應(yīng)速度很高。

系統(tǒng)仿真結(jié)果

圖5 系統(tǒng)仿真結(jié)果

?

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。