單片機(jī)在嵌入式系統(tǒng)應(yīng)用中的抗干擾措施
現(xiàn)在已有許多更先進(jìn)的集電源監(jiān)視和“看門狗”于一身的新型芯片,如MAX705、MAX706、MAX813L等,有的還具備掉電檢測、備用電池自動切換功能。
2.軟件看門狗
軟件狗實際上就是通常所說的軟件陷井。它是在程序存儲器的空余地址中全部填上1條跳轉(zhuǎn)指令,一旦程序跑飛,只要程序指針指向這些地址,便立即被強(qiáng)行跳轉(zhuǎn)至程序開頭或其他指定地址處,從而使程序繼續(xù)正常運行。
四、軟件中的抗干擾措施
提高系統(tǒng)可靠性的方法有排錯設(shè)計和容錯設(shè)計。前面提到的排錯設(shè)計并不能將干擾完全解決。而容錯就是允許系統(tǒng)發(fā)生故障,借助冗余技術(shù)使其自動抵消,在故障存在的情況下也能使系統(tǒng)正常運行。下面介紹一下常用的幾種軟件容錯方法。
1.?dāng)?shù)據(jù)采集誤差的軟件對策
對于實時數(shù)據(jù)采集系統(tǒng),為了消除傳感通器中的干擾信號,在硬件上常采取模擬濾波器對信號實現(xiàn)頻率濾波,也可以用CPU的運算控制功能也可以實現(xiàn)頻率濾波,這就是數(shù)字濾波(軟件濾波)。對一點數(shù)據(jù)連續(xù)采樣多次,計算其平均值,以平均值作為點的采樣結(jié)果,這樣可以減少系統(tǒng)的隨機(jī)干擾對采集結(jié)果的影響。根據(jù)干擾造成采樣數(shù)據(jù)偏大或偏小的情況,對一個采樣點連續(xù)采集多個信號,對采樣值進(jìn)行比較,取中值作為該點的采集結(jié)果。還可利用軟件完成RC低通濾波器的算法,實現(xiàn)用軟件方法代替硬件RC濾波器。一階遞推數(shù)字濾波公式為
式中:Q為數(shù)字濾波器時間常數(shù);Yn為第n次采樣時的濾波輸出;Xn為第n次采樣時的濾波輸入。
2.時間冗余
在程序的適當(dāng)位置設(shè)置若干檢查點,在每一個檢查點保存程序在該檢查點之前正確運行而得到的全部信息及標(biāo)志。如果故障是暫時性的,則程序卷回到上一檢查點開始重新執(zhí)行,這樣可以完全消除錯誤,其框圖如圖3所示。但它只能檢出而不能消除永久性故障,用時間換取可靠性。
3.N版本程序設(shè)計
N版本程序設(shè)計,是為某一個確定功能而獨立編制的幾個程序同時運行,其結(jié)果是通過這些獨立程序的運行結(jié)果經(jīng)多數(shù)表決而得到的,其結(jié)構(gòu)框圖如圖4所示。N版本程序設(shè)計中,特別強(qiáng)調(diào)N版本,因為如果各程序采用了相同的結(jié)構(gòu)、相同的算法,就有可能產(chǎn)生相同的錯誤而使多數(shù)表決失敗。
評論