新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 單片機(jī)系統(tǒng)應(yīng)用中的抗干擾措施

單片機(jī)系統(tǒng)應(yīng)用中的抗干擾措施

作者: 時(shí)間:2012-02-27 來(lái)源:網(wǎng)絡(luò) 收藏

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ī)重新啟動(dòng)后,必須正確恢復(fù)重要參數(shù)。因此,設(shè)計(jì)中加入一片串行E2PROM芯片93C46。每次設(shè)置完成后,程序自動(dòng)將重要參數(shù)寫(xiě)入93C46。由于93C46具有上電禁寫(xiě)和軟件禁寫(xiě)功能,因而數(shù)據(jù)保存可靠。

3軟件

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”的話,通常軟件陷阱由以下三句話組成:

4.jpg

一旦彈飛的程序被攔截,立刻轉(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其他

在用組成的控制系統(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ī)原理與技術(shù)手冊(cè)[M].北京:北京航空航天大學(xué)出版社,1992.


上一頁(yè) 1 2 下一頁(yè)

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉