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