在單片機設(shè)計過程中 擺脫EMC的軟硬件處理方法
2.對重要參數(shù)儲存的措施
一般情況下,我們可以采用錯誤檢測與糾正來有效地減少或避免這種情況的出現(xiàn)。根據(jù)檢錯、糾錯的原理,主要思想是在數(shù)據(jù)寫進時,根據(jù)寫進的數(shù)據(jù)天生一定位數(shù)的校驗碼,與相應(yīng)的數(shù)據(jù)一起保存起來;當讀出時,同時也將校驗碼讀出,進行判決。假如出現(xiàn)一位錯誤則自動糾正,將正確的數(shù)據(jù)送出,并同時將改正以后的數(shù)據(jù)回寫覆蓋原來錯誤的數(shù)據(jù);假如出現(xiàn)兩位錯誤則產(chǎn)生中斷報告,通知CPU進行異常處理。所有這一切動作都是靠軟件設(shè)計自動完成的,具有實時性和自動完成的特點。通過這樣的設(shè)計,能大大進步系統(tǒng)的抗干擾能力,從而進步系統(tǒng)的可靠性。
檢錯與糾錯原理:首先來看看檢錯和糾錯的基本原理。進行差錯控制的基本思想是在信息碼組中以一定規(guī)則加進不同方式的冗余碼,以便在信息讀出的時候依靠多余的監(jiān)視碼或校碼碼來發(fā)現(xiàn)或自動糾正錯誤。
針對誤碼發(fā)生的特點,即錯誤發(fā)生的隨機性和小概任性,它幾乎總是隨機地影響某個字節(jié)中的某一位(bit),因此,假如能夠設(shè)計自動糾正一位錯誤,而檢查兩位錯誤的編碼方式。就可以大大進步系統(tǒng)的可靠性。
3.對RAM和FLASH(ROM)的檢測
在編制程序時我們最好是寫進一些檢測程序來測試RAM和FLASH(ROM)的數(shù)據(jù)代碼,看有無發(fā)生錯誤,一旦發(fā)生要立即糾正,糾正不了的要及時給出錯誤指示,以便用戶往處理。
另外,在編制程序時加進程序冗余是不可缺少的。在一定的地方加進三條或三條以上NOP指令對程序的重組有著很有效防止作用。同時,在程序的運行狀態(tài)中要引進標志數(shù)據(jù)和檢測狀態(tài),從而及時發(fā)現(xiàn)和糾正錯誤產(chǎn)生。
評論