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