找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2048|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

軟件抗干擾筆記

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:102668 發(fā)表于 2016-1-14 01:26 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
                        軟件抗干擾技術(shù)是指當(dāng)系統(tǒng)受干擾后,使系統(tǒng)恢復(fù)正常運行或輸入信號受干擾后去偽存真的一種輔助方法。
輸入輸出軟件抗干擾措施
1、開關(guān)量(數(shù)字量)信號輸入抗干擾措施
軟件冗余技術(shù)
1、數(shù)據(jù)冗余
  數(shù)據(jù)冗余就是將要保護的原始數(shù)據(jù)在另外兩個區(qū)域同時存放,建立兩個備份,當(dāng)原始數(shù)據(jù)塊被破壞時,用備份數(shù)據(jù)塊去修復(fù)。備份數(shù)據(jù)的存放地址應(yīng)遠離原始的存放地址以免被同時破壞。數(shù)據(jù)區(qū)也不要靠近棧區(qū),以防止萬一堆棧溢出而沖掉數(shù)據(jù)。
2、指令冗余
  當(dāng)CPU受到干擾后,往往將一些操作數(shù)當(dāng)作指令碼來執(zhí)行,引起程序混亂。當(dāng)程序彈飛到某一單字節(jié)指令上時,便自動納入正軌。當(dāng)彈飛到某一雙字節(jié)指令上時,有可能落到其操作數(shù)上,從而繼續(xù)出錯。當(dāng)程序彈飛到三字節(jié)指令上時,因它有兩個操作數(shù),繼續(xù)出錯的機會更大,因此,我們應(yīng)多采用單字節(jié)指令,并在關(guān)鍵的地方人為地插入一些單字節(jié)指令(NOP)或?qū)⒂行巫止?jié)指令重復(fù)書寫,這便是指令冗余。
程序運行失常的軟件抗干擾
1、設(shè)置軟件陷阱
  當(dāng)干擾導(dǎo)致程序計數(shù)器PC值混亂時,可能造成CPU離開正確的指令順序而跑飛到非程序區(qū)去執(zhí)行一些無意義地址中的內(nèi)容,或進入數(shù)據(jù)區(qū),把數(shù)據(jù)當(dāng)作操作碼來執(zhí)行,使整個工作紊亂,系統(tǒng)失控。針對這種情況,可以在非程序區(qū)設(shè)置陷阱,一旦程序飛到非程序區(qū),很快進入陷阱,然后強迫程序由陷阱進入初始狀態(tài)。
  所謂軟件陷阱,就是一條引導(dǎo)指令,強行將捕獲的程序引向一個指定的地址,在那里有一段專門對程序出錯處理的程序。軟件陷阱安排在以下4種地方:(1)未使用的中斷向量區(qū);2)未使用的大片ROM空間;3)表格;4)程序區(qū)。
2、設(shè)置監(jiān)視跟蹤定時器
也稱為看門狗定時器(Watchdog),可以使陷入“死機”的系統(tǒng)產(chǎn)生復(fù)位,重新啟動程序運行。在程序運行的每個循環(huán)周期內(nèi),對定時器重新初始化。如果程序運行失常,跑飛或進入局部死循環(huán),不能按正常循環(huán)路線運行,則看門狗定時器得不到及時的初始化而使定時時間到,引起復(fù)位。


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表