單片機(jī)測控系統(tǒng)中的抗干擾技術(shù)
摘 要:本文針對單片機(jī)測控系統(tǒng)中的干擾因素,并結(jié)合實際應(yīng)用系統(tǒng)給出了采取軟、硬件兩種方法抗干擾的具體措施。
關(guān)鍵詞:單片機(jī)測控系統(tǒng)抗干擾?
概述
干擾是造成單片機(jī)測控系統(tǒng)故障的主要原因之一。干擾對系統(tǒng)的影響輕則影響測量與控制精度,重則使工作系統(tǒng)完全失常。要消除干擾必須抓住形成干擾的三要素,即:干擾源、耦合通道和接收設(shè)備。?
干擾因素
在單片機(jī)測控系統(tǒng)中,主要存在空間輻射干擾、信號通道干擾、電源干擾和數(shù)字電路引起的干擾。
抗干擾就是針對干擾的產(chǎn)生性質(zhì)、傳播途徑、侵入的位置和侵入的形式,采取適當(dāng)?shù)姆椒ㄏ蓴_源,抑制耦合通道,減弱電路對噪聲干擾的敏感性,通常需要采取“綜合治理” 的措施。
1 合理選擇元器件
根據(jù)電器參數(shù)選擇合理器件以滿足系統(tǒng)性能要求。盡量選用集成度高、溫漂小、抗干擾性能好以及功耗小的元器件。
2 電源干擾的抑制
在交流電網(wǎng)進(jìn)線端并接壓敏電阻,吸收浪涌電壓,也可防雷。高頻電感與電路電容組成的低通濾波器,可抑制電網(wǎng)引入的高頻噪聲。可采取模擬電路與數(shù)字電路的電源分開、電源浮空技術(shù)、使用電源隔離變壓器、隔離電源技術(shù)和電源濾波技術(shù)。在設(shè)計濾波器時必須注意讓諧振頻率遠(yuǎn)小于干擾頻率。
3 電場、磁場干擾的抑制
采用由導(dǎo)電性能良好的金屬作屏蔽盒,并接大地,則屏蔽盒內(nèi)電力線不會影響外部,同時外部的電力線也不會穿透屏蔽盒進(jìn)入內(nèi)部,前者可抑制干擾源,后者可阻截干擾的傳輸途徑,起電場隔離的作用。磁路屏蔽是采用高磁材料并以封閉式結(jié)構(gòu)為妥,并接大地。
4 接地技術(shù)
單片機(jī)測控系統(tǒng)中的高頻電路應(yīng)就近多點接地,低頻電路應(yīng)一點接地;交流地和信號地不能共用;將系統(tǒng)的各個部分全部與大地浮置起來,但系統(tǒng)中的各機(jī)殼接地;對于數(shù)字地,印刷板中的地線應(yīng)成網(wǎng)狀,而且其他布線不要形成環(huán)路,特別是環(huán)繞外周的環(huán)路,印刷板中的條線不能長距離平行,不得已時,應(yīng)加隔離電極和跨接線或屏蔽;當(dāng)A/D轉(zhuǎn)換器的模擬信號較弱時,可采用三線采樣雙層屏蔽浮地技術(shù)提高抗共模干擾的能力;系統(tǒng)中的高增益放大電路最好用金屬罩屏蔽起來。將屏蔽體接到放大電路的公共端,將寄生電容短路防止反饋,避免放大器的震蕩;對于功率地,由于地線的電流較大,接地線的線徑應(yīng)較粗,且與小信號地線分開,連直流地;對于小信號前置放大電路本身采用一點接地,不能一個電路多點接地,A/D前置放大電路一般浮空。內(nèi)存放大電路的印刷電路板上一點入地,這類放大器的地線一定要遠(yuǎn)離功率地和噪聲地。
5 通道干擾
a) 隔離技術(shù)
隔離分對模擬信號的隔離和對數(shù)字信號的隔離,對數(shù)字信號的隔離通常采用光電耦合器。因這種方法信號的傳遞是通過光信號實現(xiàn)的沒有直接的電信號連接,因此隔離了干擾的傳遞途徑,但這種方法隔離不斷輻射,感應(yīng)干擾,且光電耦器件隔離傳導(dǎo)干擾的能力只有1kV左右。在具體電路設(shè)計時在A/D后和D/A前加光電耦合器,其電源與微機(jī)的電源必須獨立,地線必須分開,保證微機(jī)與現(xiàn)場僅有光的聯(lián)系,切斷干擾通路也避免形成環(huán)流,對于強(qiáng)干擾或長線傳輸可采用兩次隔離,既可消除干擾,又能解決長線驅(qū)動和阻抗匹配等問題。對于模擬信號的隔離,通常采用隔離放大器,利用隔離放大器內(nèi)的變壓器將信號磁耦合,隔斷通路的線路連接,從而切斷干擾源,也可采用光電耦合器實現(xiàn)模擬信號隔離,即由電壓-頻率轉(zhuǎn)換器VFC把模擬信號轉(zhuǎn)換成數(shù)字信號再通過光電耦合器隔離,而光電耦合器的輸出信號在由頻率-電壓轉(zhuǎn)換器FVC轉(zhuǎn)換成模擬信號。在多點巡回檢測微機(jī)系統(tǒng)中若被測信號變化較慢,其多路模擬開關(guān)可選用由干簧繼電器或濕簧繼電器做成的電容飛渡式多路模擬開關(guān)來切斷被測信號與信號通道的連線,從而起到抗干擾作用。由于負(fù)脈沖傳輸抗干擾能力比正脈沖強(qiáng),所以,一般在長線傳輸時,采用負(fù)脈沖傳輸。而且速度不高時,在始端用驅(qū)動器比用一般的TTL效果要好。用OC門作雙向總線傳輸可以把輸出端連在一起,直接用來單向、雙向總線傳輸。
b) 通道中器件選擇與抗干擾
多路轉(zhuǎn)換器的輸入常常受到各種環(huán)境噪聲的污染,尤其易受到共模噪聲的干擾。在多路轉(zhuǎn)換器輸入端接入共模扼流圈,可抑制外部傳感器引入的高頻共模噪聲。轉(zhuǎn)換器高頻采樣時產(chǎn)生的高頻噪聲,應(yīng)在單片機(jī)與A/D之間采用光電耦合器隔離。在傳感器工作環(huán)境復(fù)雜和惡劣時,應(yīng)選擇測量放大器,使其在微弱信號系統(tǒng)中廣泛用作前置放大器。為了防止共模噪聲竄入系統(tǒng)可以采用隔離放大器。采樣保持器電路(S/H)在采樣與保持兩種狀態(tài)轉(zhuǎn)換時,會竄入干擾,為了減少誤差,印刷電路布線時,使邏輯輸入端的走線與模擬輸入端盡可能距離遠(yuǎn)些,或者將模擬輸入端用地線包圍起來,以降低線間寄生電容耦合和隔斷漏電通路。降低邏輯輸入信號的幅度也可以減少寄生耦合和漏電耦合干擾。配置總線驅(qū)動器可提高總線的負(fù)載能力,改善信號波形。當(dāng)總線的負(fù)載接近負(fù)載總線的驅(qū)動能力時,可能會影響總線信號的邏輯電平,可通過連接某I/O線到數(shù)據(jù)線來改善總線的不平衡程度,提高系統(tǒng)的可靠性。在總線上適當(dāng)安裝上拉電阻也可提高總線信號傳輸?shù)目煽啃浴?
6 布線抗干擾設(shè)計
為防止長線傳輸中的竄擾,采用交差走線是行之有效的辦法。長線傳送時,功率線、載流線和信號線分開,電位線和脈沖線分開。把空余的輸入端與使用端并聯(lián)。把空余的輸入端通過一個電阻接高電平,這種方法適用于慢速、多干擾的場合。把空余的輸入端懸空,用一反相器接地。這種方法適用于要求嚴(yán)格的場合。在數(shù)字電路的每塊組件上,都要分別裝設(shè)高頻去耦電容,而且這些電容應(yīng)充分靠近集成塊,而不應(yīng)集中在印刷板上每一端。每塊印刷板的電源引進(jìn)端也應(yīng)加去耦電容。直流配電線的引出端應(yīng)盡量作成低阻抗傳輸線。由于快速邏輯電路產(chǎn)生高頻干擾,所以這些電路均應(yīng)按高頻電路處理,應(yīng)將邏輯電路的印刷板良好接地。存儲器的布線抗干擾設(shè)計,一般采取的措施有:數(shù)據(jù)線、地址線、控制線要盡量縮短,以減少對地電容。由于開關(guān)噪聲嚴(yán)重,要在電源入口處以及每片存儲芯片的VCC與GND之間接入去耦電容。由于負(fù)載電流大,電源線和地線要加粗,走線盡量短。印制板兩面的三總線互相垂直,以防止總線之間的電磁干擾??偩€的始端和終端要配置合適的上拉電阻,以提高高電平噪聲容限,增加存儲器端口在高阻狀態(tài)下抗干擾能力和削弱反射波干擾。三總線與其他擴(kuò)展板相連接時,通過三態(tài)緩沖門后連接??梢杂行Х乐雇饨珉姶鸥蓴_,改善波形和削弱反射干擾。
7 軟件抗干擾措施
a) 數(shù)字濾波技術(shù)
通常使用的方法有:算術(shù)平均法、中值法、抑制脈沖算術(shù)平均法、一階慣性濾波法、程序判斷濾波法和遞推平均濾波法等。
b) 軟件冗余
對于條件控制系統(tǒng),對控制條件的一次采樣、處理控制輸出改為多采樣、處理控制輸出??捎行У叵既桓蓴_。
c) 設(shè)置軟件陷阱
當(dāng)由于干擾使操作系統(tǒng)失控而進(jìn)入非程序區(qū)時,用引導(dǎo)指令強(qiáng)行將捕獲到的亂飛程序引向復(fù)位入口地址,在此處將程序轉(zhuǎn)向?qū)iT對程序出錯進(jìn)行處理的程序,使程序納入正軌。
d) 重要指令冗余
對程序流向起決定作用的指令(如RET、RETI、LCALL、JZ、JC、JNC等)和某些對系統(tǒng)工作狀態(tài)起重要作用的指令(如SETB、EA等)的后面,可重復(fù)寫上這些指令,以確保這些指令的正確執(zhí)行。
e) “看門狗”技術(shù)
PC受到干擾而失控,引起程序亂飛,也可能使程序進(jìn)入“死循環(huán)”。指令冗余技術(shù)、軟件陷阱技術(shù)不能使失控的程序擺脫“死循環(huán)”的困境,通常采用程序監(jiān)視技術(shù),又稱“看門狗”技術(shù)(Watchdog),“看門狗”技術(shù)就是不斷監(jiān)視程序循環(huán)運行時間,若發(fā)現(xiàn)時間超過已知的循環(huán)設(shè)定時間,則認(rèn)為系統(tǒng)陷入了“死循環(huán)”,然后強(qiáng)迫程序返回到0000H入口,在0000H處安排一段出錯處理程序,使系統(tǒng)運行納入正軌。在設(shè)計看門狗時可設(shè)計兩個定時器,一個為短定時器,一個為長定時器,并各自獨立,短定時器像典型看門狗一樣工作,它保證一般情況下看門狗有快的反映速度,長定時器的定時大于CPU執(zhí)行一個主循環(huán)程序的時間,用來防止看門狗失效。
f) 數(shù)據(jù)的保護(hù)與恢復(fù)技術(shù)
在編寫程序的過程中,對于由指令改變結(jié)果性質(zhì)的數(shù)據(jù),可以考慮在每次改變后都盡可能地保護(hù)起來,以便必要時恢復(fù)。有時計算機(jī)在強(qiáng)制復(fù)位后,I/O端口和特殊寄存器SFR中的內(nèi)容都將變成芯片出廠時的設(shè)定值,這很有可能引起系統(tǒng)的運行混亂。因此單片機(jī)在重新啟動后,應(yīng)當(dāng)首先執(zhí)行數(shù)據(jù)恢復(fù)程序,把控制端口等重要寄存器被保護(hù)的內(nèi)容恢復(fù)還原。
g) NOP的使用
在雙字節(jié)和3字節(jié)指令之后插入兩個單字節(jié)NOP指令,這可保證指令不被拆散。因為“亂飛”的程序即使落到操作數(shù)上,由于兩個空操作指令NOP的存在,不會將其后的指令當(dāng)操作數(shù)執(zhí)行,從而使程序納入正軌。