• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統 > 設計應用 > 巧用單片機軟件抗系統瞬時干擾

    巧用單片機軟件抗系統瞬時干擾

    作者: 時間:2012-04-01 來源:網絡 收藏

    0、引 言

    本文引用地址:http://www.czjhyjcfj.com/article/171711.htm

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

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

    1、單片機待機方式簡述[1]

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

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

    2、抗瞬間干擾原理

    當單片機控制系統中的大電流感性負載開啟或關閉到穩定狀態期間產生較強的干擾,使得單片機

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

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

    3、定時時間設計

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

    53.gif

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

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

    4、應用實例

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

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

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

    在以上程序中,87H為專用寄存器PCON的地址碼,PCON.0為待機方式位。當定時時間到產生定時中斷0時,進入定時器0中斷服務程序。中斷程序結束時的RETI指令使得單片機程序恢復到原有狀態繼續執行。在整個定時時間內,單片機處于待機狀態,外部電路所產生的干擾對單片機無能為力;當定時時間結束,單片機恢復到正常運行時,外部干擾已不復存在,從而保證了單片機控制系統的可靠運行。

    5、結 論

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



    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 渭南市| 吴忠市| 内丘县| 临沧市| 沈丘县| 崇仁县| 五台县| 米泉市| 长乐市| 威信县| 虹口区| 南漳县| 洪泽县| 微山县| 绥化市| 体育| 甘洛县| 鹤庆县| 应用必备| 宁夏| 惠东县| 交口县| 通江县| 怀柔区| 孝感市| 阳江市| 沂水县| 鸡东县| 汉沽区| 平凉市| 甘泉县| 花垣县| 青河县| 乃东县| 天气| 阿城市| 青州市| 洱源县| 太谷县| 涿州市| 壶关县|