基于FPGA的便攜式甲烷濃度測試儀的設(shè)計(jì)_第1頁
基于FPGA的便攜式甲烷濃度測試儀的設(shè)計(jì)_第2頁
基于FPGA的便攜式甲烷濃度測試儀的設(shè)計(jì)_第3頁
基于FPGA的便攜式甲烷濃度測試儀的設(shè)計(jì)_第4頁
基于FPGA的便攜式甲烷濃度測試儀的設(shè)計(jì)_第5頁
已閱讀5頁,還剩42頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、目 錄1 緒論11.1 瓦斯氣體概述11.1.1 瓦斯氣體性質(zhì)11.1.2 瓦斯氣體的爆炸11.2 煤礦瓦斯檢測儀的發(fā)展?fàn)顩r21.3 本課題的研究意義32 系統(tǒng)總體方案設(shè)計(jì)52.1 系統(tǒng)總體構(gòu)成及工作原理52.2 系統(tǒng)的設(shè)計(jì)原理62.2.1 傳感器的選擇62.2.2 無線數(shù)據(jù)傳輸模塊的選擇92.2.3 fpga芯片、vhdl語言簡介113 系統(tǒng)硬件設(shè)計(jì)133.2 a/d轉(zhuǎn)換模塊133.2.1 adc0809概述133.2.2 數(shù)模轉(zhuǎn)換電路163.3 無線傳輸模塊設(shè)計(jì)163.4 led顯示電路設(shè)計(jì)183.5 報(bào)警電路設(shè)計(jì)194 系統(tǒng)軟件設(shè)計(jì)214.1 ptr2000無線傳輸模塊224.1.1 p

2、tr2000模塊程序設(shè)計(jì)224.1.2 串行無線傳輸協(xié)議設(shè)計(jì)224.1.3 發(fā)射端程序設(shè)計(jì)234.1.4 接收端程序設(shè)計(jì)284.2 ad轉(zhuǎn)換程序設(shè)計(jì)314.3 碼制轉(zhuǎn)換子程序344.4 顯示譯碼子程序355 總結(jié)38參 考 文 獻(xiàn)39附 錄40致 謝421 緒論 中國煤炭產(chǎn)量高居世界第一,國家一直把煤礦的安全生產(chǎn)作為重中之重,給予高度的關(guān)注。在我國的煤礦生產(chǎn)事故中,瓦斯造成的傷亡和損失成為實(shí)現(xiàn)安全生產(chǎn)的最大障礙。我國95%的煤礦開采是地下作業(yè)。煤礦事故占工礦企業(yè)一次死亡10人以上特大事故的72.8%至89.6%(2002-2005年);煤礦企業(yè)一次死亡10人以上事故中,瓦斯事故占死亡人數(shù)的71

3、%。煤礦所面臨的重大災(zāi)害事故是相當(dāng)嚴(yán)峻的,造成的損失是極其慘重的。由于煤礦事故多,死亡人數(shù)多,造成了我國煤礦的百萬噸死亡率一直居高不下。特別是煤礦重大及特大瓦斯災(zāi)害的頻發(fā),不但造成國家財(cái)產(chǎn)和公民生命的巨大損失,而且嚴(yán)重影響了我國的國際聲譽(yù)。所以及時(shí)準(zhǔn)確地檢測瓦斯?jié)舛群蛨?bào)告危險(xiǎn)在安全生產(chǎn)中具有重要意義1-2。 為了確保礦井的生產(chǎn)安全,防止瓦斯爆炸,國內(nèi)外煤礦研究所在此領(lǐng)域進(jìn)行了很長時(shí)間的研究,開發(fā)出很多類型的瓦斯檢測儀,但目前的瓦斯檢測儀都普遍存在體積大、安裝復(fù)雜、操作不便、智能化程度低等缺點(diǎn)。因此開發(fā)研制便于攜帶、多功能,精度高的瓦斯檢測儀對促進(jìn)煤炭行業(yè)安全生產(chǎn)具有重要的現(xiàn)實(shí)意義。1.1 瓦斯

4、氣體概述 要設(shè)計(jì)一個(gè)瓦斯?jié)舛葯z測儀,就必須,明確研究對象的性質(zhì)及其爆炸所需的條件等,只有在明確了研究對象之后,才能很好地對其進(jìn)行檢測,下面就將對瓦斯氣體的特性和爆炸條件進(jìn)行詳細(xì)地介紹。1.1.1 瓦斯氣體性質(zhì)瓦斯是煤礦開采過程中的多種有害氣體的總稱,它有自己的性質(zhì)和特點(diǎn),是可以被控制和利用的。礦井瓦斯是指從煤體和圍巖中逸出的以及在生產(chǎn)過程中產(chǎn)生的多成分的混合氣體,包括:ch4、co2、co、n2、c2h6、so2、h2s等。主要成分是甲烷、一氧化碳和二氧化碳、硫化氫等。甲烷是礦井瓦斯的主要成分,是一種無色無味的氣體,不助燃,但當(dāng)與空氣混合到一定濃度時(shí),遇明火能燃燒或爆炸,爆炸界限為516%;空

5、氣中甲烷濃度超過40%時(shí),空氣中的氧含量將下降到12%以下,此時(shí)空氣與甲烷的混合氣體不再發(fā)生爆炸,但能將人窒息3。1.1.2 瓦斯氣體的爆炸 礦井瓦斯爆炸是一種熱-鏈?zhǔn)椒磻?yīng)(也叫鏈鎖反應(yīng))。當(dāng)爆炸混合物吸收一定能量(通常是引火源給予的熱能)后,反應(yīng)分子的鏈即行斷裂,離解成兩個(gè)或兩個(gè)以上的游離基(也叫自由基)。這類游離基具有很大的化學(xué)活性,成為反應(yīng)連續(xù)進(jìn)行的活化中心。在適合的條件下,每一個(gè)游離基又可以進(jìn)一步分解,再產(chǎn)生兩個(gè)或兩上以上的游離基。這樣循環(huán)不已,游離基越來越多,化學(xué)反應(yīng)速度也越來越快,最后就可以發(fā)展為燃燒或爆炸式的氧化反應(yīng)。所以,瓦斯爆炸就其本質(zhì)來說,是一定濃度的甲烷和空氣中度作用下產(chǎn)

6、生的激烈氧化反應(yīng)。 瓦斯在煤體和圍巖中以游離狀態(tài)和吸附狀態(tài)存在,一般情況下處于動態(tài)平衡,當(dāng)外界溫度、壓力變化時(shí),幾種狀態(tài)會互相轉(zhuǎn)化,煤層在開采過程中,瓦斯被逸散出來,在井下積聚,造成瓦斯?jié)舛仍黾樱?dāng)ch4濃度達(dá)5%16%時(shí)具有爆炸性,ch4濃度為9.5%時(shí),爆炸威力最大,ch4濃度小于5%或大于16%時(shí),一般不會爆炸,遇明火只會燃燒,瓦斯爆炸的上下限是可變的,當(dāng)現(xiàn)場混合氣體的溫度和壓力發(fā)生變化或混入煤塵及其它可燃?xì)怏w時(shí),可影響瓦斯爆炸的上下限,如空氣中的煤塵含量為1012mg/m3濃度達(dá)到4%時(shí),遇火就會爆炸。要消除引爆火源,必須嚴(yán)禁明電、明火下井,禁止明火放炮,要求井下電器設(shè)備必須防爆4。所

7、以控制瓦斯?jié)舛仁欠乐雇咚贡ǖ母?,?shí)時(shí)掌握瓦斯?jié)舛葼顩r是煤礦安全的頭等大事。1.2 煤礦瓦斯檢測儀的發(fā)展?fàn)顩r 多年來市場上用于瓦斯?jié)舛葯z測的儀器主要有:氣相色譜儀,氣敏元件傳感器,光學(xué)干涉儀等。(1)氣相色譜儀該類儀器可以檢測甲烷、二氧化碳等多種氣體,測量范圍大而且精度很高,但成本較高,目前國內(nèi)一臺這樣的儀器要8萬元。這種儀器的缺點(diǎn)是:體積較大,無法方便攜帶,工作環(huán)境要求很高,無法進(jìn)行野外探測;測量時(shí)要先對氣體取樣,無法實(shí)時(shí)探測,功率很大一般達(dá)到2500w,需要與計(jì)算機(jī)相連。這種儀器目前主要應(yīng)用在實(shí)驗(yàn)室內(nèi)。(2)氣敏元件傳感器該類儀器是以“催化”元件作為傳感元件,利用催化元件在不同濃度的瓦斯

8、中使電橋電阻發(fā)生變化而制成的,是目前礦井中最常見的瓦斯檢測手段。它的特點(diǎn)是:體積小、重量輕、線性度較好、可實(shí)現(xiàn)電量輸出、使用方便、價(jià)格便宜。但當(dāng)甲烷濃度較大時(shí),催化元件溫度過高會使催化劑氧化或者燒斷鉑金絲而損壞儀器。該儀器的缺點(diǎn)是:測量范圍有限、精度較低、響應(yīng)時(shí)間長。 (3)光學(xué)干涉儀該類儀器利用光干涉的原理,兩束光所經(jīng)過光程相同時(shí),干涉條紋不發(fā)生移動。如果氣樣室中氣體的成分發(fā)生改變,則折射率會發(fā)生改變,光程也會發(fā)生變化,所看到的干涉條紋就發(fā)生移動。當(dāng)兩個(gè)氣室的溫度等條件相同時(shí),由于甲烷的折射率n=1.000411,而空氣的折射率n=1.000272,便可以利用測量干涉條紋的移動對甲烷的濃度進(jìn)

9、行定量分析。這種儀器在使用中必須消除二氧化碳和水蒸氣的干擾。一般要在儀器的進(jìn)氣口處加一個(gè)吸收管,裝入堿石灰和氯化鈣以吸收二氧化碳和水蒸氣。光學(xué)干涉儀的特點(diǎn)是:使用的條件要求不高,精度可以達(dá)到0.1左右,一般礦井中的瓦斯安全員用的多為這種儀器。缺點(diǎn)是:當(dāng)水蒸氣含量較高時(shí),測量精度下降,需要經(jīng)常更換藥品;儀器的安裝較困難,讀數(shù)不方便,讀數(shù)的精度直接與使用人員的操作有很大關(guān)系;測量范圍有限,精度不高2。綜合來說,目前市場上的每種系統(tǒng)都存在量程小、體積大、功耗大、需短期內(nèi)校準(zhǔn)、使用壽命短、無數(shù)據(jù)傳輸方式等其中某種或某幾種缺點(diǎn)。因此十分需要研制一種新型瓦斯?jié)舛葯z測儀以克服現(xiàn)有設(shè)備存在的各種問題,使其具有

10、微型化、智能化、低功耗、無線化并能夠準(zhǔn)確的測量出現(xiàn)場的瓦斯?jié)舛取?.3 本課題的研究意義 從我國煤炭生產(chǎn)的現(xiàn)狀及我國能源結(jié)構(gòu)戰(zhàn)略規(guī)劃均可看出,在本世紀(jì)中葉以前,煤炭仍將是支持我國國民經(jīng)濟(jì)發(fā)展的主要能源。煤炭生產(chǎn)作為我國能源工業(yè)的支柱,其地位將是長期的,穩(wěn)定的。但是,目前煤炭工業(yè)的安全生產(chǎn)狀況卻很差,其中之一便是有害氣體的危害性,包括ch4,co,so2等。瓦斯(ch4)是煤礦井下危害最大的氣體,它是在成煤過程中形成并大量貯存于煤層之中的氣體,無色、無味,有易燃、易爆等特點(diǎn)。瓦斯的危害主要表現(xiàn)為三個(gè)方面:第一、瓦斯?jié)舛冗^高,對工人身體健康造成傷害,表現(xiàn)為缺氧,呼吸困難,窒息等;第二、瓦斯煤塵爆炸

11、,瓦斯爆炸所產(chǎn)生的巨大沖擊波和高溫火焰,往往導(dǎo)致群死群傷,而且揚(yáng)起的煤塵又會參與爆炸,摧毀巷道,毀壞設(shè)備,甚至毀滅整個(gè)礦井,給國家和人民生命財(cái)產(chǎn)造成巨大損失。第三、大量的瓦斯排入大氣,污染大氣環(huán)境。目前我國已經(jīng)使用的瓦斯報(bào)警礦燈具有體積小、結(jié)構(gòu)簡單、安裝方便等優(yōu)點(diǎn),但存在的問題是傳感器漂移大,要定期維護(hù),并且需要維護(hù)的周期很短;維護(hù)方法復(fù)雜,成本較高,抗機(jī)械干擾能力較差5。為了解決這些問題,本課題在分析國內(nèi)外各種瓦斯報(bào)警器特點(diǎn)的基礎(chǔ)上,充分利用了fpga的強(qiáng)大功能,對瓦斯?jié)舛冗M(jìn)行實(shí)時(shí)采集、數(shù)據(jù)處理,對提高瓦斯檢測的可靠性和系統(tǒng)的性價(jià)比具有十分重要的意義。2 系統(tǒng)總體方案設(shè)計(jì)2.1 系統(tǒng)總體構(gòu)成

12、及工作原理 系統(tǒng)硬件結(jié)構(gòu)圖如圖2-1和圖2-2所示。圖2-1為系統(tǒng)對瓦斯?jié)舛冗M(jìn)行檢測和無線數(shù)據(jù)發(fā)射部分,是由fpga、甲烷氣體傳感器、a/d轉(zhuǎn)換電路、電源時(shí)鐘及復(fù)位電路、無線發(fā)射模塊組成。圖2-2由fpga、無線接收模塊、電源時(shí)鐘及復(fù)位電路、報(bào)警電路、顯示電路組成。瓦斯?jié)舛葯z測儀的功能是能夠檢測甲烷濃度,同時(shí)本著方便使用的原則,還應(yīng)具備報(bào)警、濃度顯示等功能。其工作原理是現(xiàn)場瓦斯?jié)舛韧ㄟ^瓦斯傳感器mq-4及信號調(diào)理電路轉(zhuǎn)變成相應(yīng)的電信號,電信號通過a/d轉(zhuǎn)換器轉(zhuǎn)成相應(yīng)的數(shù)字信號送入fpga處理、然后通過無線傳輸模塊ptr2000傳輸?shù)浇邮詹糠诌M(jìn)行顯示和報(bào)警。 無線發(fā)射模塊 甲烷傳感器a/d轉(zhuǎn)換器

13、fpga信號調(diào)理電路 時(shí)鐘、復(fù)位電路 電源 圖2-1 發(fā)射部分結(jié)構(gòu)圖報(bào)警電路fpga 電源無線接收模塊時(shí)鐘、復(fù)位電路顯示電路 圖2-2 接收部分結(jié)構(gòu)圖 2.2 系統(tǒng)的設(shè)計(jì)原理2.2.1 傳感器的選擇 要進(jìn)行個(gè)具體的測量工作,首先要考慮采用何種原理的傳感器,而這需要分析多方面的因素之后才能確定。因?yàn)?,即使是測量同一物理量,也有多種原理的傳感器可供選用,哪一種原理的傳感器更為合適,則需要根據(jù)被測量的特點(diǎn)和傳感器的使用條件考慮以下一些具體問題:量程的大??;被測位置對傳感器體積的要求;測量方式為接觸式還是非接觸式;信號的引出方法,有線或是非接觸測量;傳感器的來源,國產(chǎn)還是進(jìn)口,還是自行研制,價(jià)格能否承

14、受。 mq-4甲烷傳感器具有在較寬的濃度范圍內(nèi)對可燃?xì)怏w有良好的靈敏度、快速的響應(yīng)恢復(fù)特性、對甲烷的靈敏度較高、快速的響應(yīng)恢復(fù)特性、低成本、簡單的驅(qū)動電路即可等優(yōu)點(diǎn),故本設(shè)計(jì)選用mq-4甲烷傳感器。 瓦斯?jié)舛葴y試部分電路主要是由氣體傳感器mq-4組成的,其作用為將瓦斯氣體的體積分?jǐn)?shù)轉(zhuǎn)化成對應(yīng)的模擬電壓信號并輸出出來。mq-4氣敏元件的結(jié)構(gòu)和外形如圖2-3所示,由微型al2o3陶瓷管、sno2 敏感層,測量電極和加熱器構(gòu)成的敏感元件固定在塑料或不銹鋼制成的腔體內(nèi),加熱器為氣敏元件提供了必要的工作條件。封裝好的氣敏元件有6只針狀管腳,其中4個(gè)用于信號取出,2個(gè)用于提供加熱電流5。 結(jié)構(gòu) 外形圖2-

15、3 mq-4的結(jié)構(gòu)和外形其中:mq-4的標(biāo)準(zhǔn)工作條件見表2-1、mq-4的環(huán)境條件見表2-2、mq-4的靈敏度特性見表2-3。表2-1 mq-4的標(biāo)準(zhǔn)工作條件符號參數(shù)名稱技術(shù)條件備注vc回路電壓15vac or dcvh加熱電壓5.0v0.2vac or dcrl負(fù)載電阻可調(diào)rh加熱電阻313室溫ph加熱功耗900mw表2-2 mq-4的環(huán)境條件符號參數(shù)名稱技術(shù)條件備注tao使用溫度-10-50tas儲存溫度-20-70rh相對濕度小于 95%rho2氧氣濃度21%(標(biāo)準(zhǔn)條件)氧氣濃度會影響靈敏度特性最小值大于2%表2-3 mq-4的靈敏度特性符號參數(shù)名稱技術(shù)參數(shù)備注rs敏感體表面電阻1060

16、(5000ppmch4)適用范圍:30010000ppm甲烷,天然氣(1000ppm/5000ppmch4)濃度斜率0.6標(biāo)準(zhǔn)工作條件溫度:202 vc:5.0v0.1v相對濕度:65%5% vh:5.0v0.1v預(yù)熱時(shí)間不少于24小時(shí) 圖2-4 mq-4型氣敏元件的靈敏度特性 其中:溫度為20、相對濕度為65%、氧氣濃度為21%rl=20k。rs是指元件在不同氣體,不同濃度下的電阻值。ro是指元件在潔凈空氣中的電阻值。 根據(jù)甲烷報(bào)警濃度為0.8%,從上圖中可以得報(bào)警時(shí)rs為0.38ro=0.38*20=7.6 k。同時(shí)mq-4甲烷傳感器元件需要進(jìn)行測量之后才可以使用,這是因?yàn)槠涑鰪S時(shí)電阻不穩(wěn)

17、定所造成的,為了使用可靠,其電阻是必須測量的,其傳感器電阻(rs),可以用下式計(jì)算:rs=(vc/vrl-1)*rl。 mq-4型氣敏元件對不同種類,不同濃度的氣體有不同的電阻值。因此,在使用此類型氣敏元件時(shí),靈敏度的調(diào)整是很重要的。在這里我們用5000ppm甲烷校準(zhǔn)傳感器進(jìn)行校準(zhǔn)。其校準(zhǔn)過程如下:在測試條件下對傳感器進(jìn)行校準(zhǔn)時(shí),我們進(jìn)行硬件部分電路的調(diào)試。在調(diào)節(jié)確定mq-4的可調(diào)負(fù)載電阻值時(shí),以空氣中甲烷濃度值為5000ppm時(shí)作為校準(zhǔn),此時(shí)觀察顯示部分電路,又因?yàn)橐箫@示的瓦斯?jié)舛染纫髢?yōu)于5%,即準(zhǔn)確顯示的范圍為5000ppm(15%)也就是4750ppm5250ppm的范圍內(nèi),若不在

18、該范圍內(nèi)則說明甲烷傳感器的靈敏度不夠高,需要進(jìn)行調(diào)節(jié)。而靈敏度的調(diào)節(jié)是依靠調(diào)節(jié)負(fù)載電阻rl來實(shí)現(xiàn)的。我們調(diào)節(jié)rl使顯示的瓦斯?jié)舛戎当M可能與實(shí)際相符合。這樣確定下來的rl的阻值,換言之傳感器的靈敏度也就確定下來了,此時(shí)我們已經(jīng)完成了甲烷傳感器的校準(zhǔn)。校準(zhǔn)后的傳感器就可以用來監(jiān)測實(shí)際中各個(gè)不同的瓦斯?jié)舛攘?。 圖2-5 mq-4型元件溫濕度特性 其中縱坐標(biāo)是傳感器的電阻比(rs/ro)。rs表示在含1000ppm甲烷、不同溫/濕度下傳感器的電阻值。ro表示在含1000ppm 甲烷、20/65%rh環(huán)境條件下傳感器的電阻值。由上可知mq-4的測量時(shí)應(yīng)考慮溫濕度的影響。2.2.2 無線數(shù)據(jù)傳輸模塊的選

19、擇 本設(shè)計(jì)采用ptr2000作為無線傳輸模塊ptr2000芯片性能優(yōu)異,在業(yè)界居于領(lǐng)先水平,它的顯著特點(diǎn)是所需外圍元件少,設(shè)計(jì)非常方便。該模板在內(nèi)部集成了高頻接收、pll合成、fsk調(diào)制/解調(diào)、參量放大、功率放大、頻道切換等功能,因而是目前集成度較高的無線數(shù)傳產(chǎn)品。以往設(shè)計(jì)無線數(shù)傳產(chǎn)品常常需要相當(dāng)多的無線電專業(yè)知識和昂貴的專業(yè)設(shè)備,而且傳統(tǒng)的電路設(shè)計(jì)方案不是電路太復(fù)雜就是調(diào)試?yán)щy,而令人望而卻步,以至影響了用戶的使用和新產(chǎn)品的開發(fā)研制工作。ptr2000的出現(xiàn),使用戶擺脫了傳統(tǒng)無線產(chǎn)品設(shè)計(jì)的困擾。該器件采用抗干擾能力強(qiáng)的fsk調(diào)制/解調(diào)方式,其工作頻率穩(wěn)定可靠、外圍元件少、功耗極低且方便設(shè)計(jì)生

20、產(chǎn)。它的優(yōu)異特性使其非常適合于應(yīng)用在便攜式及手持產(chǎn)品的設(shè)計(jì)中,符合本設(shè)計(jì)的要求,其具體性能指標(biāo)如下:(1) 該器件將接收和發(fā)射合接為一體;(2) 工作頻率為國際通用的數(shù)傳頻段433mhz ;(3) 采用fsk調(diào)制/解調(diào),可直接進(jìn)入數(shù)據(jù)輸入/輸出,抗干擾能力強(qiáng),特別適合工業(yè)控制場合;(4) 采用dds(直接數(shù)據(jù)合成)ppl頻率合成技術(shù),因而頻率穩(wěn)定性好;(5) 靈敏度高達(dá)105dbm;(6) 工作電壓低(2.7v),功耗小,接受待機(jī)狀態(tài)電流僅為8ua;(7) 具有兩個(gè)頻道,可滿足需要多信道工作的場合;(8) 工作頻率最高達(dá)20kbit/s(也可在較低頻率下工作,如9600bit/s),超小體積,

21、約40275mm3;(9) 可直接與cpu串口進(jìn)行連接;(10) 標(biāo)準(zhǔn)的dir管腳間距更適合于嵌入式設(shè)備;(11) 由于采用了低發(fā)射功率、高接收靈敏的設(shè)計(jì),因此使用無需申請?jiān)S可證,開闊地時(shí)使用距離最遠(yuǎn)可達(dá)1000m12-14。ptr2000模板的引腳排列如圖2-6所示。 圖2-6ptr2000模板的引腳圖各引腳的功能說明如下:vcc(1腳);輸入端,電壓范圍為2.75.25v;cs(2腳):頻道選擇端。cs=0時(shí),選擇工作頻道1, 即433.92mhz;cs=1時(shí)選擇工作頻道2,即434.33 mhz;do(3腳):數(shù)據(jù)輸出端;di(4腳):數(shù)據(jù)輸入端;gnd(5腳):電源地;pwr(6腳):

22、節(jié)能控制端。當(dāng)pwr=1時(shí),模塊處于正常工作狀態(tài),pwr=0時(shí),模塊處于待機(jī)微功耗狀態(tài);txen(7腳):發(fā)射/接收控制端。當(dāng)txen=1時(shí),模塊為發(fā)射狀態(tài);當(dāng)txen=0時(shí)模塊被設(shè)置為接收狀態(tài)。2.2.3 fpga芯片、vhdl語言簡介 fpga(fieldprogrammable gate array),即現(xiàn)場可編程門陣列,它是在pal、gal、cpld等可編程器件的基礎(chǔ)上進(jìn)一步發(fā)展的產(chǎn)物。它是作為專用集成電路(asic)領(lǐng)域中的一種半定制電路而出現(xiàn)的,既解決了定制電路的不足,又克服了原有可編程器件門電路數(shù)有限的缺點(diǎn)。早在1980年代中期,fpga已經(jīng)在pld設(shè)備中扎根。cpld和fpga

23、包括了一些相對大數(shù)量的可編輯邏輯單元。cpld邏輯門的密度在幾千到幾萬個(gè)邏輯單元之間,而fpga通常是在幾萬到幾百萬。另外cpld和fpga的主要區(qū)別是他們的系統(tǒng)結(jié)構(gòu)。cpld是一個(gè)有點(diǎn)限制性的結(jié)構(gòu)。這個(gè)結(jié)構(gòu)由一個(gè)或者多個(gè)可編輯的結(jié)果之和的邏輯組列和一些相對少量的鎖定的寄存器。這樣的結(jié)果是缺乏編輯靈活性,但是卻有可以預(yù)計(jì)的延遲時(shí)間和邏輯單元對連接單元高比率的優(yōu)點(diǎn)。而fpga卻是有很多的連接單元,這樣雖然讓它可以更加靈活的編輯,但是結(jié)構(gòu)卻復(fù)雜的多。cpld和fpga另外一個(gè)區(qū)別是,大多數(shù)的fpga含有高層次的內(nèi)置模塊(比如加法器和乘法器)和內(nèi)置的記憶體。因此一個(gè)有關(guān)的重要區(qū)別是很多新的fpga支

24、持完全的或者部分的系統(tǒng)內(nèi)重新配置。允許他們的設(shè)計(jì)隨著系統(tǒng)升級或者動態(tài)重新配置而改變。一些fpga可以讓設(shè)備的一部分重新編輯而其他部分繼續(xù)正常運(yùn)行。vhdl語言可以支持自上至下(top-down)和基于庫(library-based)的設(shè)計(jì)方法,而且還支持同步電路、異步電路、fpga以及其它隨即電路的設(shè)計(jì),vhdl語言具有多層次描述系統(tǒng)硬件功能的能力,可以從系統(tǒng)的數(shù)學(xué)模型到門級電路。另外高層次的行為描述可以和低層次的rtl描述和結(jié)構(gòu)描述混用,這個(gè)是vhdl不同于其它hdl語言的。其它hdl語言只能進(jìn)行ic級、pcb級描述,而不能對系統(tǒng)級的硬件進(jìn)行很好的描述。在傳統(tǒng)的設(shè)計(jì)方法里面,往往要求設(shè)計(jì)者在

25、設(shè)計(jì)電路前寫出該電路的邏輯表達(dá)式或者真值表(時(shí)序電路的狀態(tài)表)。這一工作是相當(dāng)困難和繁雜的,特別是當(dāng)系統(tǒng)比較復(fù)雜的時(shí)候更是如此。利用vhdl設(shè)計(jì)硬件電路時(shí)候,就可以使用設(shè)計(jì)者免除編寫表達(dá)式真值表之苦,從而大大降低設(shè)計(jì)的難度,也縮短設(shè)計(jì)了周期。與傳統(tǒng)的電路原理圖相比,使用vhdl源程序有以下好處:其一是資料量小,便于保存;其二是繼承性好,當(dāng)設(shè)計(jì)其他硬件電路時(shí),可以使用文件中的某些庫、過程和進(jìn)程等描述某些局部硬件電路的程序;其三是閱讀方便,閱讀者很容易能從程序中看出某一電路的工作原理和邏輯關(guān)系。而從原理圖推知其工作原理,則需要更多的硬件知識和經(jīng)驗(yàn)。3 系統(tǒng)硬件設(shè)計(jì)3.1 甲烷傳感器模塊 電路設(shè)計(jì)如

26、圖3-1所示。 -圖3-1 mq-4甲烷傳感器模塊設(shè)計(jì)電路圖上圖是傳感器模塊的測試電路。該傳感器需要施加2個(gè)電壓:加熱器電壓(vh)和測試電壓(vc)。其中 vh用于為傳感器提供特定的工作溫度。vc則是用于測定與傳感器串聯(lián)的負(fù)載電阻(rl)上的電壓(vrl)。這種傳感器具有輕微的極性,vc需用直流電源。在滿足傳感器電性能要求的前提下,vc和vh 可以共用同一個(gè)電源電路。為更好利用傳感器的性能,需要選擇恰當(dāng)?shù)膔l值。本模塊輸出為模擬量0-5v電壓,濃度越高電壓越高。已知選擇的傳感器電阻rs為20k,電阻r0也為20 k,這樣的話理想情況下根據(jù)vrl=vcc/(rs/r0+1)得:輸出電壓vrl=

27、2.5v;而危險(xiǎn)情況下傳感器電阻為7.6 k,則輸出電壓為3.623v。由此可知最終送到fpga的安全電壓低于3.623v,報(bào)警電壓為3.623v,高于此電壓需撤離。3.2 a/d轉(zhuǎn)換模塊3.2.1 adc0809概述a/d轉(zhuǎn)換器(analog digital converter簡稱adc)是將輸入的模擬電壓或電流轉(zhuǎn)換成數(shù)字量的器件或設(shè)備,即能把被控對象的各種模擬信息變成計(jì)算機(jī)可以識別的數(shù)字信息,它是模擬系統(tǒng)與數(shù)字系統(tǒng)或計(jì)算機(jī)之間的接口。在這里選用的是adc0809,下面就介紹adc0809。adc0809是cmos的8位模/數(shù)轉(zhuǎn)換器,采用逐次逼近原理進(jìn)行a/d轉(zhuǎn)換,芯片內(nèi)有模擬多路轉(zhuǎn)換開關(guān)和

28、a/d轉(zhuǎn)換兩大部分,可對8路05v的輸入模擬電壓信號分時(shí)進(jìn)行轉(zhuǎn)換。 圖3-2 adc0809管腳圖管腳功能說明:in0in7:模擬量輸入通道。就是說它可以分時(shí)地分別對八個(gè)模擬量進(jìn)行測量轉(zhuǎn)換;addac:地址線。也就是通過這三根地址線的不同編碼來選擇對哪個(gè)模擬量進(jìn)行測量轉(zhuǎn)換;ale:地址鎖存允許信號。在低電平時(shí)向addac寫地址,當(dāng)ale跳至高電平后addac上的數(shù)據(jù)被鎖存;start:啟動轉(zhuǎn)換信號。當(dāng)它為上升沿后,將內(nèi)部寄存器清0。當(dāng)它為下降沿后,開始a/d轉(zhuǎn)換;d0d7:數(shù)據(jù)輸出口。轉(zhuǎn)換后的數(shù)字?jǐn)?shù)據(jù)量就是從這輸出的;oe:輸出允許信號,是對d0d7的輸出控制端,oe0,輸出端呈高阻態(tài),oe1

29、,輸出轉(zhuǎn)換得到的數(shù)據(jù);clock:時(shí)種信號。adc0809內(nèi)部沒有時(shí)鐘電路,需由外部提供時(shí)鐘脈沖信號。一般為500khz;eoc:轉(zhuǎn)換結(jié)束狀態(tài)信號。eoc0,正在進(jìn)行轉(zhuǎn)換。eoc1,轉(zhuǎn)換結(jié)束,可以進(jìn)行下一步輸出操作ref(+)、ref(-):參考電壓。參考電壓用來與輸入的模擬量進(jìn)行比較,作為測量的基準(zhǔn)。一般ref(=)5vref(-)0v。時(shí)序圖如圖3-3所示: 圖3-3: adc0809工作時(shí)序圖它的工作過程為:在in0in7上可分別接上要測量轉(zhuǎn)換的8路模擬量信號;將addaaddc端給上代表選擇測量通道的代碼。如000(b)則代表通道0;001(b)代表通道1;111則代表通道7;將ale

30、由低電平置為高電平,從而將addaaddc送進(jìn)的通道代碼鎖存,經(jīng)譯碼后被選中的通道的模擬量送給內(nèi)部轉(zhuǎn)換單元;給start一個(gè)正脈沖。當(dāng)上升沿時(shí),所有內(nèi)部寄存器清零。下降沿時(shí),開始進(jìn)行a/d轉(zhuǎn)換;在轉(zhuǎn)換期間,start保持低電平;eoc為轉(zhuǎn)換結(jié)束信號。在上述的a/d轉(zhuǎn)換期間,可以對eoc進(jìn)行不斷測量,當(dāng)eoc為高電平時(shí),表明轉(zhuǎn)換工作結(jié)束。否則,表明正在進(jìn)行a/d轉(zhuǎn)換;當(dāng)a/d轉(zhuǎn)換結(jié)束后,將oe設(shè)置為1,這時(shí)d0d7的數(shù)據(jù)便可以讀取了。oe0,d0d7輸出端為高阻態(tài),oe1,d0d7端輸出轉(zhuǎn)換的數(shù)據(jù)11。3.2.2 數(shù)模轉(zhuǎn)換電路圖3-4 數(shù)模轉(zhuǎn)換電路 當(dāng)傳感器所處環(huán)境中存在甲烷氣體時(shí),傳感器的電導(dǎo)

31、率隨空氣中甲烷氣體濃度的增加而增大,輸出的電壓值送入in-0輸入端,由于mq-4的模擬輸出量在0-5v,所以不用對信號進(jìn)行放大處理。add-a、add-b、add-c三條地址線接地使adc0809只對in-0輸入端進(jìn)行信息采集。而in-0端輸入的電壓值隨著環(huán)境中甲烷濃度的變化而變化,adc0809對輸入的電壓進(jìn)行采樣、保持、量化、編碼最后輸出為8位二進(jìn)制數(shù),然后送入fpga進(jìn)行數(shù)據(jù)處理。同時(shí)ale、enable、start、clock接fpga,fpga為adc0809提供地址鎖存信號、輸出允許控制信號、啟動控制信號和時(shí)鐘信號。由于危險(xiǎn)情況下(甲烷濃度為0.8%)電壓輸出值為3.623v,所以

32、經(jīng)過ad轉(zhuǎn)換得此時(shí)adc0809的輸出為10111001。3.3 無線傳輸模塊設(shè)計(jì) 本文中的無線數(shù)據(jù)傳輸模塊采用ptr2000,因?yàn)樗悄壳凹啥容^高的無線收發(fā)產(chǎn)品,其接受和發(fā)送合為一體,具有兩個(gè)頻道,可滿足多信道工作的場合。 其硬件結(jié)構(gòu)框圖如圖3-5所示。 圖3-5 無線數(shù)據(jù)傳輸模塊硬件結(jié)構(gòu)框圖 其工作模式包括工作頻道的設(shè)置和發(fā)送、接收、待機(jī)狀態(tài),由txen、cs、pwr引腳共同決定,其工作模式設(shè)置如表3-1所示。 表3-1 ptr2000工作模式設(shè)置 引腳引入電平 模塊工作狀態(tài)txencs pwr工作頻道工作狀態(tài)0011接收0112 接收1011 發(fā)射1112 發(fā)射xx0發(fā)射由上圖得:由于

33、模塊不同的工作模式,可以設(shè)置不同的引腳輸入電平得到不同的工作模式,可以由此設(shè)置讓ptr2000無線傳輸模塊工作于接收或放射狀態(tài)。ptr2000模塊的txen=1,接到vcc上,ptr2000出于發(fā)射狀態(tài);如果txen=0,接到gnd上,ptr2000出于接收狀態(tài)。ptr2000的cs引腳和gnd連接,即使固定通訊頻道為頻道1。ptr2000的pwr引腳連接到vcc上,使ptr2000的固定工作在正常狀態(tài)。具體的連接圖如圖3-6和圖3-7所示。 圖3-6 接收端ptr2000連接圖 圖3-7 發(fā)射端ptr2000連接圖3.4 led顯示電路設(shè)計(jì)發(fā)光二極一般是砷化鎵半導(dǎo)體二極管,在發(fā)光二極管兩端加

34、上正向電壓,則發(fā)光二極管發(fā)光。數(shù)碼管是由若干發(fā)光二極管組合而成的,有共陰極和共陰極兩種結(jié)構(gòu)形。8段共陰極數(shù)碼管由a、b、c、d、e、f、g、d、g這8個(gè)發(fā)光二極管組成。把8個(gè)發(fā)光二極管的陰極連接在一起構(gòu)成共陰極端,接進(jìn)電路時(shí),共陰極端接地,給要發(fā)光顯示的二極管的陽極端接高電平可使該二極管導(dǎo)通點(diǎn)亮。如圖3-8所示。 圖3-8 led顯示電路3.5 報(bào)警電路設(shè)計(jì)采用電磁式蜂鳴器作為聲音報(bào)警的發(fā)聲器件,其工作原理為:電磁式蜂鳴器由振蕩器、電磁線圈、磁鐵、振動膜片及外殼等組成。接通電源后,振蕩器產(chǎn)生的音頻信號電流通過電磁線圈,使電磁線圈產(chǎn)生磁場。振動膜片在電磁線圈和磁鐵的相互作用下,周期地振動發(fā)聲,當(dāng)

35、瓦斯?jié)舛瘸^閾值時(shí),fpga輸出低電平使pnp型三極管導(dǎo)通,蜂鳴器兩端腳產(chǎn)生壓差,從而發(fā)出聲音報(bào)警信號。其具體連接方法如圖3-9所示。 圖3-9 報(bào)警電路 4 系統(tǒng)軟件設(shè)計(jì)軟件部分的總體設(shè)計(jì)流程圖如下: 開始 系統(tǒng)初始化 調(diào)用a/d轉(zhuǎn)換子程序 數(shù)據(jù)處理 超過閾值ptr2000模塊發(fā)送數(shù)據(jù)接收ptr2000數(shù)據(jù) 顯示濃度 數(shù)據(jù)處理ny 報(bào)警 結(jié)束 圖4-1 軟件設(shè)計(jì)流程圖 工作原理:當(dāng)傳感器完成預(yù)熱后,調(diào)用a/d轉(zhuǎn)換子程序進(jìn)行數(shù)據(jù)采集,然后進(jìn)行數(shù)據(jù)處理,當(dāng)數(shù)據(jù)處理完畢后,就進(jìn)行串口通信,將數(shù)據(jù)通過串口送出,最后送至ptr2000無線傳輸模塊進(jìn)行發(fā)射,然后再次進(jìn)行串口通信,接收來自無線接收模塊pt

36、r2000的數(shù)據(jù),然后將數(shù)據(jù)送入fpga進(jìn)行數(shù)據(jù)處理,經(jīng)處理后,將瓦斯?jié)舛蕊@示在數(shù)碼管上,比較瓦斯?jié)舛龋_定是否大于設(shè)定的濃度閾值,若大于,則進(jìn)行報(bào)警,否則返回執(zhí)行。4.1 ptr2000無線傳輸模塊 無線傳輸?shù)能浖O(shè)計(jì)包括發(fā)射端和接收端兩部分,兩部分軟件相互配合,設(shè)置各自的 ptr2000模塊的工作狀態(tài)。4.1.1 ptr2000模塊程序設(shè)計(jì)發(fā)射端和接收端軟件配合設(shè)置ptr2000的狀態(tài)(發(fā)射或接收),選擇固定的通信頻道1(cs=0), 并讓ptr2000模塊一直處于正常工作狀態(tài)(pwm=1)。無線傳輸實(shí)現(xiàn)過程如下:(1)發(fā)送在發(fā)送數(shù)據(jù)之前,應(yīng)將ptr2000模塊置于發(fā)射模式,即txen=1

37、。然后等待至少后5ms(接收到發(fā)射的切換時(shí)間)才可發(fā)射數(shù)據(jù)。發(fā)送結(jié)束后,應(yīng)將模塊置于接收狀態(tài),即txen=0;(2)接收應(yīng)將ptr2000置于接收模式,即txen=0。當(dāng)發(fā)射端發(fā)送時(shí),接收端應(yīng)為接收。4.1.2 串行無線傳輸協(xié)議設(shè)計(jì) 無線通信中,由于外部環(huán)境的干擾,通常誤碼率較高,因此通信協(xié)議的設(shè)計(jì)對保證通信的可靠性十分重要。協(xié)議的設(shè)計(jì)主要是幀結(jié)構(gòu)的設(shè)計(jì),在該無線通信系統(tǒng)中,存在指令幀和數(shù)據(jù)幀。 數(shù)據(jù)幀的內(nèi)容包括起始字節(jié)、數(shù)據(jù)長度字節(jié)、數(shù)據(jù)字節(jié)、結(jié)束字節(jié)和校驗(yàn)和字節(jié),如表4-1所示。表4-1 數(shù)據(jù)幀設(shè)置起始字節(jié)數(shù)據(jù)長度字節(jié)數(shù)據(jù)字節(jié)校驗(yàn)和字節(jié)接收字節(jié)1字節(jié) 1字節(jié)n字節(jié)1字節(jié)1字節(jié)采用校驗(yàn)和的方

38、法進(jìn)行幀的校驗(yàn),將所有字節(jié)相加,然后將結(jié)果截短到所需的位長。發(fā)射端對待發(fā)送的數(shù)據(jù)進(jìn)行校驗(yàn)和計(jì)算,將校驗(yàn)和值放在數(shù)據(jù)后一起發(fā)送;在接收端,對接收到的數(shù)據(jù) 進(jìn)行校驗(yàn)和計(jì)算,然后與收到的校驗(yàn)和字節(jié)比較,進(jìn)行誤碼判斷13。程序流程圖如圖4-2所示。 圖4-2 ptr2000無線傳輸流程圖4.1.3 發(fā)射端程序設(shè)計(jì) 圖4-3 發(fā)射端模塊 此模塊是模擬ptr2000發(fā)射端的。cs、txen和pwm三個(gè)引腳控制其工作狀態(tài)。當(dāng)cs=0,pwr=1,txen=1時(shí)處于發(fā)射狀態(tài)。由于數(shù)據(jù)輸入是并行輸入,輸出是串行輸出,所以需要編寫一個(gè)并行轉(zhuǎn)串行的程序。txmit_over是發(fā)送結(jié)束標(biāo)志,發(fā)送結(jié)束后txmit_ov

39、er=1。程序如下:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity fashe_module is port(clk,reset:in std_logic;- clock and reset txd_data: in std_logic_vector(7 downto 0);-parell data input a:in std_logic;-start fasong cs,txen,pwm:out std_logic; txd:out std_logic;-serial outpu

40、t txmit_over:out std_logic );-zhishi:fasong wanbi end fashe_module ;architecture rtl of fashe_module is type state is (start, trans_state, trans_done); signal current_state:state:=start; signal clk_co:std_logic;-5fenpin shuchu signal start_trans:std_logic; -kaishi chuanshu signal counter,clk_1x_coun

41、ter,clk_2x_counter:integer range 0 to 15; signal clk_2x:std_logic_vector(2 downto 0); signal clk_1x:std_logic; signal txd_counter:integer range 0 to 15; signal txd_over:std_logic; signal zancun_data:std_logic_vector(7 downto 0);begin -16fenpin clock_fenpin_16: process(clk)-clock process begin if clk

42、event and clk=1 then if clk_1x_counter8 then clk_1x_counter=clk_1x_counter+1; else clk_1x_counter=0; clk_1x=not clk_1x; end if; end if; end process clock_fenpin_16;-5fenpin clock_fenpin_5: process(clk)-clock process begin if a=1 then clk_co=0;clk_2x=000; else if clkevent and clk=1 then if clk_2x100

43、then clk_2x=clk_2x+1; clk_co=0; else clk_co=1; end if; end if; end if; end process clock_fenpin_5;process(clk_1x,start_trans) begin if start_trans=0 then txd_counter=0; txd_over=0; elsif clk_co=1 then if(clk_1xevent and clk_1x=1 ) then if txd_counter10 then txd_counter=txd_counter+1; else txd_over=1

44、; txd_countertxdtxdtxdtxdtxdtxdtxdtxdtxdtxdtxdtxd=1; end case;end process;fsm:process(reset,clk)-zhuangtaijibegin if reset=1 then start_trans=0; txmit_over=0; current_state cs=0; txen=0; pwm=1; if a=0 then start_trans=1; zancun_data=txd_data; current_state txen=1; if txd_over=1 then current_state= t

45、rans_done; start_trans=0; txmit_over txen=0; if a=1 then current_state=start; txmit_over=0; end if; end case; end if;end process fsm;end rtl;4.1.4 接收端程序設(shè)計(jì) 圖4-4 接收端模塊 此模塊是模擬ptr2000接收端的。cs、txen和pwm三個(gè)引腳控制其工作狀態(tài)。當(dāng)cs=0,pwr=1,txen=0時(shí)處于接收狀態(tài)。由于數(shù)據(jù)輸入是串行輸入,輸出是并行輸出,所以需要編寫一個(gè)串行轉(zhuǎn)并行的程序。程序如下:library ieee;use ieee.std

46、_logic_1164.all;entity receiver is port(clk,reset:in std_logic;- clock and reset rxd: in std_logic;-serial data input get_data:out std_logic; cs,txen,pwm:out std_logic; receive_data:out std_logic_vector(7 downto 0);-output clock end receiver ;architecture rtl of receiver is type state is (start, rec

47、eive_state, stop_state); signal current_state:state:=start; signal start_receive:std_logic; signal counter,clk_1x_counter:integer range 0 to 15; signal inner_clk,clk_1x:std_logic; signal rxd_counter:integer range 0 to 15; signal receive_over:std_logic; signal zancun_data:std_logic_vector(7 downto 0);begincs=0;txen=0;pwm=1; -16fenpin clock_fenpin: pro

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論