單片機(jī)在嵌入式系統(tǒng)應(yīng)用中的抗干擾措施
單片機(jī)在嵌入式系統(tǒng)應(yīng)用中,抗干擾性能是系統(tǒng)可靠性的重要指標(biāo),抗干擾設(shè)計(jì)是單片機(jī)系統(tǒng)研制中不可忽視的一個(gè)重要內(nèi)容。本文根據(jù)筆者在實(shí)際工作中的體會(huì),就單片機(jī)在嵌入式系統(tǒng)應(yīng)用中的抗干擾問題進(jìn)行探討,并給出了排錯(cuò)設(shè)計(jì)、容錯(cuò)設(shè)計(jì)的一些方法和措施。
本文引用地址:http://www.ex-cimer.com/article/172731.htm隨著科學(xué)技術(shù)的迅速發(fā)展,單片機(jī)在各個(gè)領(lǐng)域中的應(yīng)用越來越廣泛。在眾多的應(yīng)用系統(tǒng)中共同面臨的一個(gè)問題,就是它在應(yīng)用系統(tǒng)中的可靠性,這就要求我們在設(shè)計(jì)時(shí)應(yīng)根據(jù)現(xiàn)場具體情況,在硬件設(shè)計(jì)、線路板設(shè)計(jì)、軟件設(shè)計(jì)等方面來采取相應(yīng)的抗干擾措施。
一、抗電源干擾的措施
大部分單片機(jī)嵌入式系統(tǒng)都采用市電電源供電,在應(yīng)用系統(tǒng)中一個(gè)很重要的干擾就來自電源。市電的各種干擾,如雷電、大容量感性負(fù)載的起停等,都會(huì)造成電源瞬間欠壓、過載,產(chǎn)生浪涌、下陷、尖峰等干擾,但我們可采取如下有效抗干擾措施。
1.用壓敏電阻抑制尖峰、浪涌
壓敏電阻兩端的電壓如超過其限定值時(shí),電流會(huì)迅速增大,呈短路狀態(tài),利用這一特點(diǎn),可以用它吸收瞬間的尖峰、浪涌電壓。壓敏電阻并聯(lián)在電源變壓器的初、次級(jí),加入壓敏電阻后,電源干擾造成單片機(jī)程序失控的可能性減小。壓敏電壓的計(jì)算公式為:VIMA=1.56×32×V~(V~:交流電壓有效值)
2.濾波器抑制高頻干擾
市電中含有多種高次諧波,它們很容易經(jīng)電源進(jìn)入單片機(jī)系統(tǒng),另外一些射頻發(fā)射、電磁波等也會(huì)由電源線感應(yīng)反饋入單片機(jī)系統(tǒng)造成干擾,因此在電源電路中加入低通濾波電路讓50 Hz市電基波通過,抑制掉高頻信號(hào)。此外在電源變壓器的初次級(jí)之間均用屏蔽層隔離,減少其分布電容,提高抗共模干擾的能力。
圖1中列出了幾種不同形式的濾波電路。
二、印刷電路板的抗干擾設(shè)計(jì)
印刷電路板是單片機(jī)應(yīng)用系統(tǒng)中器件、信號(hào)、電源線的高密度集合體,印刷電路板設(shè)計(jì)的好壞對抗干擾能力的影響很大。
1.電源線、地線的設(shè)計(jì)
在單片機(jī)應(yīng)用系統(tǒng),接地是抑制干擾的重要方法。線路板上既有邏輯電路,又有模擬電路,兩者的地線要分別與電源端地線相連。低頻電路的地線盡量采用單點(diǎn)并聯(lián)接地,高頻電路宜采用多點(diǎn)串聯(lián)接地。接地線如果很細(xì),接地電位則隨電流的變化而變化,使系統(tǒng)抗噪聲性能變壞,因此應(yīng)加粗接地線條,使它能通過3倍于印刷電路板上的允許電流。
電源線與地線應(yīng)盡量靠近走線以減少所包圍的環(huán)路面積,從而減少外界磁場對環(huán)路切割而產(chǎn)生的電場干擾,同時(shí)也減少環(huán)路對外電磁輻射。電源線、地線的走向與數(shù)據(jù)傳遞方向一致也有助于增強(qiáng)抗噪聲能力。
2.一些特殊措施
在印刷電路板的各個(gè)關(guān)鍵部位配置去耦電容應(yīng)視為印刷電路板設(shè)計(jì)的一項(xiàng)常規(guī)做法。原則上每個(gè)集成電路芯片都應(yīng)安置一個(gè)0.01μF的瓷片電容排除射頻耦合干擾,電容引線不能太長,應(yīng)緊靠芯片的電源線、地線。如印刷電路空隙小裝不下時(shí),可每4~10個(gè)芯片安置一個(gè)1~10μF的限噪聲用的電容鉭電容。線路板布局時(shí),應(yīng)使單片機(jī)的振蕩晶體盡量放在單片機(jī)兩引腳近端。
三、程序運(yùn)行失常的對策
前面所介紹的抗干擾措施僅是盡量減少干擾,提高系統(tǒng)運(yùn)行的可靠性,但在惡劣的工作環(huán)境下程序長期運(yùn)行仍可能失控:PC值指向操作數(shù),將操作數(shù)作為指令碼執(zhí)行;PC值超出應(yīng)用程序區(qū),將非程序區(qū)中的隨機(jī)數(shù)作為指令碼運(yùn)行。不管何種情況,都會(huì)造成程序的非正常運(yùn)行或死機(jī)??撮T狗就是在程序跑飛或死機(jī)時(shí),對系統(tǒng)進(jìn)行重新置位或復(fù)位,使系統(tǒng)恢復(fù)正常運(yùn)行的一種專用電路。常用的看門狗有2種:軟件狗和硬件狗。
1.硬件看門狗
所謂硬件狗,就是一個(gè)能發(fā)出“復(fù)位”信號(hào)的計(jì)數(shù)器或定時(shí)器電路。圖2是一個(gè)硬件看門狗電路。其工作原理是:P1.0作為看門狗的“喂狗”信號(hào)定時(shí)給出一脈沖,設(shè)其脈沖間隔為△t<tw<2△t,當(dāng)程序正常運(yùn)行時(shí),每隔△t輸出一脈沖觸發(fā)CC4098單穩(wěn)電路,使始終為低電平,若程序一旦出現(xiàn)異常,不能在tw時(shí)間內(nèi)送出一“喂狗”脈沖,產(chǎn)生一正脈沖,使單片機(jī)系統(tǒng)復(fù)位,使其能重新正常運(yùn)行。
評(píng)論