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