<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

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

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

          作者: 時間:2010-01-26 來源:網(wǎng)絡 收藏

            0 引言

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

            1 超聲波液體密度計的工作原理

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

          公式  (1-1)

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

            2. 基于的控制和運算電路的

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

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

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

            2.1方脈沖生成模塊

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

            2.2 高速計數(shù)器的設計

            高速計數(shù)器的設計是實現(xiàn)精確測量時間的核心。本設計中,為了獲得精確的計數(shù)頻率,采用了QuartusⅡ中內(nèi)嵌的鎖相環(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)部設有FIFO,主要用于計數(shù)結(jié)果的讀取,當wrreq(寫允許)信號為高電平時,將計數(shù)結(jié)果寫入FIFO,F(xiàn)IFO的時鐘與計數(shù)器的時鐘同步;當接收電路的信號經(jīng)過光電耦合器到達rdreq(讀允許)端時,該端電平變?yōu)楦唠娖剑瑫rwrreq為低電平,此時計數(shù)結(jié)束,同時將計數(shù)結(jié)果送到輸出端,輸出計數(shù)結(jié)果。

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

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


          上一頁 1 2 3 下一頁

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();