單片機在嵌入式系統應用中的抗干擾措施
N版本程序設計中包含了程序設計上的冗余,用效率換取可靠性,能容忍設計錯誤的能力,還能屏蔽某些類型的暫時性硬件故障。
數據的冗余保護也是N版本程序設計思想的應用。將重要數據同時存入幾個不相鄰的存儲單元,由于不相鄰存儲單元因干擾而被同時改寫的可能性很小,即使有一兩個存儲單元出錯也能得到正確的數據。
4.棄權規則
就是當程序運行或繼續運行的某些必要條件未能具備時,放棄對這些條件的要求,不是產生等待、中斷、出錯或停機,而是采用跳過、轉移、N-1、默認等方式保證程序繼續運行,這些方法只適用于屏蔽暫時故障,所以要求同時產生報警輸出,以便確定是否需要人為干預來消除永久故障。棄權規則首先要不影響程序的正確性和適應用性。
(1)跳過
在不影響控制系統正常運行的前提下,跳過條件不具備而導致故障的模塊向下執行,這是軟件失效運行的形式之一。所謂軟件失效運行就是在故障發生時先把故障模塊從系統中斷開,再對系統的其余模塊進行重構,使系統能繼續運行,但功能降低,即降級運行。可靠性的提高是以某些功能的損失為代價的。
(2)N-1方式
N-1方式是基于控制程序的循環執行特性,即采用上一次循環(第N-1次)的數據代替本次循環(第N次)所需的卻未出現或未具備的數據。這種方法特別適用于緩變的被控對象。例如某次控制輸出被判斷為不合理,則利用上次循環的輸出來代替它。
(3)默認
默認也是棄權規則形式之一,與跳過不同的是采用預先置入的合理條件代替未具備的條件,即默認條件存在。例如將非法輸入的操作指令默認的無輸入,繼續原操作。
總之,棄權規則的目的是使工作在實時方式的控制系統保證連續運行,以確保被控系統長期穩定工作,雖然系統的功能有可能降低。
控制系統常用的軟件容錯方法很多,還有非正常性規則、失效保險設計等,在此就不不一一介紹。排錯設計和容錯設計的方法也很多,要根據現場情況選擇適當的方法。以上介紹的抗干擾措施是在長期實踐中摸索出的一些經驗,在此提出僅供參考。
linux操作系統文章專題:linux操作系統詳解(linux不再難懂)
評論