基于Linux的嵌入式數(shù)據(jù)采集系統(tǒng)
2.2.3 應用程序設計
在基于嵌入式Linux系統(tǒng)的微機中,應用程序的主要模塊有數(shù)據(jù)采集模塊、數(shù)據(jù)處理模塊、數(shù)據(jù)通信模塊和數(shù)據(jù)診斷模塊。應用程序流程圖見圖4。
數(shù)據(jù)采集模塊是通過對I / O 口操作實現(xiàn)的。利用inb、inb_p、outb、outb_p 等4 個函數(shù)編寫讀取和寫入程序。inb_p 、outb_p與inb、outb 的區(qū)別在于前者在存取I/O時有等待(pause),可適應慢速的I/O設備。為了防止存取I/O 時發(fā)生沖突,Linux提供對端口使用情況的控制。在使用端口之前,可以檢查需要的I/O是否正在被使用,如果沒有,便把端口標記為正在使用,使用完后再釋放。
數(shù)據(jù)處理模塊實現(xiàn)數(shù)據(jù)的均值與極值計算, 以文件的方式存儲數(shù)據(jù)。歷史數(shù)據(jù)對焊縫數(shù)據(jù)采集系統(tǒng)很重要,可上傳到服務器以便預報系統(tǒng)根據(jù)設置的模型進行預測,還可不斷修正數(shù)據(jù)診斷模塊所需的模型。
數(shù)據(jù)診斷模塊實現(xiàn)實時分析診斷,根據(jù)已設置的模型,在系統(tǒng)工作期間對系統(tǒng)數(shù)據(jù)進行測試分析。診斷程序設置為嵌入式系統(tǒng)中中斷級別最低的中斷服務程序,在不影響系統(tǒng)工作的前提下實現(xiàn)實時診斷,并上傳給上位機,以便跟蹤診斷校準,保證系統(tǒng)的可靠性。
數(shù)據(jù)通信模塊主要任務是通過串口與上位PC機實現(xiàn)數(shù)據(jù)傳輸。在Linux系統(tǒng)中,串口是用做字符設備處理的。使用文件操作函數(shù)對串口進行處理,利用open函數(shù)打開串口,利用termios結(jié)構(gòu)設定串口通信參數(shù)。
2.2.4 系統(tǒng)執(zhí)行
經(jīng)過以上步驟,在嵌入式Linux系統(tǒng)上實現(xiàn)數(shù)據(jù)采集系統(tǒng)已基本構(gòu)成。系統(tǒng)執(zhí)行流程見圖5。
3 小結(jié):
本文作者創(chuàng)新點是基于嵌入式Linux的數(shù)據(jù)采集系統(tǒng)具有數(shù)據(jù)檢測的實時性、檢測精度高、自動化程度高、具有良好的可靠性、穩(wěn)定性和抗干擾性等特點。實際運行證明高性能的AMR9微處理器和Linux操作系統(tǒng)的運用提高了系統(tǒng)的實時響應性能和多任務處理能力,使系統(tǒng)的可靠性和可擴展性得以明顯提高。
參考文獻:
[1] 雷于紅,劉益成,劉凱. 基ARM9的嵌入式LINUX地震數(shù)據(jù)采集系統(tǒng)設計.微計算機信息,2008,3-2: 166-167.
[2] 金西,黃汪.嵌入式Linux技術(shù)及其應用. 計算機應用.2000,20(7):4~6.
[3] 鄭銳,黃佩偉.基于ARM-Linux的智能傳感器中央控制器,電子技術(shù).2006年12月,p43-46
[4] 盛壽麟.電力系統(tǒng)遠程監(jiān)控原理[M].北京:中國電力出版社,1998.
[5] 鄒思鐵. 嵌入式Linux 設計與應用. 北京:清華大學出版社,1999.
[6] 王學龍. 嵌入式Linux 系統(tǒng)設計與應用. 北京:清華大學出版社,2001.
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)linux相關(guān)文章:linux教程
評論