



摘 要: 為方便對復雜設備故障進行快速、準確的檢測,以機器學習語言為基礎,進行了嵌入式數據采集系統能耗優化方法研究。主要從操作系統搭建和移植設計、數據采集模塊設計、應用層軟件結構設計、系統整體性能調試與優化四個方面提出了符合實際的系統構架設計方案,并分析了嵌入式操作系統移植和搭建的過程,提出了數據采集模塊的驅動程序設計方案,同時優化分析了軟件和硬件資源,并在實際的項目檢測中得到了良好的試驗效果。
關鍵詞: 機器學習; 嵌入式操作系統; 數據采集系統; 優化設計
中圖分類號: TN919?34 文獻標識碼: A 文章編號: 1004?373X(2016)15?0149?03
Abstract: To rapidly and accurately detect the complex equipment failure in convenient, the energy consumption optimization method of the embedded data acquisition system based on machine learning is studied. The practical system architecture design scheme is proposed in the aspects of operating system construction and transplant design, data acquisition module design, software structure design of application layer, and system overall performance tuning and optimization. The processes of embedded operating system transplant and construction are analyzed, and the driver program design scheme of data acquisition module is put forward. The software and hardware resources are optimized. The better test results were obtained in the practical project test.
Keywords: machine learning; embedded operating system; data acquisition system; optimization design
隨著科學技術的飛速發展,各種因設備故障導致的安全事故層出不窮,究其主要原因還是由于未能及時排除機械設備內部故障造成的。而機器學習算法的出現,解決了傳統檢測數據量大、分析復雜的缺點。因此,本文開展基于機器學習的嵌入式數據采集系統能耗優化方法研究,以便廣大技術人員學習使用。
1 機器學習與嵌入式數據采集系統結構總述
1.1 機器學習
機器學習算法作為一種新型的人工智能技術,可以對海量數據進行分析、存儲,并可對復雜問題做出智能決策以供技術人員參考[1?2]。機器學習算法可以模擬人類思考、學習及創造的過程,因此可以從數據庫中計算出未知的、潛在的概率模型。
1.2 系統總體結構概述
ARM+數據采集器系統作為當今較為流行的嵌入式數據采集系統,既克服了開發復雜硬件結構帶來的龐大工作,又彌補了單片機結構產生的諸多缺陷,因此是較為合理的一種架構方案[3?4]。
1.3 硬件設計與選型
嵌入式處理器作為嵌入式數據采集系統中的控制核心,是各系統運行的中樞大腦。本次嵌入式數據采集系統設計采用的是高速數據采集器。
1.4 軟件系統設計
嵌入式操作系統EOS作為較為流行的操作系統,具有實時性強、可裝卸、可開放、網絡功能強大、代碼固定、交互性強等多項優點。結合實際需求,最終選擇了Windows CE操作系統平臺作為設計基礎。
2 操作系統搭建和移植
2.1 板級支持包的研究與移植
(1) 板級支持包BSP的研究與應用
Windows CE的板級支持包由四個部分組成,其中最為重要的兩個部分是設備驅動和OEM適配層,見圖1。
(2) 串口驅動程序擴展
在本次設計中,采用了分層架構的方法實現串口驅動,驅動模型見圖2。
(3) 系統啟動性能優化
考慮到開發成本不足、硬件配置較低等難題,在設計時采用了價格低廉的NAND FLASH,并重新修改優化了NBOOT的分支跳轉代碼。優化后的啟動流程見圖3。
2.2 新增硬件驅動與系統特性
(1) 電源管理與實時時鐘驅動
基于機器學習的嵌入式數據采集系統對能耗有較高的節能要求,為此在設計時需對兩部分特性進行優化:一是系統在關機狀態時需做到徹底斷電;二是系統在非工作狀態時需保持耗能較低的狀態[5],優化流程見圖4。
(2) 面板功能鍵驅動
新設計的嵌入式數據采集系統為方便用戶使用,特別增加了方向導航鍵、翻頁鍵、幫助鍵等快捷鍵來提高系統的可用性。
(3) 節能方案設計及Hive技術應用
新型的Hive注冊表技術可以在對系統冷啟動的同時,還可以保存用戶的相關配置信息。其具體的工作原理如圖5所示。
2.3 操作系統定制和搭建
本次設計采用Platform Bulider構建嵌入式數據采集系統平臺。其中Windows CE在Platform Bulider的定制流程見圖6。
3 數據采集模塊設計
3.1 硬件工作原理介紹
基于機器學習的嵌入式數據采集系統其核心部件是數據采集模塊。在設計該系統時,采用數模轉換芯片將數據直接讀入到FIFO。當驅動接收到FIFO發出的中斷信號后,系統將自動清除數據[6]。其中該系統的硬件工作流程見圖7。
3.2 振動與加速度測量驅動設計
數據采集系統的核心是加速度測量數據采集驅動和ADD驅動。
為保證數據采集過程中的穩定性和準確性,基于機器學習的嵌入式數據采集系統需及時準確地對硬件提出的所有中斷請求進行響應,并發出相應控制信號[7]。為此,專門設置了基于電平觸發的中斷響應機制,見圖8。
3.3 I2C總線驅動設計
I2C總線驅動設計的關鍵在于要保持硬件應答和軟件設置的握手機制一致。為此驅動設計時通過采取超時處理、加入互斥鎖、信號量隊列等機構處理信息采集過程中出現的各種異常現象。設計流程如圖9所示。
4 應用層軟件結構設計
4.1 數據顯示與分析模塊
當系統通過應用程序提取出相應數據時,會通過算法庫對提取數據進行包絡分析、頻譜分析、波形分析等。設計人員只需要了解算法庫的接口函數即可,其內部程序可通過專業技術人員編寫。
4.2 數據存儲與通信模塊
在本次設計的嵌入式數據采集系統中,采用SQLite數據庫作為本系統的存儲模塊,它的資源占用空間很小,較為適合嵌入式系統。
對于通信模塊,本次設計采用Windows CE中自帶的微軟ActiveSync組件進行通信。
5 整體性能調試與優化
為了優化硬件資源,選擇采用中斷方式優化中斷服務線程。測試新系統發現,數據采集效率得到了明顯提高。
軟件資源控制和調優主要是指解決程序沖突和性能調優。為保證驅動程序的正常運行,建議多采用與或非運算,而盡量避免直接對寄存器進行賦值。此外,在軟件操作時需使用正確的編程語言,特別要注意寄存器讀寫緩存、物理地址空間映射、字節對齊等細小問題,否則會出現程序錯誤、數據采集中斷等結果。
6 結 論
本文通過分析嵌入式數據采集系統結構,闡明了系統硬件和軟件的設計與選型。通過系統搭建和移植設計、數據采集模塊設計、應用層軟件結構設計、系統整體性能調試與優化四個方面,深入開展了基于機器學習的嵌入式數據采集系統能耗優化方法研究工作。同時提出了符合實際的系統構架設計方案,以及數據采集模塊的驅動程序設計方案,并對整個系統的軟件和硬件資源進行了控制與調優分析。
參考文獻
[1] 彭剛,徐慶江,張崇金,等.基于STM32單片機的RS 485總線分布式數據采集系統設計[J].伺服控制,2011(2):64?67.
[2] 賀金平.嵌入式linux下DM9000網卡驅動的移植與實現[J].電腦知識與技術,2009(17):4561?4563.
[3] 李宏宇,樊留群,趙榮泳,等.基于ARM的嵌入式系統在數控設備故障診斷中的應用[J].制造業自動化,2004(8):33?36.
[4] 荀泱,周國榮,袁禹.基于ARM嵌入式系統的電機故障診斷系統的設計[J].可編程控制器與工廠自動化,2007(6):101?103.
[5] 張伽偉,周安棟,羅勇.ARM11嵌入式系統Linux下LCD的驅動設計[J].液晶與顯示,2011,26(5):660?664.
[6] 劉淼.嵌入式系統接口設計與Linux驅動程序開發[M].北京:北京航空航天大學出版社,2006.
[7] 連雄偉.數據中心基礎設施能效管理系統關鍵模塊設計與實現[D].北京:中國科學院大學,2014.