微控制器抗干擾措施

2021-06-06 06:33:50 字數 4123 閱讀 3336

在微控制器的應用系統中,系統的抗干擾技術是系統可靠性的重要方面。乙個系統的正確與否,不僅取決於系統的設計思想和方法,同時還取決於系統的抗干擾措施,不然勢必會出現原理正確而系統穩定性差,甚至不能實施,使得耗費了大量錢財和時間研製出來的控制系統成為一種擺設,電腦變成了「煩惱」。正因如此,抗干擾技術的研究越來越引起大家的高度重視。

以下為筆者在多年微控制器控制系統設計和應用中拾取的一些抗干擾的經驗體會。

2 微控制器系統軟體的抗干擾

一般來講,竄入微機測控系統的干擾,其頻譜往往很寬,採用硬體抗干擾措施,只能抑制某個頻率段的干擾,仍有一些干擾會進入系統。因此,除了採取硬體抗干擾方法外,還要採取軟體抗干擾措施。

2.1 模擬輸入訊號抗干擾

疊加在系統模擬輸入訊號上的雜訊干擾,會導致較大的測量誤差。但由於這些雜訊的隨機性,可以通過數字濾波技術剔除虛假訊號,求去真值。常用方法如下:

(1)算術平均濾波法算術平均濾波法就是連續取n個值進行取樣,然後求其平均值。該方法適應於對一般具有隨機性干擾的訊號進行濾波。這種濾波法的特點是:n值較大時,訊號的平滑度好,但靈敏度低;當n值較小時,平滑度低,但靈敏度高。

(2)遞推平均濾波法

該方法是把n個測量資料看成乙個佇列,佇列的長度為n,每進行一次新的測量,就把測量結果放入隊尾,而扔掉原來隊首的一次資料。計算n個資料的平均值。對週期性的干擾,此方法有良好的抑制作用,平滑度高,靈敏度低。但對偶發脈衝的干擾抑制作用差。

(3)防脈衝干擾平均值濾波法

在脈衝干擾比較嚴重的場合,如果採用一般的平均濾波法,則干擾將會「平均」到結果中去,故平均值法不易消除由於脈衝干擾而引起的誤差。為此,在n個取樣資料中,取掉最大值和最小值,然後計算n-2個資料的算術平均值。為了加快測量速度,n一般取值為4。

2.2 「宕機」現象的克服

當干擾通過匯流排或其他口線作用到cpu時,就會造成程式計數器pc值的改變,引起程式混亂,使系統失控。因此,在設計微控制器系統時,如何發現cpu受到干擾,並盡可能無擾地使系統恢復到正常工作狀態是軟體設計應考慮的主要問題。

無論何種控制系統,一般講,宕機現象都是不允許的。克服宕機現象最有效的辦法就是採用微控制器工加了硬體看門狗電路後仍然有宕機現象,分析原因,可能有以下方面:

(1)因為某種原因,程式混亂後,看門狗電路雖然發出了復位脈衝,但在程式剛剛正常還來不及發出乙個脈衝訊號,此時程式再次被干擾,而這時看門狗電路已處於穩態,不能再發出復位脈衝。

(2)程式進入死迴圈,在該死迴圈中,恰好又有看門狗監視i/o口上操作的指令。而該i/o口仍有脈衝訊號輸出,看門狗檢測不到這種異常情況。

(3)在有嚴重干擾時,中斷方式控制字有時會受到破壞,導致中斷關閉。

可見,只用硬體看門狗電路是無法確保微控制器正常工作的。因此,可採用以下方法作為補充。

(1)軟體「看門狗」的應用

選用定時器t0作為看門狗,將t0的中斷定義為最高端中斷。看門狗啟動後,系統必須及時重新整理t0的時間常數。

(2)指令冗餘技術

①nop的使用

在8031微控制器指令系統中所有指令都不超過3個位元組。因此,在程式中連續插入3條nop指令,有助於降低程式計數器發生錯誤的概率。

②重要指令冗餘

對於程式流向起決定作用的指令(如ret,reti,acall,ljmp,jz等)和某些對系統工作狀態有重要作用的指令(如setbea等)的後面,可重複寫下這些指令,以確保這些指令的正確執行。

(3)軟體陷阱法

微控制器系統程式跑飛意味著cpu執行不正確流程程式。而當亂飛程式進入非程式區,採用冗餘技術無法使程式納入正確軌道,此時可採用軟體陷阱法,攔截亂飛程式。軟體陷阱就是用引導指令(如ljmp)將撲獲到的亂飛程式引向復位入口位址0000h,在此對程式進行出錯處理,使其納入正軌。

①軟體陷阱格式

nopnop

ljmp0000h

②軟體陷阱安排未使用的中斷區;

未使用的大片rom空間;

程式區;

中斷服務程式區。

2.3 系統復位特徵

微控制器應用系統採用看門狗電路後,在一定程度上解決了系統宕機現象,但是每次發生復位都使系統執行初始化,這在干擾較強的情況下仍不能正常工作。同時系統雖然沒有宕機,但工作狀態頻繁改變,這同樣是不能容忍的。

理想的復位特徵應該是:系統可以鑑別是首次上電復位(又稱冷起動),還是異常復位(又稱熱啟動)。首次上電復位則進行全部初始化,異常復位則不需要進行全部初始化,測控程式不必從頭開始執行,而應故障部位開始。

(1)上電標誌的設定方法

①sp建立上電標誌。

②psw.5建立上電標誌。

③內ram建立上電標誌。

(2)軟體復位與中斷啟用標誌

當系統執行中斷服務程式時,來不及執行reti指令而受干擾跳出該程式後,程式亂飛過程中由軟體陷阱或軟體「看門狗」將程式引向0000h,顯然這時中斷啟用標誌並未清除,這樣就會使系統熱啟動時,不管中斷標誌是否置位,都不會響應同級中斷的請求。因此,由軟體陷阱或「看門狗」捕獲的程式一定要完成清除 msc-51系列中中斷啟用標誌,才能消除系統熱啟動後不響應中斷的隱患。

(3)程式失控後恢復執行的方法

一般來說,主程式是由若干個功能模組組成,每個功能模組入口設定乙個標誌,系統故障復位後,可根據這些標誌選擇進入相應的功能模組。這一點對一些自動化生產線的控制系統尤為重要。

總之,微機測控系統由於受到嚴重干擾而發生程式亂飛、陷入死迴圈以及中斷關閉等故障。系統通過冗餘技術、軟體陷阱技術和「看門狗」技術等,使程式重新進入0000h單元,納入正軌。因故障而進入0000h後,系統要執行上電標誌判定、ram資料檢查與恢復、清除中斷啟用標誌等一系列操作,決定入口位址。

2.4 睡眠抗干擾

在實際應用中,強干擾的**往往是系統本身,例如被控負載的中斷狀態變化等。而這種干擾是可預知的,在軟體設計時可採取適當措施避開。當系統接通或斷開大功率負載時,暫停一切資料採集等工作。待干擾過後,再恢復進行。這比單純在硬體上採取抗干擾措施要好的多。8031微控制器中有乙個電源控制暫存器 pcon。當pcon.0=1時,8031微控制器進入等待工33作狀態。這時微控制器時鐘被封鎖,所有i/o口引腳均保持進入等待工作方式前的狀態,內部時鐘仍然繼續供給中斷系統定時/計數器和序列口、8031微控制器現場(棧指標、程式計數器pc、狀態字psw、累加器acc、內部ram)和其他特殊功能暫存器內容保持不變。中斷退出和硬體復位均可使8031微控制器退出睡眠狀態。

3 微控制器系統中硬體抗干擾設計

乙個好的電路設計,應在設計過程中充分考慮抗干擾性的要求。分析系統中可能引起干擾的部件,採取必要的硬體抗干擾措施,抑制干擾源、切斷干擾傳播途徑。

3.1 抑制干擾源常用措施

(1)給繼電器線圈增加續流二極體,消除斷電時產生的反電動勢。

(2)在繼電器接點兩端並接火花抑制電路,(一般為rc串聯電路,電阻一般為幾~幾十kω,電容為0.01μf)減小電火花影響。

(3)給電機加濾波電路,注意電容、電感連線要盡量靠近電機。

(4)電路板上每個ic要並接乙個0.01~0.1μf高頻電容,減小ic對電源的影響。注意高頻電容的佈線應靠近電源端,並盡量短,否則等於增大了電容的等效串聯電阻,會影響濾波效果。

(5)避免90°折線,減小高頻雜訊發射。

(6)在可控矽兩端並接rc抑制電路,減小可控矽雜訊。

3.2 切斷干擾傳播途徑措施

(1)充分考慮電源對微控制器的影響。給微控制器電源加濾波電路,減小電源雜訊對微控制器的干擾。

(2)若用微控制器的i/o口來控制電機等雜訊器件,在i/o口與雜訊源之間應加ⅱ形濾波電路,或進行光電隔離。

(3)注意晶振佈線。晶振與微控制器引腳盡量靠近,用地線把時鐘區隔離起來,晶振外殼接地並固定。

(4)電路板合理分割槽,如數碼訊號、模擬訊號盡可能使干擾源與敏感器件遠離。

(5)用地線將數字區與模擬區隔離,數字地與模擬地分離,最後接在一點接於電源地。

(6)微控制器和大功率器件的地線要單獨接地,以減小相互之間的干擾。

(7)在微控制器i/o口、電源線、電路板連線等關鍵地方使用抗干擾元件,如磁環、電源濾波器、遮蔽罩等。3.3 提高敏感器件的抗干擾性能

提高敏感器件的抗干擾性能是指從敏感器件考慮盡量減小對干擾雜訊的拾取,以及從不正常狀態盡快恢復的方法。常用措施:

(1)佈線時儘量減少迴路面積,降低感應雜訊;

(2)佈線時電源線與地線盡量粗。除減小壓降外,更重要的是降低耦合雜訊;

(3)對微控制器的閒置i/o,不能懸空,應接地或電源,其他ic的閒置口一樣;

(4)加微控制器硬體看門狗電路;

(5)滿足要求的前提下,盡量降低微控制器晶振和選用低速數位電路;

(6)ic器件盡量直接焊在電路板上,少用ic座。

**:

PCB抗干擾措施

印製電路板的抗干擾設計與具體電路有著密切的關係,這裡僅就pcb抗干擾設計的幾項常用措施做一些說明。1.電源線設計 根據印製線路板電流的大小,盡量加租電源線寬度,減少環路電阻。同時 使電源線 地線的走向和資料傳遞的方向一致,這樣有助於增強抗雜訊能力。2.地線設計 地線設計的原則是 1 數字地與模擬地分...

微控制器應用產品設計經驗 抗干擾篇

微控制器應用產品設計經驗 抗干擾篇 微控制器應用產品設計經驗 抗干擾篇1 分享 微控制器應用產品設計經驗 抗干擾篇1 如何提高電子產品的 抗干擾能力和電磁相容性 在研製帶處理器的電子產品時,如何提高抗干擾能力和電磁相容性?1 下面的一些系統要特別注意抗電磁干擾 1 微控制器時鐘頻率特別高,匯流排週期...

微控制器軟體抗干擾的幾種常見方法

在提高硬體系統抗干擾能力的同時,軟體抗干擾以其設計靈活 節省硬體資源 可靠性好越來越受到重視。下面以mcs 51微控制器系統為例,對微機系統軟體抗干擾方法進行研究。1 軟體抗干擾方法的研究 在工程實踐中,軟體抗干擾研究的內容主要是 一 消除模擬輸入訊號的雜訊 如數字濾波技術 二 程式執行混亂時使程式...