• <table id="4yyaw"><kbd id="4yyaw"></kbd></table>
  • <td id="4yyaw"></td>
  • 發布時間:2020-10-19 20:03 原文鏈接: 關于單片機設計過程中如何擺脫電磁干擾?(二)

      三、對干擾措施的軟件處理方法

      電磁干擾源所產生的干擾信號在一些特定的情況下(比如在一些電磁環境比較惡劣的情況下)是無法完全消除的,終極將會進進CPU處理的的核心單元,這樣在一些大規模集成電路經常會受到干擾,導致不能正常工作或在錯誤狀態下工作。特別是像RAM這種利用雙穩態進行存儲的器件,往往會在強干擾下發生翻轉,使原來存儲的“0”變為“1”,或者“1”變為“0”;一些串行傳輸的時序及數據會因干擾而發生改變;更嚴重的會破壞一些重要的數據參數等;造成的后果往往是很嚴重的。在這種情況下軟件設計的好壞直接影響到整個系統的抗干擾能力的高低。

      1.程序會由于電磁干擾大致會一下幾種情況:

      ①程序跑飛。

      這種情況是最常見的干擾結果,一般來說有一個好的復位系統或軟件幀測系統即可,對整個運行系統的不會產生太大的影響。

      ②死循環或不正常程序代碼運行。

      當然這種死循環和不正常程序代碼并非設計職員有意寫進的,我們知道程序的指令是由字節組成的,有的是單字節指令而有的是多字節指令,當干擾產生后使得 PC指針發生變化,從而使原來的程序代碼發生了重組產生了不可猜測的可執行的程序代碼,那么,這種錯誤是致命的,它會有可能會往修改重要的數據參數,有可 能產生不可猜測的控制輸出等一系列錯誤狀態。

      2.對重要參數儲存的措施

      一般情況 下,我們可以采用錯誤檢測與糾正來有效地減少或避免這種情況的出現。根據檢錯、糾錯的原理,主要思想是在數據寫進時,根據寫進的數據天生一定位數的校驗 碼,與相應的數據一起保存起來;當讀出時,同時也將校驗碼讀出,進行判決。假如出現一位錯誤則自動糾正,將正確的數據送出,并同時將改正以后的數據回寫覆 蓋原來錯誤的數據;假如出現兩位錯誤則產生中斷報告,通知CPU進行異常處理。所有這一切動作都是靠軟件設計自動完成的,具有實時性和自動完成的特點。通 過這樣的設計,能大大進步系統的抗干擾能力,從而進步系統的可靠性。

      檢錯與糾錯原理:

      首先來看看檢錯和糾錯的基本原理。進行差錯控制的基本思想是在信息碼組中以一定規則加進不同方式的冗余碼,以便在信息讀出的時候依靠多余的監視碼或校碼碼來發現或自動糾正錯誤。

      針對誤碼發生的特點,即錯誤發生的隨機性和小概任性,它幾乎總是隨機地影響某個字節中的某一位(bit),因此,假如能夠設計自動糾正一位錯誤,而檢查兩位錯誤的編碼方式。就可以大大進步系統的可靠性。

      3.對RAM和FLASH(ROM)的檢測

      在編制程序時我們最好是寫進一些檢測程序來測試RAM和FLASH(ROM)的數據代碼,看有無發生錯誤,一旦發生要立即糾正,糾正不了的要及時給出錯誤指示,以便用戶往處理。

      另外,在編制程序時加進程序冗余是不可缺少的。在一定的地方加進三條或三條以上NOP指令對程序的重組有著很有效防止作用。同時,在程序的運行狀態中要引進標志數據和檢測狀態,從而及時發現和糾正錯誤產生。


  • <table id="4yyaw"><kbd id="4yyaw"></kbd></table>
  • <td id="4yyaw"></td>
  • 调性视频