新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 單片機系統軟件如何抗干擾的方法

        單片機系統軟件如何抗干擾的方法

        作者: 時間:2013-02-17 來源:網絡 收藏

        在提高硬件系統能力的同時,軟件以其設計靈活、節省硬件資源、可靠性好越來越受到重視。下面以為例,對微機系統軟件方法進行研究。

          1 軟件抗干擾方法的研究

          在工程實踐中,軟件抗干擾研究的內容主要是: 一、消除模擬輸入信號的嗓聲(如數字濾波技術);二、程序運行混亂時使程序重入正軌的方法。本文針對后者提出了幾種有效的軟件抗干擾方法。

          1.1 指令冗余

          CPU取指令過程是先取操作碼,再取操作數。當PC受干擾出現錯誤,程序便脫離正常軌道“亂飛”,當亂飛到某雙字節指令,若取指令時刻落在操作數上,誤將操作數當作操作碼,程序將出錯。若“飛” 到了三字節指令,出錯機率更大。

          在關鍵地方人為插入一些單字節指令,或將有效單字節指令重寫稱為指令冗余。通常是在雙字節指令和三字節指令后插入兩個字節以上的NOP。這樣即使亂飛程序飛到操作數上,由于空操作指令NOP的存在,避免了后面的指令被當作操作數執行,程序自動納入正軌。

          此外,對系統流向起重要作用的指令如RET、 RETI、LCALL、LJMP、JC等指令之前插入兩條NOP,也可將亂飛程序納入正軌,確保這些重要指令的執行。

          1.2 攔截技術

          所謂攔截,是指將亂飛的程序引向指定位置,再進行出錯處理。通常用軟件陷阱來攔截亂飛的程序。因此先要合理設計陷阱,其次要將陷阱安排在適當的位置。

          1.2.1 軟件陷阱的設計

          當亂飛程序進入非程序區,冗余指令便無法起作用。通過軟件陷阱,攔截亂飛程序,將其引向指定位置,再進行出錯處理。軟件陷阱是指用來將捕獲的亂飛程序引向復位入口地址0000H的指令。通常在EPROM中非程序區填入以下指令作為軟件陷阱:

          NOP

          NOP

          LJMP 0000H

          其機器碼為0000020000。


        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 马公市| 沁源县| 甘孜县| 颍上县| 晋江市| 汉沽区| 黑水县| 北京市| 霍林郭勒市| 常州市| 石渠县| 德格县| 兰州市| 韩城市| 思茅市| 凤翔县| 镇安县| 仁化县| 大冶市| 庄河市| 景东| 宁南县| 余江县| 侯马市| 习水县| 老河口市| 浦县| 突泉县| 平南县| 城市| 延长县| 临邑县| 类乌齐县| 木兰县| 临漳县| 密山市| 泗水县| 大冶市| 康马县| 神木县| 岚皋县|