基于EFM32TG840F16 室內甲醛檢測儀設計
2.3 采樣數據處理子程序
為提高檢測精度,采樣數據處理軟件設計是關(guān)鍵。系統采用采樣數據排隊與中值濾波法。數據排隊就是在給定的數據暫存區內不斷地用最新數據取代最早數據的過(guò)程;利用軟件進(jìn)行數據排隊具有通用性和靈活性。原理(見(jiàn)圖4)。
圖4:采樣數據更新排隊的雙倍暫存區擴展法
由圖4 可見(jiàn), 將暫存區的空間擴大為需要保存數據空間的2 倍, 并將暫存區等分為前后相連的2 個(gè)區, 每個(gè)區的長(cháng)度與需保存數據長(cháng)度相等。當前采樣得到的一組新數據同時(shí)存入2 個(gè)區的對應位置,這樣2 組相同采樣數據之間剛好間隔1 個(gè)區的長(cháng)度, 間隔內的全部數據連同最后1 個(gè)最新數據即為當前排隊結果。以后每組新采樣數據依次向后存入暫存區, 存滿(mǎn)后再從頭開(kāi)始。每次采樣周期中完成相應的排隊更新任務(wù)后記下當前隊列的首(或末)地址作為指針并保存,供處理程序取數時(shí)使用,這樣一來(lái)就滿(mǎn)足實(shí)時(shí)排序的要求。
對排隊后的數據采取中位值濾波算法。算法的具體實(shí)現過(guò)程:取N 個(gè)連續采樣數據,并按照遞增或遞減順序排列,取中間值作為本次采樣值。中位值濾波算法能有效地克服因偶然因素引起的干擾或波動(dòng)而產(chǎn)生的誤差。即提高系統的檢測精度。
3 結束語(yǔ)
本甲醛檢測儀采用EFM32TG840F16 單片機作為核心控制單元,電路結構簡(jiǎn)單、外設功能模塊豐富,功耗低,待機時(shí)間長(cháng),支持IAP 功能,軟件升級方便,另外該MCU 性能強勁,可升級空間極大。
評論