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