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