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