基于LPC221的瓦斯檢測儀的設計
2.2.4 顯示單元
顯示單元是實現人機交互的一個重要手段,本次設計中采用液晶顯示屏實現人機交互。本次設計使用的MG12864A點陣圖形液晶模塊的點像素為128×64點。黑色字,白色底,STN液晶屏,視角為6:00,內嵌控制器為ksO107/ks0108,外部顯示存儲器為32K字節。采用8位總線接口與微控制器連接,內部集成了負壓DC—DC電路,使用負壓DC—DC電路,使用單5 V電源。
2.2.5 存儲單元
由于LPC2210微控制器沒有片內程序存儲和數據存儲,根據系統的需要,必須設計存儲系統。本次設計通過微控制器的外部總線接口來實現,采用SST公司的CMOS多功能FLASH器件SST39VF160,存儲容量為2M字節(容量大小的計算具體詳見軟件部分),l6位數據寬度(即一個字為2個字節),工作電壓為2.7—3.6 V。該芯片采用高性能的Super.
Flash技術(該技術提供了固定的擦除和編程時間)制造而成,與擦除/編程周期數無關。該芯片采用48腳TSOP封裝,十分適合做手持設備的數據和程序積存器。
3 軟件設計
檢測儀的軟件實際主要包括嵌入式實時操作系統內核設計、用戶應用程序設計、通信程序3部分。
3.1 總體設計思想
軟件系統引入嵌入式實時操作系統μC/OS—II,整個系統都在μC/OS—II的管理下運行。程序設計有別于傳統的順序結構的設計思想,程序雖然有主程序,但主程序并不完成某種特定的功能,而只是對一些軟硬件、實時變量、全局變量以及操作系統進行初始化,并且建立一個任務,然后啟動操作系統而已;最后系統就把CPμ控制權交給操作系統,永遠不會返回主程序。通過操作系統調度,實時采集的外部CH4濃度轉變成的電壓電流信號,并對其進行計算、判斷,輸出控制信號或者報警,實現儀器的檢測功能;而且操作系統實時跟蹤鍵盤輸入時間的中斷,實現輸入功能;實時跟蹤外部USB(或UART0)通信事件中斷,可保持和外部Pc機的通信。
3.2 實時操作系統核心的具體實現
本程序采用實時系統設計方法中的功能內聚和時間內聚方法,根據各個任務的重要性和實時性把應用程序分成9個不同優先級的任務。包括傳感器啟動、AD采樣、數據計算、聲光報警、數據存儲、機器白檢、鍵盤處理、LCD顯示、數據通信、空閑任務等,優先級依次由高到低。任務越重要,實時性越強,其任務優先級就越高,相反就越低。
3.3 USB通信
USB總線主要用于USB設備與USB主機之間的數據通信,特別為USB設備與USB主機之間大量數據的傳輸提供了高速、可靠的傳輸協議。采用飛利普的PDIUSBD12,它是一款性價比很高的USB器件,完全符合USB1.1版規范。PDIUSBD12具有8bit的數據總線接口DATA0~DATA7,片選引腳CS—N以及讀選通引腳RD.N和寫選通引腳WR,N。由此可見,PIDUSBD12的硬件接口和外部存儲器接口很相似,因此,可以當作一片外部RAM芯片來進行訪問。對于工JPc2210微控制器,它的外部數據總線與地址總線是分開的。這時,PDIUSBD12的DATA0一DATA7可以直接與LPC2210的數據總線D0一D7直接相連就可以構成訪問PDIUSBD12的數據總線了。
如圖4所示。
3.4 上位機軟件設計及說明
所設計的上位機軟件是瓦斯報警儀數據管理系統,通過該系統可以方便地將各種實時檢測的數據存儲在上位機的數據庫中(主要數據包括“瓦斯濃度”、“檢測地點”、“檢測日期”及“檢測時間”),上位機的程序設計是通過Visual C++6.0完成的。
該軟件主要由數據通信模塊、數據存儲模塊、數據查詢模塊、數據回顯模塊、數據打印模塊等組成,各自主要完成的功能如下:
?、贁祿杉K是利用USB通訊完成,將下位機中的數據(BCD碼的形式)讀出,并保存到數據庫中作為歷史記錄。
?、跀祿鎯δK是針對數據庫的操作,當采集出下位機中的數據后通過對數據庫一定的編程。將傳上來的數據按即定的格式存儲到數據庫中。
③數據查詢模塊是當存儲了一定的數據后。按所操作的需要進行查詢,將符合條件的記錄重新組合,并顯示出來。
④ 數據回顯將指定數據庫中的信息以2種形式呈現出來。
一種是數據表格的形式;另一種是圖表的形式,該圖表要給人以直觀的感覺,繪出的曲線應符合歷史曲線的要求。
?、?數據打印模塊是數據回顯的后續工作,可以將希望分析的表格或圖表打印出來,具體操作由操作人員定。
4 結語
隨著微電子技術的發展,檢測技術的提高,研發小型化、智能化、高性能的瓦斯檢測設備成為當務之急。本設計對便攜式瓦斯檢測儀進行了研究和探討,并已做出成型產品準備用于煤礦瓦斯檢測。
評論