基于S3C2410的氫氣濃度監測系統設計
Linux內核中,每個設備驅動程序都對應一個file_operations數據結構。在file_operations數據結構中,定義了一些與此設備相關的打開、關閉、讀/寫、控制等功能函數,當用戶進行系統調用時,將自動使用驅動程序中特定的函數來實現具體的操作。實際上,編寫設備驅動程序的過程也就是實現struct file_operations結構中的部分所需函數的過程。
3.2 應用程序設計
有了設備驅動程序提供底層硬件與應用程序的接口,Linux系統訪問底層設備就像訪問普通文件一樣。例如,打開設備使用系統調用open(),關閉設備使用系統調用close(),讀/寫設備使用系統調用read()和write()等。應用程序流程如圖4所示。首先系統上電復位,程序初始化,然后掃描鍵盤值,看是否有鍵值按下。若有,則進行按鍵處理并按輸入步驟設置程序;若無,則開中斷并啟動A/D轉換,等待轉換完成產生中斷,進入中斷服務程序。中斷服務程序流程如圖5所示。首先關閉中斷,讀取A/D采集數據,調用適用于緩變信號的中值濾波算法處理轉換結果,將連續采樣的5次采樣值按大小排序,取中間值為本次有效值。然后,存儲處理后的數據并送顯示器顯示。最后,從中斷返回到主程序中,再判斷當前數據是否超過設定的臨界值。若大于臨界值,作報警處理;否則就開中斷,等待下一次轉換結束。依此循環處理。本文引用地址:http://www.104case.com/article/195385.htm
4 實驗
在容積約70 m3的密閉實驗室中,利用化學制氫法制取約40 ml氫氣,再用該系統來檢測環境中氫氣濃度值,實驗界面如圖6所示。在界面中,顯示了當前時間、當前環境濃度值、超限與否提示、當前通道以及1 h內的濃度變化曲線。監測系統的準確度、靈敏度、實時性等各項指標基本達到設計要求。
結語
本文介紹了信號的前端調理電路,為微處理器S3C2410移植了嵌入式Linux操作系統,并在該系統下完成了設備驅動程序和應用程序的設計;利用軟件算法對A/D轉換后的信號進行了數值處理,最后介紹了圖形用戶界面,可動態顯示當前氫氣濃度值。該系統較好地滿足了對現場環境中氫氣濃度的實時動態監測要求,系統體積小,功耗低,成本低;還可根據需求靈活配置,適合便攜式移動應用的場合,且具有良好的準確性、實時性和穩定性。
評論