林仲景
【摘 要】本文簡要分析了單片機應用系統受干擾的來源及被干擾的后果,分別從軟件、硬件兩方面,探討關于此系統的抗干擾設計技術,望能為此領域研究有所借鑒。
【關鍵詞】單片機;軟件;硬件;抗干擾技術
單片機憑借其自身優良的性價比,在多領域得到廣泛應用。針對通訊、醫療器械及工業控制等領域,對單片機可靠性有著越來越高的要求。而伴隨單片機應用途徑及種類的日益增多,其功能也變得越發完善,硬件設計日益簡單。在實驗室中設計的控制系統,其在完成安裝與調試后,與設計要求相符,但若將其用于現場,系統經常難以正常、穩定的工作。造成此狀況的原因有許多,而主要原因使各種電磁干擾與現場環境復雜等,因此,應重視單片機應用系統的抗干擾技術設計。
一、干擾的來源及后果
在各種工業現場環境中,干擾乃是以脈沖方式進至單片機系統的,歸結其渠道,主要有3條,分別為過程通道干擾、供電系統干擾與空間干擾。針對空間干擾來講,在高頻電磁場、大電流及高電壓附近比較多見,多經電磁感應、靜電感應而侵入到系統內部;針對供電系統感染而言,其主要通過電源的噪聲干擾所致;而對于過程通道干擾,從本質上來講,就是干擾經后向或前向通道進系統。另外,如果所配置的接地系統運作不可靠,同樣會形成干擾;輸入、輸出線路的絕緣損壞,也易引入干擾。干擾所造成的后果為:(1)增大數據采集誤差。若單片機系統的前向通道有干擾侵入,并且疊加于信號上,便會增大數據采集誤差,尤其是前向通道設置的是小電壓信號輸入的傳感器接口,受干擾現象便會更為嚴重。(2)程序運行失常。首先,控制狀態失靈。在整個單片機系統體系中,因有加入有干擾,因而會增大輸出的誤差,導致邏輯狀態出現異常性改變,最終造成控制失常。其次,死機。如果單片機受到的是強干擾,那么會改變程序計數器的PC值,進而對程序的正常運行造成破壞。(3)系統被控對象出現誤操作。單片機內部程序指針指向了其它方向,運行錯誤程序;在RAM中,部分數據會被沖亂,或者是一些特殊寄存器的值被異常性改變,使得程序計算出并不準確的結果。
二、系統硬件抗干擾設計
(1)供電系統。其一,避免干擾從電源系統進入,可以根據實際情況,采取交流穩壓器,以此來確保供電的整體穩定性,避免電源出現欠壓、過壓等情況。另外,還可以運用隔離變壓器,將高頻噪過濾掉,另用低通濾波器,將工頻干擾濾掉。其二,運用開關電源為系統提供充足功率余量,在主機部分,可專門設置穩壓電路,還可以采用DC-DC模塊將輸入、輸出供電隔離,最大程度避免各部分之間的干擾。(2)輸入、輸出干擾的抑制。其一,輸入、輸出信號加裝光電耦合器用于隔離,可把前向通道、后向通道與主機部分之間的電路聯系部分切斷,這樣便能夠一定程度的預防干擾進至主機系統。其二,終端阻抗與雙絞線傳輸匹配。當數字信號需要進行長線傳輸時,通過雙絞線的利用,能夠較好的抑制噪聲干擾。還可以聯用于光電耦合器。于接收與發送信號端,需要設置有末端電阻,雙絞線需匹配于阻抗。(3)屏蔽。針對易被干擾或會產生干擾的部件,可用金屬盒施加屏蔽,促使干擾電磁波能夠短路接地。(4)提升器件驅動能力。通常情況下,1個TTL能夠推動10幾個CMOS或者是8個TTL,而1個CMOS則可以推動20多個CMOS或者1~2個TTL。若存在過重的輸出負載,那么會使輸出電平降低,使電平低于被驅動器件的輸入門檻電平,進而導致系統不穩。(5)提升元器件可靠性。首先,運用質量好、可靠度高的電子元件,并開展嚴格、系統化測試與篩選。其次,在實際設計中,所設計的元件技術參數需有一定余量。最后,提升組裝與印制板質量。(6)運用雙機冗余設計。對于嚴格要求控制系統可靠性的場合,可以選用雙機冗余,這能夠一定橫渡提升系統抗干擾能力。所謂雙機冗余,從本質上來講,即為執行同一控制任務,可以由2個單片機來進行,分別是從機與主機。通常,主機控制三總線,并控制整個系統,此時,從機保持待機狀態,若主機因某種原因出現誤動作狀況,此時的仲裁器便會立即判別條件,如果認定是主機程序混亂,那么會將主機總線控制權及時切斷,喚醒從機,進而替代主機,實施處理與控制操作。
三、軟件的抗干擾設計
(1)數據采集誤差的軟件措施。其一,運用軟件濾波算法,可以將從輸入信號干擾而造成的部分輸出控制錯誤給過濾掉。常用方法有中值法、比較舍取法、算數平均值法等。在實際運用中,究竟選何種方法,須依據信號實際變化情況,酌情予以選擇。其二,對于那些關鍵數據,則可選用軟件冗余技術,也就是給數據增加冗余位,檢錯與糾錯數據。一般選用的方法為循環碼校驗、海明碼及奇偶校驗等。(2)程序運行失控的軟件策略。首先,指令冗余。針對MCS-51系列單片機來講,其多為單字節指令,如果在其上有出錯的程序,此時出錯的程序便能夠自動轉入正規;如果落于多字節指令的操作數,那么此時的程序便會繼續出錯,因此,在對程序流向起到關鍵性作用的指令前,將2條NOP指令插入,恢復被彈飛的指令。其次,設置程序指令陷阱。通過設置軟件陷阱,能夠及時捕獲出錯的程序,且將出錯程序強行引入。在安排軟件陷阱時,可將其設置在如下地方:①還沒有使用的中斷向量區。干擾能夠開放沒有使用的中斷,并且將其激活,而通過將軟件陷阱設置在此些地方,便能夠及時對錯誤中斷進行捕獲。②還未曾使用的ROM空間。將陷阱分隔設置其中,可以捕獲彈飛于此區域的出錯程序。③表格。將軟件陷阱安裝于EPROM中的表格后,能夠較好的預防軟件彈飛。④程序區。針對一般性程序而言,其無法任意安排軟件陷阱,但如在正常程序當中,會存在一些跳轉指令,而將軟件陷阱設置在此些指令后,便能夠將彈飛至跳轉指令的操作數上的出錯程序捕獲到。
四、結語
綜上,在整個單片機應用系統中,抗干擾技術設計為其重要構成,通過軟件與硬件抗干擾技術的高質量、合理化運用,能夠最大限度的避免系統受外界干擾,即使受到外界干擾,但干擾后仍能使系統恢復至原先正常運行狀態,因而能夠保障系統長久、高質量工作。
【參考文獻】
[1]吳興純, 趙金燕, 楊秀蓮,等. 單片機運用系統的軟件抗干擾技術研究與分析[J]. 電子設計工程, 2011, 19(16):34-37.
[2]孫夢穎, 曹俊江. 軟件抗干擾技術在單片機系統設計中的應用[J]. 信息與電腦, 2017(11):38-39.
[3]王會海, 曹建, 趙巖. 基于AT89C52單片機的平板硫化機測控系統的抗干擾設計和研究[J]. 制造業自動化, 2004, 26(6):42-45.