基于LPC221的瓦斯檢測儀的設(shè)計
引言
近年來,隨著瓦斯檢測技術(shù)得到大力研究和開發(fā)。為開發(fā)新一代微處理器控制的智能化瓦斯檢測報警儀創(chuàng)造了條件。本次設(shè)計的瓦斯檢測儀是采用了以ARM微處理器為核心的智能檢測控制設(shè)備,它不僅采用20世紀(jì)90年代國際先進的單片機微處理技術(shù),還具有下列特點:
?、偌咚箼z測、時鐘顯示于一體;
?、?實現(xiàn)了自動調(diào)零和校準(zhǔn);
?、鄄捎脙x用放大器,可自動轉(zhuǎn)換量程,提高了測量精度,測值報警準(zhǔn)確;
?、懿捎肬SB通信接口實現(xiàn)采集數(shù)據(jù)上傳,具備通信功能;
?、莶捎么笕萘縁LASH作存儲體,可存放上萬檢測數(shù)據(jù);
?、?采用按鍵實現(xiàn)功能選擇和數(shù)據(jù)輸入,操作簡單,便于使用;
⑦采用本安型電源,實現(xiàn)充電自控管理。
1 引入嵌入式實時操作系統(tǒng)μCIOS—II的意義
智能瓦斯檢測設(shè)備集各種功能于一身,不僅要實現(xiàn)瓦斯?jié)舛鹊臄?shù)據(jù)采集、控制報警等基本功能,而且還要實時顯示檢測數(shù)據(jù)、隨時接受鍵盤輸入。除此之外,還要具有友好的人機界面以及上傳數(shù)據(jù)等通信功能。如果采用傳統(tǒng)的順序結(jié)構(gòu)編程思想,將很難保證數(shù)據(jù)采集的實時性要求,無法對各個對象的實時信息以足夠快的速度處理并做出快速響應(yīng).
其程序設(shè)計的復(fù)雜性也將大大提高,不利于程序的后期維護和修改。而實時操作系統(tǒng)能對運行情況的最好和最壞等情況作出精確的估計。其實時性要比前后臺系統(tǒng)要好得多,系統(tǒng)能及時響應(yīng)外部異步事件的請求,在規(guī)定的時間內(nèi)完成對該事件的處理,并控制所有實時任務(wù)協(xié)調(diào)一致地運行。
本次從實際情況出發(fā),選擇μC/OS—II作為實時操作系統(tǒng),讓它管理各個應(yīng)用程序,達到優(yōu)化系統(tǒng)資源的目的。
2 硬件設(shè)計
2.1 手持瓦斯檢測儀的組成和工作原理
手持瓦斯檢測儀的原理框圖如圖1所示。
工作時,瓦斯?jié)舛冉?jīng)檢測單元轉(zhuǎn)化為電信號,再經(jīng)過運放單元的放大調(diào)理,然后送入CPU的模數(shù)轉(zhuǎn)換模塊;CPU根據(jù)A/D轉(zhuǎn)換的結(jié)果進行邏輯分析判斷,和預(yù)先設(shè)計的報警閾值進行比較,若超出閾值則進行聲光報警。而后可通過鍵盤的操作實現(xiàn)檢測地點的輸入、檢測數(shù)據(jù)的存儲和系統(tǒng)參數(shù)的設(shè)置等功能。檢測的濃度、檢測時間、輸入的地點、相應(yīng)功能界面等數(shù)據(jù)參數(shù)通過LCD顯示出來。各種數(shù)據(jù)通過鍵盤進行設(shè)定,并保存在FLASH中,隨時可進行更改和查看。檢測儀還可以通過USB通信協(xié)議和Pc機雙向通信,實現(xiàn)歷史數(shù)據(jù)的傳輸、濃度變化態(tài)勢的分析等功能。電源單元為以上各個單元模塊提供能量。
2.2 關(guān)鍵電路單元設(shè)計
2.2.1 檢測單元
檢測單元電路也就是傳感器電路,由催化元件和電阻組成的橋路,實現(xiàn)濃度非電信號轉(zhuǎn)化為電信號功能。其檢測原理為:利用敏感元件(俗稱黑白元件)對瓦斯的催化作用使瓦斯在元件表面上發(fā)生無焰燃燒,放出熱量使元件溫度上升,增加了敏感元件鉑絲的電阻值,通過惠斯登電橋測量電路,可以測量其敏感元件電阻值變化量。
2.2.2 運放單元
運放單元由放大電路和量程轉(zhuǎn)換電路組成,實現(xiàn)信號放大、調(diào)理和量程轉(zhuǎn)換功能。如圖2所示。
2.2.3 鍵盤單元
本次設(shè)計中采用專用的鍵盤接口芯片ZLG7290。ZLG7290采用I2C串行接口,提供鍵盤中斷信號,方便與處理:器連接,可采用多達64個按鍵,可檢測每個按鍵的連擊次數(shù),具備鍵盤去抖處理、雙鍵互鎖處理、連擊處理和功能鍵處理等功能。具體的連接電路圖如圖3所示。
[!--empirenews.page--]
2.2.4 顯示單元
顯示單元是實現(xiàn)人機交互的一個重要手段,本次設(shè)計中采用液晶顯示屏實現(xiàn)人機交互。本次設(shè)計使用的MG12864A點陣圖形液晶模塊的點像素為128×64點。黑色字,白色底,STN液晶屏,視角為6:00,內(nèi)嵌控制器為ksO107/ks0108,外部顯示存儲器為32K字節(jié)。采用8位總線接口與微控制器連接,內(nèi)部集成了負(fù)壓DC—DC電路,使用負(fù)壓DC—DC電路,使用單5 V電源。
2.2.5 存儲單元
由于LPC2210微控制器沒有片內(nèi)程序存儲和數(shù)據(jù)存儲,根據(jù)系統(tǒng)的需要,必須設(shè)計存儲系統(tǒng)。本次設(shè)計通過微控制器的外部總線接口來實現(xiàn),采用SST公司的CMOS多功能FLASH器件SST39VF160,存儲容量為2M字節(jié)(容量大小的計算具體詳見軟件部分),l6位數(shù)據(jù)寬度(即一個字為2個字節(jié)),工作電壓為2.7—3.6 V。該芯片采用高性能的Super.
Flash技術(shù)(該技術(shù)提供了固定的擦除和編程時間)制造而成,與擦除/編程周期數(shù)無關(guān)。該芯片采用48腳TSOP封裝,十分適合做手持設(shè)備的數(shù)據(jù)和程序積存器。
3 軟件設(shè)計
檢測儀的軟件實際主要包括嵌入式實時操作系統(tǒng)內(nèi)核設(shè)計、用戶應(yīng)用程序設(shè)計、通信程序3部分。
3.1 總體設(shè)計思想
軟件系統(tǒng)引入嵌入式實時操作系統(tǒng)μC/OS—II,整個系統(tǒng)都在μC/OS—II的管理下運行。程序設(shè)計有別于傳統(tǒng)的順序結(jié)構(gòu)的設(shè)計思想,程序雖然有主程序,但主程序并不完成某種特定的功能,而只是對一些軟硬件、實時變量、全局變量以及操作系統(tǒng)進行初始化,并且建立一個任務(wù),然后啟動操作系統(tǒng)而已;最后系統(tǒng)就把CPμ控制權(quán)交給操作系統(tǒng),永遠(yuǎn)不會返回主程序。通過操作系統(tǒng)調(diào)度,實時采集的外部CH4濃度轉(zhuǎn)變成的電壓電流信號,并對其進行計算、判斷,輸出控制信號或者報警,實現(xiàn)儀器的檢測功能;而且操作系統(tǒng)實時跟蹤鍵盤輸入時間的中斷,實現(xiàn)輸入功能;實時跟蹤外部USB(或UART0)通信事件中斷,可保持和外部Pc機的通信。
3.2 實時操作系統(tǒng)核心的具體實現(xiàn)
本程序采用實時系統(tǒng)設(shè)計方法中的功能內(nèi)聚和時間內(nèi)聚方法,根據(jù)各個任務(wù)的重要性和實時性把應(yīng)用程序分成9個不同優(yōu)先級的任務(wù)。包括傳感器啟動、AD采樣、數(shù)據(jù)計算、聲光報警、數(shù)據(jù)存儲、機器白檢、鍵盤處理、LCD顯示、數(shù)據(jù)通信、空閑任務(wù)等,優(yōu)先級依次由高到低。任務(wù)越重要,實時性越強,其任務(wù)優(yōu)先級就越高,相反就越低。
3.3 USB通信
USB總線主要用于USB設(shè)備與USB主機之間的數(shù)據(jù)通信,特別為USB設(shè)備與USB主機之間大量數(shù)據(jù)的傳輸提供了高速、可靠的傳輸協(xié)議。采用飛利普的PDIUSBD12,它是一款性價比很高的USB器件,完全符合USB1.1版規(guī)范。PDIUSBD12具有8bit的數(shù)據(jù)總線接口DATA0~DATA7,片選引腳CS—N以及讀選通引腳RD.N和寫選通引腳WR,N。由此可見,PIDUSBD12的硬件接口和外部存儲器接口很相似,因此,可以當(dāng)作一片外部RAM芯片來進行訪問。對于工JPc2210微控制器,它的外部數(shù)據(jù)總線與地址總線是分開的。這時,PDIUSBD12的DATA0一DATA7可以直接與LPC2210的數(shù)據(jù)總線D0一D7直接相連就可以構(gòu)成訪問PDIUSBD12的數(shù)據(jù)總線了。
如圖4所示。
3.4 上位機軟件設(shè)計及說明
所設(shè)計的上位機軟件是瓦斯報警儀數(shù)據(jù)管理系統(tǒng),通過該系統(tǒng)可以方便地將各種實時檢測的數(shù)據(jù)存儲在上位機的數(shù)據(jù)庫中(主要數(shù)據(jù)包括“瓦斯?jié)舛?rdquo;、“檢測地點”、“檢測日期”及“檢測時間”),上位機的程序設(shè)計是通過Visual C++6.0完成的。
該軟件主要由數(shù)據(jù)通信模塊、數(shù)據(jù)存儲模塊、數(shù)據(jù)查詢模塊、數(shù)據(jù)回顯模塊、數(shù)據(jù)打印模塊等組成,各自主要完成的功能如下:
①數(shù)據(jù)采集模塊是利用USB通訊完成,將下位機中的數(shù)據(jù)(BCD碼的形式)讀出,并保存到數(shù)據(jù)庫中作為歷史記錄。
?、跀?shù)據(jù)存儲模塊是針對數(shù)據(jù)庫的操作,當(dāng)采集出下位機中的數(shù)據(jù)后通過對數(shù)據(jù)庫一定的編程。將傳上來的數(shù)據(jù)按即定的格式存儲到數(shù)據(jù)庫中。
③數(shù)據(jù)查詢模塊是當(dāng)存儲了一定的數(shù)據(jù)后。按所操作的需要進行查詢,將符合條件的記錄重新組合,并顯示出來。
④ 數(shù)據(jù)回顯將指定數(shù)據(jù)庫中的信息以2種形式呈現(xiàn)出來。
一種是數(shù)據(jù)表格的形式;另一種是圖表的形式,該圖表要給人以直觀的感覺,繪出的曲線應(yīng)符合歷史曲線的要求。
?、?數(shù)據(jù)打印模塊是數(shù)據(jù)回顯的后續(xù)工作,可以將希望分析的表格或圖表打印出來,具體操作由操作人員定。
4 結(jié)語
隨著微電子技術(shù)的發(fā)展,檢測技術(shù)的提高,研發(fā)小型化、智能化、高性能的瓦斯檢測設(shè)備成為當(dāng)務(wù)之急。本設(shè)計對便攜式瓦斯檢測儀進行了研究和探討,并已做出成型產(chǎn)品準(zhǔn)備用于煤礦瓦斯檢測。