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