基于EFM32TG840F16 MCU的室內(nèi)甲醛檢測(cè)儀設(shè)計(jì)
圖 2:主程序結(jié)構(gòu)框圖
系統(tǒng)上電后,進(jìn)行初始化和中斷處理操作,主要完成系統(tǒng)自檢和復(fù)位。初始化完成后,開(kāi)始采樣濃度值,并判斷是否有按鍵按下。如果有按鍵按下,則進(jìn)行相應(yīng)數(shù)據(jù)處理,并執(zhí)行功能指令,然后在液晶顯示屏上顯示相應(yīng)信息。如果沒(méi)有按鍵按下,則顯示當(dāng)前實(shí)測(cè)濃度值,等待用戶(hù)進(jìn)行下一步操作,系統(tǒng)轉(zhuǎn)入定時(shí)計(jì)時(shí)階段。
2.2 低功耗中斷子程序
為減小系統(tǒng)功耗,延長(zhǎng)電池的使用時(shí)間,設(shè)計(jì)時(shí)考慮設(shè)備在較長(zhǎng)時(shí)間段內(nèi)處于待機(jī)狀態(tài)時(shí),應(yīng)盡量降低功耗。系統(tǒng)設(shè)計(jì)低功耗中斷子程序(見(jiàn)圖3)
圖3:低功耗中斷子程序結(jié)構(gòu)框圖
這里采用一個(gè)定時(shí)器。當(dāng)定時(shí)器大于0 時(shí),系統(tǒng)處于開(kāi)機(jī)狀態(tài);當(dāng)定時(shí)器倒數(shù)到0 時(shí),系統(tǒng)自動(dòng)進(jìn)入低功耗模式,并關(guān)閉LCD 模塊和A/D 模塊。其中定時(shí)器是通過(guò)軟件對(duì)控制寄存器進(jìn)行設(shè)置實(shí)現(xiàn)的。具體操作是這樣:開(kāi)機(jī)時(shí),對(duì)定時(shí)器初始化一個(gè)大于0 的值,比如60,并且在每按一次有效鍵時(shí),系統(tǒng)重新初始化這個(gè)值。因此,當(dāng)沒(méi)有按任何有效鍵時(shí),60s 后就會(huì)自動(dòng)進(jìn)入休眠狀態(tài),從而實(shí)現(xiàn)降耗目的。在休眠期間,若有按鍵按下,微處理器響應(yīng)中斷,系統(tǒng)退出休眠狀態(tài),返回到正常工作狀態(tài)。
2.3 采樣數(shù)據(jù)處理子程序
為提高檢測(cè)精度,采樣數(shù)據(jù)處理軟件設(shè)計(jì)是關(guān)鍵。系統(tǒng)采用采樣數(shù)據(jù)排隊(duì)與中值濾波法。數(shù)據(jù)排隊(duì)就是在給定的數(shù)據(jù)暫存區(qū)內(nèi)不斷地用最新數(shù)據(jù)取代最早數(shù)據(jù)的過(guò)程;利用軟件進(jìn)行數(shù)據(jù)排隊(duì)具有通用性和靈活性。原理(見(jiàn)圖4)。
圖4:采樣數(shù)據(jù)更新排隊(duì)的雙倍暫存區(qū)擴(kuò)展法
由圖4 可見(jiàn), 將暫存區(qū)的空間擴(kuò)大為需要保存數(shù)據(jù)空間的2 倍, 并將暫存區(qū)等分為前后相連的2 個(gè)區(qū), 每個(gè)區(qū)的長(zhǎng)度與需保存數(shù)據(jù)長(zhǎng)度相等。當(dāng)前采樣得到的一組新數(shù)據(jù)同時(shí)存入2 個(gè)區(qū)的對(duì)應(yīng)位置,這樣2 組相同采樣數(shù)據(jù)之間剛好間隔1 個(gè)區(qū)的長(zhǎng)度, 間隔內(nèi)的全部數(shù)據(jù)連同最后1 個(gè)最新數(shù)據(jù)即為當(dāng)前排隊(duì)結(jié)果。以后每組新采樣數(shù)據(jù)依次向后存入暫存區(qū), 存滿(mǎn)后再?gòu)念^開(kāi)始。每次采樣周期中完成相應(yīng)的排隊(duì)更新任務(wù)后記下當(dāng)前隊(duì)列的首(或末)地址作為指針并保存,供處理程序取數(shù)時(shí)使用,這樣一來(lái)就滿(mǎn)足實(shí)時(shí)排序的要求。
對(duì)排隊(duì)后的數(shù)據(jù)采取中位值濾波算法。算法的具體實(shí)現(xiàn)過(guò)程:取N 個(gè)連續(xù)采樣數(shù)據(jù),并按照遞增或遞減順序排列,取中間值作為本次采樣值。中位值濾波算法能有效地克服因偶然因素引起的干擾或波動(dòng)而產(chǎn)生的誤差。即提高系統(tǒng)的檢測(cè)精度。
3 結(jié)束語(yǔ)
本甲醛檢測(cè)儀采用EFM32TG840F16 單片機(jī)作為核心控制單元,電路結(jié)構(gòu)簡(jiǎn)單、外設(shè)功能模塊豐富,功耗低,待機(jī)時(shí)間長(zhǎng),支持IAP 功能,軟件升級(jí)方便,另外該MCU 性能強(qiáng)勁,可升級(jí)空間極大。
網(wǎng)線(xiàn)測(cè)試儀相關(guān)文章:網(wǎng)線(xiàn)測(cè)試儀原理
評(píng)論