【正文】
????????nmiiknmiikCikXCkY電子系統(tǒng)設(shè)計 B T R ?在軟件中加設(shè)自檢程序,在系統(tǒng)運行前和運行中不斷循環(huán)測試電子系統(tǒng)內(nèi)部特定部位的運行狀態(tài),對出現(xiàn)的錯誤狀態(tài)進行及時處理,以保證系統(tǒng)運行的可靠性。 ?對于條件控制系統(tǒng),將對控制條件的一次采樣、處理、控制輸出改為循環(huán)采樣、處理、控制輸出。這種方法對于慣性比較大的控制系統(tǒng)具有良好的抗偶然因素干擾作用。 2. 設(shè)置自檢程序 3. 軟件冗余 ?監(jiān)視定時器一旦啟動就不能停止運行,當程序運行正常時,程序中的刷新操作可以保證監(jiān)視定時器不會溢出。當程序由于受到干擾而進入死循環(huán)時,由于監(jiān)視定時器得不到刷新而溢出,并產(chǎn)生中斷或復(fù)位信號,可使程序脫離死循環(huán)。 4. 設(shè)置監(jiān)視定時器 電子系統(tǒng)設(shè)計 B T R ?當系統(tǒng)受到干擾侵害,程序指針超出應(yīng)用程序代碼區(qū)而進入數(shù)據(jù)區(qū),將造成程序盲目運行,最后由偶然巧合進入死循環(huán); ?可在非代碼區(qū)設(shè)置攔截程序措施,使程序進入陷阱,然后可以迫使程序進入初始狀態(tài),或進入錯誤處理程序; ?軟件陷阱的設(shè)置方法是在數(shù)據(jù)區(qū)的前后都設(shè)置相當數(shù)量的空操作代碼,并最后加入一條轉(zhuǎn)向錯誤處理程序的指令代碼。 5. 設(shè)置軟件陷阱 NOP …… NOP LJMP ERROR TABLE: DB XX …… DB XX NOP …… NOP LJMP ERROR 電子系統(tǒng)設(shè)計 B T R ?有的單片機系統(tǒng)有復(fù)位指令(如 MCS- 96系列單片機),將復(fù)位指令代碼填滿程序存儲器中沒有使用的區(qū)域,當程序指針受到干擾而進入這些區(qū)域時系統(tǒng)執(zhí)行復(fù)位指令,使系統(tǒng) 6. 利用復(fù)位指令 ?軟件抗干擾措施可以不增加任何硬件設(shè)備,既降低了系統(tǒng)成本又提高了系統(tǒng)的可靠性。同時,軟件抗干擾措施增減方便,可以隨時改變選擇的算法或改變參數(shù); ?軟件抗干 擾措施需要增加 CPU的運行時間,在某些對速度要求較高的應(yīng)用場合往往不能采用或很少采用。同時,軟件抗干擾措施對于某些干擾也難以奏效,不可能完全取代硬件抗干擾措施; ?因此設(shè)計者應(yīng)根據(jù)實際情況權(quán)衡利弊,選擇使用各種軟、 ?小結(jié)