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

          新聞中心

          EEPW首頁 > 測試測量 > 設(shè)計應(yīng)用 > 基于FPGA的QCM濕度測量系統(tǒng)程序設(shè)計與仿真

          基于FPGA的QCM濕度測量系統(tǒng)程序設(shè)計與仿真

          作者: 時間:2016-10-22 來源:網(wǎng)絡(luò) 收藏

          摘要:為了實時檢測常溫下的濕度,以便負責(zé)人根據(jù)需要調(diào)整環(huán)境狀態(tài)。采用測頻計數(shù)法結(jié)合頻差法設(shè)計了以芯片()為基礎(chǔ)的可用于諧振頻率漂移檢測電路。重點介紹在平臺上通過測量的諧振頻率來間接測量濕度的方法,討論了平臺上的每個模塊的設(shè)計過程,給出了部分模塊和整體電路的仿真圖,解釋了仿真結(jié)果。FPGA參與外圍硬件電路的輔助設(shè)計,會使設(shè)計更加簡單,周期更短。

          本文引用地址:http://www.ex-cimer.com/article/201610/309096.htm

          濕度若能夠?qū)崟r進行測量,對于生產(chǎn)、生活方面是很至關(guān)重要的,尤其是在那些倉儲、種植、養(yǎng)殖、家庭、醫(yī)療、科研等關(guān)注濕度變化的地方。如果異常濕度不能及時被測量到,就會使生產(chǎn)降低、身體感到不適?,F(xiàn)代從機械式發(fā)展為精確度更高的電子式濕度傳感器。石英壓電諧振式濕度傳感器就是利用了諧振元件的固有頻率與被測量之間存在關(guān)系而進行測量的一種電子裝置。通過在線可編程芯片F(xiàn)PGA來對傳感器數(shù)據(jù)進行采集、測量和處理,能極大地整合和簡化系統(tǒng)設(shè)計。文中將主要描述(QCM)系統(tǒng)中FPGA部分的程序設(shè)計,分別給出單個模塊的設(shè)計思路和(或)工作流程圖,對部分模塊給出仿真結(jié)果,最后對總體程序進行了仿真,給出整體結(jié)果。

          1 基本原理

          在壓電石英晶體的晶片表面涂覆濕度敏感材料,制成一個附著有吸濕膜的石英晶體諧振器。若該石英晶體放置于濕度環(huán)境中,由于吸濕膜通過氫鍵或者分子間作用力吸附了環(huán)境中的水汽分子,使得石英晶體的質(zhì)量發(fā)生變化。根據(jù)Sauerbrey公式,如式(1)所示,為晶片上吸附水汽分子后石英晶體質(zhì)量變化量,F(xiàn)o為基頻,△f為相同基頻下的無濕敏膜標準石英晶體諧振(以下簡稱標準晶振)頻率Fo與有濕敏膜傳感石英晶體諧振(以下簡稱傳感晶振)頻率的頻率差,S為晶片上濕敏膜的面積。石英晶體的質(zhì)量若發(fā)生變化,其諧振頻率也會隨之發(fā)生變化。只要通過測量出石英諧振頻率的變化量,再利用頻率差-質(zhì)量差-相對濕度三者之間存在的關(guān)系,由頻率轉(zhuǎn)換得到相對濕度。

          基于FPGA的QCM濕度測量系統(tǒng)程序設(shè)計與仿真

          系統(tǒng)由濕度傳感器、QCM振蕩電路、FPGA平臺、顯示電路等模塊組成,如圖1所示。FPGA平臺將集成測量、控制、驅(qū)動等功能模塊,先通過參比對照測出兩個通道的頻率值,再計算兩通道頻率值的差,根據(jù)轉(zhuǎn)換表轉(zhuǎn)換出相對濕度值,送出顯示。采用基頻10 MHz,AT切型的石英晶體作為濕度傳感器。

          基于FPGA的QCM濕度測量系統(tǒng)程序設(shè)計與仿真

          2 總體方案構(gòu)造

          2.1 FPGA芯片

          FPGA,通過軟件輔助編程的方式實現(xiàn)電路功能的一種半定制ASIC芯片。FPGA是在線可編程器件中的一種,基于查找表LUT的電路原理。N輸入的查找表,將輸入的真值表存儲在SRAM中,系統(tǒng)通過“查表”的方式,輸出預(yù)存結(jié)果。FPGA在電路設(shè)計和使用的過程中高度體現(xiàn)了以專用性、高效性,以人為本的設(shè)計思想。FPGA芯片采用的是美國Altera公司設(shè)計生產(chǎn)的Cyclone II系列中的。它含有516個可編程邏輯塊CLBs,8256個邏輯單元LEs,165888個存儲位,138個可使用的I/O端口,端口最大電壓為3.3 V,核心電壓為1.2 V,工作適宜溫度為0~85℃。

          2.2 FPGA總體電路構(gòu)建

          FPGA程序設(shè)計是整個相對濕度測量系統(tǒng)設(shè)計中關(guān)鍵的一部分,集成了控制、測量與鎖存、差值計算、物理量轉(zhuǎn)換,顯示驅(qū)動等模塊。通過軟件編程輔助設(shè)計的電路,既可降低硬件電路設(shè)計的成本,同時也發(fā)揮軟件設(shè)計帶來的優(yōu)點。另外用FPGA做設(shè)計還可隨時就應(yīng)用過程中出現(xiàn)的問題調(diào)整程序,使系統(tǒng)作更大優(yōu)化。整個FPGA運行的流程圖如圖2所示。整個FPGA電路模塊的設(shè)計和仿真都將在Quartus II 9.0軟件環(huán)境下完成。在FPGA中相對濕度的測量將采用實時測量的方案。

          基于FPGA的QCM濕度測量系統(tǒng)程序設(shè)計與仿真

          3 模塊設(shè)計與仿真

          3.1 控制模塊

          控制模塊主要完成對FPGA工作進程的控制。它包括系統(tǒng)啟動/暫停、使能控制、系統(tǒng)復(fù)位等功能,其工作流程如圖3所示。其中N值大小可以因需求不同作數(shù)值調(diào)整。

          基于FPGA的QCM濕度測量系統(tǒng)程序設(shè)計與仿真

          3.2 測量與鎖存模塊

          測量模塊是FPGA設(shè)計中最關(guān)鍵的模塊之一。為得到頻率差,采用雙通道分別進行標準晶振和傳感晶振的頻率測量。數(shù)據(jù)信號在一個閘門內(nèi)的計數(shù)值很大,所以不考慮因閘門信號與數(shù)據(jù)信號不同步造成的±1字的誤差。測量模塊中的頻率測量采用直接計數(shù)法完成。在使能高電平期間,頻率信號觸發(fā)沿每到來一次時,計數(shù)器加1計數(shù);在使能低電平期間計數(shù)器數(shù)據(jù)鎖存,保存至下一次的測量完成。最小測量精度為1 Hz,采用8421BCD碼計數(shù)(便于觀察和后續(xù)電路設(shè)計)。

          基于FPGA的QCM濕度測量系統(tǒng)程序設(shè)計與仿真

          對測量和鎖存模塊進行仿真分析,如圖4所示。從圖中可以看出系統(tǒng)在異步復(fù)位信號sys_clr高電平下復(fù)位,否則在使能信號sys_ena高電平有效時,系統(tǒng)計數(shù),直到使能無效,result_Q最后一個計數(shù)值送入鎖存器result_latch保存至下一次測量結(jié)束。在整個系統(tǒng)中復(fù)位信號周期性出現(xiàn)在保持時間末刻,以使計數(shù)寄存器下一次從0開始計數(shù)。

          3.3 頻率差值計算模塊

          獲得兩個通道的頻率值后,根據(jù)頻差計算公式(2),將兩者送入減法器中。

          △F=Fo-Fs (2)

          減法器采用BCD碼減法,按以下規(guī)則順序執(zhí)行:

          1)比較大小,如果被減數(shù)大于或等于減數(shù),差為正,符號記為0;如果減數(shù)小于被減數(shù),將被減數(shù)與減數(shù)的位置對調(diào),差為負,符號記為1;

          2)按照二進制法逐位減法運算;

          3)從最低位開始包括被減數(shù)、減數(shù)、差的每4位組成一組,高位不夠4位用零補齊;

          4)如果每一組的被減數(shù)大于減數(shù),則若差大于9,則差減去6,其他不變;

          5)如果每一組的被減數(shù)小于等于減數(shù),則若差大于5(最小1組大于6),則差減去6,其他不變;

          6)修正后的結(jié)果即為頻率差。

          隨機設(shè)計了幾組數(shù)據(jù)進行仿真測試,如圖5所示,經(jīng)比對,結(jié)果正確。其中a8至a1為被減數(shù)a的高位至低位,即為標準晶振的頻率值;b8至b1為減數(shù)b的高位至低位,即為傳感晶振的頻率值;差為asb8至asb1,符號為sign。

          基于FPGA的QCM濕度測量系統(tǒng)程序設(shè)計與仿真

          3.4 物理量轉(zhuǎn)換模塊

          在20%至85%這段相對濕度區(qū)間,頻率差與相對濕度值之間的曲線接近線性。設(shè)計中頻率差與相對濕度值之間的轉(zhuǎn)換以查找表的形式來實現(xiàn),一個濕度范圍對應(yīng)一組頻率差。通常情況下,由于材料、制作工藝的不同,頻率差的變化也會有所不同。為了仿真,假定相對濕度變化1%時,頻率差變化2個值。

          3.5 顯示驅(qū)動模塊

          后端顯示用LCD1602液晶屏構(gòu)成。由于1602中命令和數(shù)據(jù)共享總線,首先需要對其初始化,目的就在于對總線狀態(tài)、顯示樣式的設(shè)置。初始化過程為清屏→顯示狀態(tài)設(shè)置→工作方式設(shè)置→CG RAM設(shè)置→DD RAM設(shè)置。一旦初始化結(jié)束后,就可以將結(jié)果等內(nèi)容在液晶屏上動態(tài)顯示。

          4 總體電路測試與仿真

          為便于仿真觀察,程序上對時鐘和信號周期進行了修改,但設(shè)計思路不變,不影響整個的工作流程。打開Quartus II的仿真器,插入輸入輸出信號,依照實際情況給出輸入信號波形,仿真結(jié)果如圖6所示。其中clk20M為20 MHz的時鐘信號,經(jīng)20分頻,得到一個周期為的閘門信號(實際中為2s)。因為傳感石英晶體質(zhì)量因受濕度的影響而增加,其諧振頻率隨之下降,故傳感晶振頻率總小于標準晶振。cnt_clk0、cnt_ clk1分別為兩個通道的頻率信號,其周期設(shè)置在0 s~3.4μs為8 ns和10 ns,在3.4~6.4 μs至為19 ns和30 ns,在6.4~7.3μs至為35 ns和50 ns;系統(tǒng)一開始清零;result_Q為通道0的頻率測量值,result_Q1為通道1的頻率測量值。在仿真中取頻率的最大變化為50,每1%的相對濕度,有2的變化。由圖可看出,當(dāng)系統(tǒng)在接到清零信號后,立即對計數(shù)寄存器進行了數(shù)據(jù)復(fù)位。當(dāng)測量周期結(jié)束后,分別得到以下數(shù)值:在0 s~3.4μs這一段,通道0計數(shù)值為125,通道1為100,差值為25,濕度為50%;在3.4~6.4μs至,通道0為53,通道1為33,差值為20,濕度為40%。

          基于FPGA的QCM濕度測量系統(tǒng)程序設(shè)計與仿真

          5 結(jié)論

          設(shè)計運用了功能強大的FPGA作為濕度測量系統(tǒng)的主要部件,充分發(fā)揮其高度集成的內(nèi)部資源和彌補了硬件上設(shè)計的漏洞和誤差。文中對相對濕度測量系統(tǒng)中的FPGA部分的程序進行了設(shè)計說明和仿真,給出總體電路的仿真結(jié)果。證明了設(shè)計方案的可行性,體現(xiàn)了軟件結(jié)合設(shè)計所帶來的簡便性和實用性。

          如果將該FPGA測量平臺與其他外圍硬件電路組合,即可完成濕度測量系統(tǒng)的設(shè)計,同時也可用于特殊氣體的檢測。



          評論


          相關(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); })();