隨著單片機的發展,單片機在家用電器、工業自動化、生產過程控制、智能儀器儀表等領域的應用越來越廣泛。然而處於同一電力系統中的各種電氣設備通過電或磁的聯繫彼此緊密相連,相互影響,由於運行方式的改變,故障,開關操作等引起的電磁振蕩會波及很多電氣設備。這對我們單片機系統的可靠性與安全性構成了極大的威脅。單片機測控系統必須長期穩定、可靠運行,否則將導致控制誤差加大,嚴重時會使系統失靈,甚至造成巨大損失。因此單片機的抗幹擾問題已經成為不容忽視的問題。
1 幹擾對單片機應用系統的影響
1.1測量數據誤差加大
幹擾侵入單片機系統測量單元模擬信號的輸入通道,疊加在測量信號上,會使數據採集誤差加大。特別是檢測一些微弱信號,幹擾信號甚至淹沒測量信號。
1.2 控制系統失靈
單片機輸出的控制信號通常依賴於某些條件的狀態輸入信號和對這些信號的邏輯處理結果。若這些輸入的狀態信號受到幹擾,引入虛假狀態信息,將導致輸出控制誤差加大,甚至控制失靈。
1.3 影響單片機RAM存儲器和E2PROM等
在單片機系統中,程序及表格、數據存在程序存儲器EPROM或FLASH中,避免了這些數據受幹擾破壞。但是,對於片內RAM、外擴RAM、E2PROM 中的數據都有可能受到外界幹擾而變化。
1.4 程序運行失常
外界的幹擾有時導致機器頻繁複位而影響程序的正常運行。若外界幹擾導致單片機程序計數器PC值的改變,則破壞了程序的正常運行。由於受幹擾後的PC 值是隨機的,程序將執行一系列毫無意義的指令,最後進入「死循環」,這將使輸出嚴重混亂或死機。
2 如何提高我們設備的抗幹擾能力
2.1 解決來自電源端的幹擾
單片機系統中的各個單元都需要使用直 流電源,而直流電源一般是市電電網的交流電經過變壓、整流、濾波、穩壓後產生的,因此電網上的各種幹擾便會引入系統。除此之外,由於交流電源共用,各電子設備之間通過電源也會產生相互幹擾,因此抑制電源幹擾尤其重要。電源幹擾主要有以下幾類:
2.1.1電源線中的高頻幹擾(傳導騷擾)
供電電力線相當於一個接受天線,能把雷電、電弧、廣播電臺等輻射的高頻幹擾信號通過電源變壓器初級耦合到次級,形成對單片機系統的幹擾;解決這種幹擾,一般通過接口防護;在接口增加濾波器、或者使用隔離電源模塊解決。
2.1.2 感性負載產生的瞬變噪音(EFT)
切斷大容量感性負載時,能產生很大的電流和電壓變化率,從而形成瞬變噪音幹擾,成為電磁幹擾的主要形式;解決這種幹擾,一般通過屏蔽線與雙膠線,或在電源接口、信號接口進行濾波處理。這二種方法都需要在系統接地良好的情況下進行,濾波器、接口濾波電路都必須良好的接地,這樣才能有效的將幹擾洩放。
2.2 模擬信號採樣抗幹擾技術
單片機應用系統中通常要對一個或多個模擬信號進行採樣,並將其通過A/D轉換成數位訊號進行處理。為了提高測量精度和穩定性,不僅要保證傳感器本身的轉換精度、傳感器供電電源的穩定、測量放大器的穩定、A/D轉換基準電壓的穩定,而且要防止外部電磁感應噪聲的影響,如果處理不當,微弱的有用信號可能完全被無用的噪音信號淹沒。在實際工作中,可以採用具有差動輸入的測量放大器,採用屏蔽雙膠線傳輸測量信號,或將電壓信號改變為電流信號,以及採用阻容濾波等技術。
2.3 數位訊號傳輸通道的抗幹擾技術
數字輸出信號可作為系統被控設備的驅動信號(如繼電器等),數字輸入信號可作為設備的響應回答和指令信號(如行程開關、啟動按鈕等)。數位訊號接口部分是外界幹擾進入單片機系統的主要通道之一。在工程設計中,對數位訊號的輸入/輸出過程採取的抗幹擾措施有:傳輸線的屏蔽技術,如採用屏蔽線、雙膠線等;採用信號隔離措施;合理接地,由於數位訊號在電平轉換過程中形成公共阻抗幹擾,選擇合適的接地點可以有效抑制地線噪聲。
2.4 硬體監控電路
在單片機系統中,為了保證系統可靠、穩定地運行,增強抗幹擾能力,需要配置硬體監控電路,硬體監控電路從功能上包括以下幾個方面:
(1)上電復位:保證系統加電時能正確地啟動;
(2)掉電復位:當電源失效或電壓降到某一電壓值以下時,產生復位信號對系統進行復位;
(3)電源監測:供電電壓出現異常時,給出報警指示信號或中斷請求信號;
(4)硬體看門狗:當處理器遇到幹擾或程序運行混亂產生「死鎖」時,對系統進行復位。
2.5 PCB電路合理布線
PCB板設計的好壞對抗幹擾能力影響很大。因此,在進行PCB 設計時,必須遵守PCB 設計的一般原則,並應符合抗幹擾設計的要求。下面著重說明兩點:
2.5.1關鍵器件放置
在器件布置方面與其它邏輯電路一樣,應把相互有關的器件儘量放得靠近些,這樣可以獲得較好的抗噪聲效果。時鐘發生器、晶振和CPU 的時鐘輸入端都易產生噪聲,要相互靠近些;CPU 復位電路、硬體看門狗電路要儘量靠近CPU相應引腳;易產生噪聲的器件、大電流電路等應儘量遠離邏輯電路。
2.5.2 D/A、A/D 轉換電路地線的正確連接
D/A、A/D 晶片及採樣晶片均提供了數字地和模擬地,分別有相應的管腳。在線路設計中,必須將所有器件的數字地和模擬地分別相連,但數字地與模擬地僅在一點上相連。另外,也可以採用屏蔽保護,屏蔽可用來隔離空間輻射。對噪聲特別大的部件(如變頻電源、開關電源)可以用金屬盒罩起來以減少噪聲源對單片機的幹擾,對容易受幹擾的部分,可以增加屏蔽罩並接地,使幹擾信號被短路接地。
2.6 軟體抗幹擾原理及方法
儘管我們採取了硬體抗幹擾措施,但由於幹擾信號產生的原因錯綜複雜,且具有很大的隨機性,很難保證系統完全不受幹擾。因此,往往在硬體抗幹擾措施的基礎上,採取軟體抗幹擾技術加以補充,作為硬體措施的輔助手段。軟體抗幹擾方法具有簡單、靈活方便、耗費低等特點,在系統中被廣泛應用。
2.6.1 數字濾波方法
數字濾波是在對模擬信號多次採樣的基礎上,通過軟體算法提取最逼近真值數據的過程。數字濾波的的算法靈活,可選擇權限參數,其效果往往是硬體濾波電路無法達到的。
2.6.2 輸入信號重複檢測方法
輸入信號的幹擾是疊加在有效電平信號上的一系列離散尖脈衝,作用時間很短。當控制系統存在輸入幹擾,又不能用硬體加以有效抑制時,可用軟體重複檢測的方法,達到「去偽存真」的目的,直到連續兩次或連續兩次以上的採集結果完全一致時方為有效。若信號總是變化不定,在達到最高次數限額時,則可給出報警信號。對於來自各類開關型傳感器的信號,如限位開關、行程開關、操作按鈕等,都可採用這種輸入方式。如果在連續採集數據之間插入延時,則能夠對付較寬的幹擾。
2.6.3 輸出埠數據刷新方法
開關量輸出軟體抗幹擾設計,主要是採取重複輸出的方法,這是一種提高輸出接口抗幹擾性能的有效措施。對於那些用鎖存器輸出的控制信號,這些措施很有必要。在儘可能短的周期內,將數據重複輸出,受幹擾影響的設備在還沒有來得及響應時,正確的信息又到來,這樣就可以及時防止誤動作的產生。在程序結構的安排上,可為輸出數據建立一個數據緩衝區,在程序的周期性循環體內將數據輸出。對於增量控制型設備不能這樣重複送數,只有通過檢測通道,從設備的反饋信息中判斷數據傳輸的正確與否。在執行重複輸出功能時,對於可編程接口晶片,工作方式控制字與輸出狀態字一併重複設置,使輸出模塊可靠地工作。
2.6.4 軟體攔截技術
當竄入單片機系統的幹擾作用在CPU 部位時,後果更加嚴重,將使系統失靈。最典型的故障是破壞程序計數器PC 的狀態,導致程序從一個區域跳轉到另一個區域,或者程序在地址空間內「亂飛」,或者陷入「死循環」。使用軟體攔截技術可以攔截「亂飛」的程序或者使程序擺脫「死循環」,並將運行程序納入正軌,轉到指定的程序入口。
2.6.5 「軟體看門狗」技術
PC 受到幹擾而失控,引起程序「亂飛」,也可能使程序陷入「死循環」。當軟體攔截技術不能使失控的程序擺脫「死循環」的困境時,通常採用程序監視技術WDT TIMER(WDT),又稱「看門狗」技術,使程序脫離「死循環」。WDT 是一種軟、硬體結合的抗程序跑飛措施,其硬體主體是一個用於產生定時T 的計數器或單穩,該計數器或單穩基本獨立運行,其定時輸出端接至CPU 的復位線,而其定時清零則由CPU 控制。在正常情況下,程序啟動WDT 後,CPU 周期性的將WDT 清零,這樣WDT 的定時溢出就不會發生,如同睡眠一般不起任何作用。在受到幹擾的異常情況下,CPU 時序邏輯被破壞,程序執行混亂,不可能周期性的將WDT 清零,這樣當WDT 的定時溢出時,其輸出使系統復位,避免CPU因一時幹擾而陷入癱瘓的狀態。
3 結束語
隨著單片機系統的廣泛應用和技術的進步,電磁幹擾問題越來越突出,推廣現有的、成熟的抗幹擾技術,研究抗幹擾的新技術、新方向是單片機應用技術的當務之急。在單片機應用系統設計及應用中,只要充分考慮設備的電磁兼容性,並通過各種技術措施來消除幹擾,就可以大大提高設備的穩定性和可靠性。