新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于FPGA的超聲波液體密度傳感器的設(shè)計(jì)

基于FPGA的超聲波液體密度傳感器的設(shè)計(jì)

作者: 時(shí)間:2010-01-26 來(lái)源:網(wǎng)絡(luò) 收藏

  2.3 運(yùn)算、補(bǔ)償模塊

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

公式  (2-1)

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

運(yùn)算

圖3 運(yùn)算、補(bǔ)償模塊結(jié)構(gòu)

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

  2.4 控制和運(yùn)算電路

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

基于FPGA的超聲波液體密度傳感器的設(shè)計(jì)

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



評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉