新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 巧用單片機(jī)軟件抗系統(tǒng)瞬時干擾

巧用單片機(jī)軟件抗系統(tǒng)瞬時干擾

作者: 時間:2012-04-01 來源:網(wǎng)絡(luò) 收藏

0、引 言

本文引用地址:http://2s4d.com/article/171711.htm

具有集成度高、體積小、可靠性強(qiáng)、價格低、面向控制等特點,在工業(yè)控制、智能儀器儀表、智能化設(shè)備和家用電器等領(lǐng)域得到廣泛應(yīng)用。在各種類型的中,由于8031系列8位具有品種多樣、易于開發(fā)、控制靈活、使用方便等優(yōu)點,因而成為目前國內(nèi)外應(yīng)用最廣的單片機(jī)之一。

由于單片機(jī)是針對工業(yè)控制以及與控制有關(guān)的數(shù)據(jù)處理而設(shè)計的,其運行可靠性不容置疑,因,在常規(guī)條件下使用時,只要電源濾波完善,不用特別考慮的抗問題。若控制對象為電機(jī)及繼電器等感性負(fù)載時,可采取光電隔離、直流電源隔離和交流噪聲濾波等抗措施,亦能夠保證單片機(jī)正常運行。但是,當(dāng)用電環(huán)境較差,控制對象為開關(guān)型、大電流的感性負(fù)載時,負(fù)載開啟或關(guān)閉到穩(wěn)定狀態(tài)期間將產(chǎn)生很強(qiáng)的信號,嚴(yán)重影響單片機(jī)的正常運行。此時,采取以上抗干擾措施仍不能解決的干擾問題。為此,本人利用8031單片機(jī)(以下所指的單片機(jī)均為8031單片機(jī))的待機(jī)功能實現(xiàn)干擾,取得了滿意的抗干擾效果。

1、單片機(jī)待機(jī)方式簡述[1]

在單片機(jī)中,專用寄存器PCON.0是待機(jī)方式位IDL。一條把IDL(PCON.0)置1的指令執(zhí)行完后,單片機(jī)就進(jìn)入待機(jī)方式。在這種方式下,提供給CPU的內(nèi)部時鐘信號被切斷,但時鐘信號仍提供給中斷邏輯、定時器和串行口。CPU的全部狀態(tài)在待機(jī)期間都被保留起來,它們是:堆棧指針SP、程序計數(shù)器PC、程序狀態(tài)字PSW、累加器ACC以及所有的工作寄存器。

復(fù)位可終止待機(jī)方式,但單片機(jī)復(fù)位后,其現(xiàn)場將被破壞。終止待機(jī)方式的另一種方法是激活任何一個被允許的中斷,IDL(PCON.0)將被硬件清除,結(jié)束待機(jī)狀態(tài)。中斷得到響應(yīng),進(jìn)入服務(wù)程序,緊跟RETI之后,下一條要執(zhí)行的指令將是使單片機(jī)進(jìn)入待機(jī)方式的那條指令的后面一條指令。

2、抗瞬間干擾原理

當(dāng)單片機(jī)控制系統(tǒng)中的大電流感性負(fù)載開啟或關(guān)閉到穩(wěn)定狀態(tài)期間產(chǎn)生較強(qiáng)的干擾,使得單片機(jī)

不能正常運行時,利用單片機(jī)的定時和待機(jī)功能,可有效保證單片機(jī)可靠運行。

干擾的工作原理是:當(dāng)單片機(jī)發(fā)出控制負(fù)載開關(guān)動作的指令后,立即啟動定時器,打開定時器中斷(此時其它中斷應(yīng)處于關(guān)閉狀態(tài)),接著執(zhí)行一條把 IDL(PCON.0)置1的指令,單片機(jī)進(jìn)入待機(jī)狀態(tài)。此時,由于提供給CPU的內(nèi)部時鐘信號被切斷,時鐘信號只提供給中斷邏輯和定時器,單片機(jī)在定時期間處于不工作狀態(tài),負(fù)載開啟或關(guān)閉時所產(chǎn)生的干擾信號對單片機(jī)不起作用。如果定時時間足夠長,等到負(fù)載開關(guān)穩(wěn)定無干擾信號時定時中斷被激活,則單片機(jī)進(jìn)入正常工作狀態(tài)。換句話說,有干擾時,單片機(jī)處于待機(jī)狀態(tài);無干擾時,單片機(jī)恢復(fù)正常工作狀態(tài),則完全有可能實現(xiàn)軟件抗瞬間干擾之目的。

3、定時時間設(shè)計

當(dāng)8031單片機(jī)的定時器工作在16位定時方式時,其定時時間與定時初值的計算公式如下:

53.gif

式中:T———定時時間,單位為s
f———單片機(jī)震蕩頻率,單位為Hz
   X———定時初值

從以上關(guān)系式中可看出,若要增加定時時間,則需要減小單片機(jī)的震蕩頻率或定時初值。由于定時初值最小值為0,如果需要較長的定時時間,只有減小單片機(jī)的震蕩頻率。但是,隨著單片機(jī)震蕩頻率的減小,其運行速度必然受到影響,必須予以兼顧。

4、應(yīng)用實例

我們在研制飛機(jī)發(fā)電機(jī)加載控制系統(tǒng)時,遇到較強(qiáng)的瞬時干擾,其干擾源主要來自控制加載功率的多個交流接觸器。在該系統(tǒng)中,交流接觸器的控制電流最大可達(dá) 1000A,最小的亦有10A,其通/斷動作時所產(chǎn)生的干擾非常強(qiáng),采取別的抗干擾措施均不能解決根本問題,而采用軟件抗干擾方法則取得了滿意的結(jié)果。

交流接觸器從通/斷到穩(wěn)定狀態(tài)的時間不大于0.4s,由于系統(tǒng)對單片機(jī)運行速度無嚴(yán)格要求,為保險起見,單片機(jī)的震蕩頻率選定為1MHz,若定時初值為0時,根據(jù)式(1)可算出其定時時間接近0.8s,完全可以避開交流接觸器動作時所產(chǎn)生的干擾。

當(dāng)單片機(jī)發(fā)出交流接觸器通/斷指令后,執(zhí)行如下程序,定時器0開始定時,開定時器0中斷,單片機(jī)進(jìn)入待機(jī)狀態(tài)(此前應(yīng)關(guān)閉其它中斷)。
MOVTMOD,#01H;定時器0置工作方式1
MOVTH0,#00H;置定時時間
MOVTL0,#00H;
SETBTR0;開定時器0
SETBET0;開定時中斷0
ORL87H,#01H;單片機(jī)置待機(jī)狀態(tài)

在以上程序中,87H為專用寄存器PCON的地址碼,PCON.0為待機(jī)方式位。當(dāng)定時時間到產(chǎn)生定時中斷0時,進(jìn)入定時器0中斷服務(wù)程序。中斷程序結(jié)束時的RETI指令使得單片機(jī)程序恢復(fù)到原有狀態(tài)繼續(xù)執(zhí)行。在整個定時時間內(nèi),單片機(jī)處于待機(jī)狀態(tài),外部電路所產(chǎn)生的干擾對單片機(jī)無能為力;當(dāng)定時時間結(jié)束,單片機(jī)恢復(fù)到正常運行時,外部干擾已不復(fù)存在,從而保證了單片機(jī)控制系統(tǒng)的可靠運行。

5、結(jié) 論

根據(jù)以上分析及實際運用表明,利用單片機(jī)的待機(jī)方式實現(xiàn)軟件抗瞬時干擾的作用是非常明顯的,其抗干擾效果亦是令人滿意的。但是,此抗干擾方法運用起來亦受到一定限制,例如:對連續(xù)或隨機(jī)干擾就無能為力。因此,當(dāng)系統(tǒng)產(chǎn)生干擾時,要具體分析產(chǎn)生干擾的原因,再決定采取哪些抗干擾措施,方能取得滿意的結(jié)果。如果干擾類型與本文介紹的瞬時干擾類似,采用軟件抗干擾的方法是切實可行的。



評論


相關(guān)推薦

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

關(guān)閉