單片機系統(tǒng)應用中的抗干擾措施
2.3重要數(shù)據(jù)保存器
在工業(yè)控制裝置中,有一些重要的數(shù)據(jù),像從鍵盤輸入的控制目標值,P、I、D調(diào)節(jié)參數(shù)以及從上位機傳送來的各種指令等,必須妥善保存。由于失控的程序常常非法進行寫操作,使RAM區(qū)中重要的信息丟失。當微機系統(tǒng)重新啟動后,必須正確恢復重要參數(shù)。因此,單片機系統(tǒng)設計中加入一片串行E2PROM芯片93C46。每次單片機系統(tǒng)設置完成后,程序自動將重要參數(shù)寫入93C46。由于93C46具有上電禁寫和軟件禁寫功能,因而數(shù)據(jù)保存可靠。
3.1使用空操作指令
MCS-51指令系統(tǒng)中有部分雙字節(jié)和三字節(jié)指令,當程序彈飛落到這些指令的操作數(shù)上時,將把操作數(shù)當成指令,產(chǎn)生錯誤的結(jié)果。因而,在程序中重要的地方(如跳轉(zhuǎn)、調(diào)子程序)等插入兩條空操作指令,可攔截彈飛的程序并轉(zhuǎn)入正常。
3.2建立軟件陷阱
所謂“軟件陷阱”就是在程序中加入的一組用于攔截彈飛程序的程序段。它強行將程序轉(zhuǎn)向一個特定的地址,該地址放有出錯處理程序。如果將出錯處理程序的入口標號命名為“ERR”的話,通常軟件陷阱由以下三句話組成:
一旦彈飛的程序被攔截,立刻轉(zhuǎn)向錯誤處理程序。
3.3出錯處理程序
錯誤處理程序的共同點是先關閉中斷,防止事態(tài)擴大。對于有“看門狗”電路的系統(tǒng)來講,等待復位即可。而軟件復位和硬件“看門狗”復位不同。此時CPU片內(nèi)的寄存器和I/O口狀態(tài)是不定的。所以錯誤處理程序在轉(zhuǎn)向程序起點前,要將CPU片內(nèi)的各寄存器、已激活的中斷標志和I/O口“軟件”復位,進入初始狀態(tài),再轉(zhuǎn)入程序起點。
3.4其他措施
在用單片機組成的控制系統(tǒng)中,調(diào)節(jié)量的輸出是不斷變化的。單片機系統(tǒng)受到干擾而異常復位后,RAM區(qū)中的標志單元、輸出量緩沖單元和I/O口的狀態(tài)都可能改變,不能作為系統(tǒng)復位后的狀態(tài)恢復數(shù)據(jù)。這時可以手動給定量作為當前控制器輸出量。這些措施可有效的減少單片機異常復位后對整個系統(tǒng)帶來的擾動。
4結(jié)束語
微機系統(tǒng)抗干擾設計是一項綜合性設計,采用硬件措施可有效提高微機控制系統(tǒng)的抗干擾能力,但過多的硬件本身就降低了系統(tǒng)的可靠性。因而系統(tǒng)的設計要“軟”“硬”兼施,提高系統(tǒng)的防護和容錯能力,從而提高單片機系統(tǒng)的可靠性。
參考文獻
[1]俞忠原,陳一民.工業(yè)過程控制計算機系統(tǒng)[M].北京:北京理工大學出版社,1995.
[2]張友德.飛利浦80C51系列單片機原理與應用技術手冊[M].北京:北京航空航天大學出版社,1992.
評論