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