單片機(jī)技術(shù)中防止干擾,保安全可靠運(yùn)行也是一個(gè)很重要的問(wèn)題。本文從電磁輻射、電源干擾和信號(hào)通道干擾三個(gè)主要干擾源入手,介紹了采用硬件和軟件的防干擾措施,對(duì)于從事單片機(jī)應(yīng)用設(shè)計(jì)者有重要參考價(jià)值。
1 引言
隨著單片機(jī)技術(shù)應(yīng)用發(fā)展,在應(yīng)用過(guò)程中,如何防止外界的干擾,確保單片機(jī)安全可靠運(yùn)行,是一個(gè)很重要的問(wèn)題。我們?cè)诙囗?xiàng)測(cè)控項(xiàng)目的實(shí)踐中體會(huì)到,干擾源主要來(lái)自三個(gè)方面。一是空間場(chǎng)干擾,通過(guò)電磁輻射富入系統(tǒng):二是電源干擾,它直接侵害系統(tǒng):三是信號(hào)通道干擾,通過(guò)與單片機(jī)相連的前、后向通道進(jìn)入系統(tǒng)。一般來(lái)說(shuō),空間場(chǎng)干擾在強(qiáng)度上遠(yuǎn)小于其他兩個(gè)干擾源產(chǎn)生的干擾,且容易對(duì)付。只要采取良好的屏蔽、正確的接地及恰當(dāng)?shù)母哳l濾波就可以得到滿意解決。
2 千擾的來(lái)源分析
2.1來(lái)自交流電源的干擾
開(kāi)關(guān)的通斷,火花干擾,電焊、大電機(jī)的啟動(dòng)等,在工業(yè)環(huán)境中是常見(jiàn)的。這些來(lái)自電源的干擾都會(huì)破壞單片機(jī)的正常運(yùn)行。要完全抑制來(lái)自交流電源的干擾是十分困難的,其原因是干擾傳播的途徑往往不清楚。干擾的頻帶很難定量化,交流電源及負(fù)載的阻抗很難實(shí)測(cè),電源濾波器的特性和實(shí)際干擾頻帶也往往有差異。
在實(shí)際使用中,常常要應(yīng)用交流電源供電,因此,必須采取措施克服來(lái)自電源的干擾。
2.2來(lái)自信號(hào)通道的干擾
為達(dá)到數(shù)據(jù)采集或?qū)崟r(shí)控制的目的,開(kāi)關(guān)量輸入、輸出,模擬量輸入、輸出是必不可少的。在工業(yè)現(xiàn)場(chǎng),如果被控對(duì)象是一個(gè)強(qiáng)干擾源(如可控硅、電焊機(jī)等),單片機(jī)根本無(wú)法工作。
對(duì)于開(kāi)關(guān)量的輸入、輸出要采取隔離措施,已為大多數(shù)工程技術(shù)人員所接受。然而對(duì)模擬量輸入、輸出也必須采取隔離措施,大多數(shù)人尚認(rèn)識(shí)不足。模擬量輸入、輸出不進(jìn)行隔離。雖說(shuō)可以運(yùn)行,但會(huì)產(chǎn)生“程序亂飛”,使可靠性下降,對(duì)于連續(xù)工作的對(duì)象(如鍋爐、空調(diào)等)來(lái)說(shuō)是不允許的。因此,在單片機(jī)控制時(shí),這個(gè)問(wèn)題也必須注意。對(duì)于模擬量、開(kāi)關(guān)量的輸入、輸出都采取隔離措施,才能保證系統(tǒng)穩(wěn)定運(yùn)行。
2.3來(lái)自空間的輻射干擾
在特殊的情況下,如在發(fā)射機(jī)、中頻爐、可控硅逆變電源周圍,單片機(jī)往往不能正常工作。
上述三種干擾危害以來(lái)自交流電源的干擾最甚,其次為來(lái)自信號(hào)通道的干擾。來(lái)自空間的輻射干擾不太突出,一般只須加以適當(dāng)?shù)钠帘渭敖拥鼐涂山鉀Q。
3 硬件抗干擾措施
3.1電源干擾的抑制
要保證系統(tǒng)工作的穩(wěn)定可靠,前提是保證供電的穩(wěn)定性,防止電源的過(guò)壓與欠壓。因此,在電源的前向要求配置交流穩(wěn)壓器,這樣有利于提高整個(gè)系統(tǒng)的可靠性。對(duì)于短暫時(shí)間的停電,可配置UPS電源。任何電源和輸電線路都存在內(nèi)阻,正是這些內(nèi)阻才引起電源的噪聲干擾??紤]到高頻噪聲通過(guò)變壓器主要不是靠初、次線圈的互感偶合,而是由初、次級(jí)間寄生電容偶合的。因此,在交流穩(wěn)壓器之后應(yīng)加隔離變壓器,且初、次級(jí)之間均需用屏蔽層隔離,以減少分布電容,提高抗共模干擾的能力。另外,由諧波頻譜分析可知,電源引起的干擾大部分是高次諧波。這樣就可在隔離變壓器之后設(shè)計(jì)低通濾波器,讓5 0HZ市電基波通過(guò),濾去高次諧波,改善電源波形。設(shè)計(jì)時(shí)應(yīng)注意:
當(dāng)濾波器工作在低電壓且載有大電流時(shí),宜采用小電感和大電容構(gòu)成的濾波網(wǎng)絡(luò):當(dāng)工作在高壓下,則宜采用小電容和允許的最大電感構(gòu)成的濾波網(wǎng)絡(luò)。
在整流電路之后加接附圖所示的雙T濾波器,用以消除50Hz的工頻干擾。它結(jié)構(gòu)簡(jiǎn)單,對(duì)固定頻率的干擾濾波效果好。調(diào)試步驟為:先將電容C固定,然后模擬現(xiàn)場(chǎng)運(yùn)行環(huán)境調(diào)節(jié)電阻,當(dāng)輸人50Hz信號(hào)時(shí),使輸出V0=0。
在實(shí)際控制系統(tǒng)中,往往需要提供多種電源,此時(shí)應(yīng)采用分散獨(dú)立的功能塊供電,且口用相應(yīng)的三端集成穩(wěn)壓塊分別組成所需的穩(wěn)壓電源。這樣可以減少公共阻抗和公共電源的相互偶合,有利于電源散熱,大大提高供電的可靠性。
?
3.2信號(hào)通道干擾的抑制
(1)共阻抗偶合干擾及其抗干擾措施。通過(guò)公共接地線的偶合形成共模干擾。A/D,D/A等I/O板的輸入、輸出電路的“地”與單片機(jī)地線GND之間有各種信號(hào)電路的電流流過(guò),并由接地線阻抗變換成電壓,形成共模干擾。其次,在I/O電路、前置放大器等各部分電路中,也存在同樣的的共地偶合形成局部的共模干擾,尤其是執(zhí)行機(jī)構(gòu)開(kāi)關(guān)通斷、線圈動(dòng)作等通過(guò)共地構(gòu)成的回饋干擾尤為嚴(yán)重,特別是感性負(fù)載時(shí),若不注意反電勢(shì),有關(guān)電子會(huì)受到損壞。
針對(duì)共阻抗偶合干擾采取如下措施:① 采用單點(diǎn)接地和分別電源供電,消除共阻抗回路。數(shù)字信號(hào)地線、信號(hào)源地線和負(fù)載地線分開(kāi)設(shè)置,數(shù)字電路、模擬電路和負(fù)載電路分別單獨(dú)供電,獨(dú)自構(gòu)成回路且單點(diǎn)接地。②加強(qiáng)電源退偶。為避免通過(guò)共用電源內(nèi)阻造成幾個(gè)電路之間的相互干擾,應(yīng)在每個(gè)電路的直流電源進(jìn)線與地線之間加裝退偶濾波器,工作頻率較高的電路加LC濾波器或RC濾波器。一般單片機(jī)主板及其外圍接口電路和一般I/O板等,在大規(guī)模集成電路電源引腳處加一只0.1u F電容,小功率TTL電路可幾片加一只退偶電容即可。③ 用集成隔離放大器切斷共阻抗環(huán)路。由于隔離放大器采用浮離式設(shè)計(jì),消除了輸入、輸出間的直接偶合,切斷了共地和共電源環(huán)路,因而具有共模抑制比高、能保護(hù)系統(tǒng)元件不受高共模電壓的損害和防止高壓對(duì)低壓信號(hào)系統(tǒng)損壞的特點(diǎn)。④采用光電隔離器切斷共阻抗環(huán)路。單片機(jī)與各數(shù)字電路、脈沖電路或開(kāi)關(guān)電路的接口可用數(shù)字式光電隔離器進(jìn)行隔離,以切斷共阻抗環(huán)路,避免長(zhǎng)線感應(yīng)及電源和各種負(fù)載通過(guò)共阻抗回饋的各種干擾的竄入。對(duì)于線性模擬電路通道,如因考慮成本不能使用隔離放大器進(jìn)行隔離時(shí),則可采用線性光偶或用V/F變換后再用數(shù)字光偶進(jìn)行隔離。
(2)靜電偶合干擾及其對(duì)策。靜電偶合是由于兩個(gè)電路間存在寄生電容,使一個(gè)電路的變化影響到另一個(gè)電路。
一般尖蜂干擾或脈沖干擾的頻譜極高,其靜電1禺合的途徑不能忽視。
針對(duì)靜電偶合干擾采取如下措施:①合理布線,減少分布電容,特別是高頻信號(hào)線盡量不要與其他信號(hào)線路平行走線,若必須平行走線時(shí),應(yīng)注意留一定的距離,以切斷靜電偶合通道。② 降低接收電路輸入阻抗。
例如用光電偶合器等。光電的輸入阻抗與干擾源相比極小,前者數(shù)量級(jí)為100Ω/~1kΩ ,而后者則為105 Ω~108Ω,因此,使用光偶可以使干擾大大減小。
(3)傳導(dǎo)偶合干擾及其措施。在單片機(jī)測(cè)控系統(tǒng)中,傳輸線上的信息多為脈沖信號(hào),它在傳輸線上傳輸時(shí)會(huì)出現(xiàn)延時(shí)、畸變和衰減。尤其是當(dāng)長(zhǎng)傳輸線經(jīng)過(guò)干擾環(huán)境時(shí),導(dǎo)線相當(dāng)于天線拾取干擾信號(hào),對(duì)電路產(chǎn)生干擾。
針對(duì)傳導(dǎo)偶合千擾采取如下措施:①長(zhǎng)傳輸線采用屏蔽線,避免電磁感應(yīng)干擾。但要注意屏蔽層要一端接大地,并保證接地良好。若采用兩端接地,屏蔽層又構(gòu)成新的干擾回路,起不到好的屏蔽效果。②用光電偶合器將長(zhǎng)線完全浮置起來(lái),長(zhǎng)線的“浮置”去掉了長(zhǎng)線兩端間的公共地線,不但有效消除了各邏輯電路的電流經(jīng)公共地線時(shí)所產(chǎn)生的噪聲電壓形成相互竄擾,而且也有效地解決了長(zhǎng)線驅(qū)動(dòng)和阻抗匹配問(wèn)題。同時(shí),受控設(shè)備短路時(shí),還能保護(hù)系統(tǒng)不受損害。③傳輸線應(yīng)盡量遠(yuǎn)離變壓器及電源等大功率器件,且盡可能短。若較長(zhǎng)時(shí),可用雙絞屏蔽線傳輸,用雙絞屏蔽線與光電偶合器配合使用效果更佳。同時(shí),注意強(qiáng)電信號(hào)線和弱電信號(hào)線分開(kāi),高頻信號(hào)線和低頻信號(hào)線分開(kāi),交流和直流分開(kāi),電源線和信號(hào)線分開(kāi)。
4 軟件抗干擾措施
根據(jù)經(jīng)驗(yàn),用軟件方法抑制信號(hào)通道干擾很有效,下面就這個(gè)范圍介紹幾種軟件抗干擾的方法。
4.1數(shù)據(jù)采集干擾抑制方法
進(jìn)行實(shí)時(shí)數(shù)據(jù)采集時(shí),為了消除傳感器通道中的干擾信號(hào),有三種常用濾波方法。
(1)算術(shù)平均算法。對(duì)一點(diǎn)數(shù)據(jù)連續(xù)采樣多次,以其平均值作為該點(diǎn)采樣結(jié)果。這樣做可以減少系統(tǒng)的隨機(jī)干擾對(duì)采樣結(jié)果的影響,多次采樣一般取3~5次平均即可。
(2)比較取合法。當(dāng)測(cè)控系統(tǒng)測(cè)量結(jié)果的個(gè)別數(shù)據(jù)存在偏差時(shí),為了剔除個(gè)別誤差較大的數(shù)據(jù),可采用此法,即根據(jù)幾個(gè)采樣點(diǎn)數(shù)據(jù)變化的規(guī)律,確定取合辦法。如:“采三取二”,就是對(duì)每點(diǎn)采樣三次,取兩次相同的為采樣結(jié)果。
(3)數(shù)字濾波法。該方法利用軟件完成RC低通濾波器的算法,經(jīng)常采用的二階遞推數(shù)字濾波公式為:
實(shí)踐證明,采用軟件濾波對(duì)消除數(shù)據(jù)采集中的誤差可以獲得滿意效果。在應(yīng)用中,究竟使用哪一種方法,要根據(jù)被采樣信號(hào)的具體變化規(guī)律進(jìn)行選擇。
4.2控制失常的抑制方法
在大量開(kāi)關(guān)量的單片機(jī)系統(tǒng)中,確保信號(hào)的正常狀態(tài)顯得尤為重要。
如果干擾進(jìn)入系統(tǒng)影響到控制條件時(shí),就會(huì)出現(xiàn)失控現(xiàn)象,通??捎孟率鰞煞N方法抑制。
(1)重復(fù)檢查法。對(duì)于開(kāi)關(guān)量、控制條件處理輸出,進(jìn)行循環(huán)采樣。若相鄰各次檢測(cè)結(jié)果在允許誤差范圍內(nèi),則輸出控制。如超出誤差范圍,則重新檢測(cè),直至檢測(cè)結(jié)果符合要求為止。
(2)設(shè)置輸出寄存單元。當(dāng)干擾侵入輸出通道使輸出狀態(tài)破壞時(shí),也會(huì)導(dǎo)致控制失常。此時(shí)應(yīng)考慮設(shè)置輸出寄存單元,在控制輸出時(shí)可及時(shí)查詢、比較寄存器單元的內(nèi)容,一旦異??杉皶r(shí)糾正輸出狀態(tài)。
4.3程序盲目運(yùn)行的抑制方法
系統(tǒng)受到干擾時(shí),有時(shí)PC值被改變,結(jié)果導(dǎo)致程序飛出,盲目運(yùn)行和進(jìn)人死循環(huán)。顯然,抗干擾軟件要能做到:一旦系統(tǒng)出現(xiàn)上述情況后,能自動(dòng)及時(shí)地引導(dǎo)系統(tǒng)恢復(fù)到正常狀態(tài),以下兩種方法有效。
(1)設(shè)置Watchdog。Watchdog亦即跟蹤監(jiān)視定時(shí)器,利用定時(shí)器中斷功能來(lái)監(jiān)視程序的運(yùn)行狀態(tài)。具體做法為:測(cè)算好最長(zhǎng)循環(huán)程序循環(huán)一次的時(shí)間,然后定時(shí)時(shí)間的設(shè)置稍大于它。正常循環(huán)一次后,定時(shí)器重新置初值,否則定時(shí)器繼續(xù)計(jì)數(shù),直到溢出進(jìn)入中斷。在中斷服務(wù)程序中設(shè)置PC值,迫使其跳出死循環(huán)。
(2)設(shè)置陷阱方法。若PC值并非進(jìn)人死循環(huán),而是隨機(jī)“亂飛”,可設(shè)置陷阱攔截。具體做法是在所有子程序和程序快的連接處(前提是程序正常運(yùn)行時(shí)不會(huì)進(jìn)入該處)填上絕對(duì)跳轉(zhuǎn)指令,失控的PC一旦進(jìn)入該處即可捕獲,迫使其重新回到復(fù)位狀態(tài)。
5 結(jié)束語(yǔ)
實(shí)踐證明,只要對(duì)單片機(jī)系統(tǒng)實(shí)行總體抗干擾設(shè)計(jì),就可保障它在工作環(huán)境惡劣的條件下可靠運(yùn)行。
評(píng)論
查看更多