秦亞叢,李穎超
(中國(guó)礦業(yè)大學(xué),221116)
隨著電子技術(shù)的迅速發(fā)展及電子設(shè)備的廣泛運(yùn)用,必然導(dǎo)致它們?cè)谄渲車(chē)臻g產(chǎn)生的電磁場(chǎng)電平的不斷增加。也就是說(shuō),電子設(shè)備不可避免地在電磁環(huán)境(EME)中工作,而影響應(yīng)用系統(tǒng)可靠、安全運(yùn)行的最主要的因素正是各種電磁干擾。
因此,為了保證設(shè)備能在實(shí)際應(yīng)用中安全穩(wěn)定地工作,必須從系統(tǒng)設(shè)計(jì)開(kāi)始就充分考慮到其對(duì)系統(tǒng)抗干擾性能的要求。本文以實(shí)際應(yīng)用中的單片機(jī)控制系統(tǒng)為例,從硬件和軟件兩個(gè)方面介紹單片機(jī)系統(tǒng)使用抗干擾設(shè)計(jì)的常用方法。
硬件抗干擾技術(shù)是系統(tǒng)設(shè)計(jì)時(shí)首選的抗干擾措施,它能有效抑制干擾源,阻斷干擾傳輸通道。這里主要介紹兩點(diǎn):
元器件的可靠性是設(shè)備或系統(tǒng)可靠性的基礎(chǔ),可靠性指標(biāo)已經(jīng)成為元器件的重要的質(zhì)量指標(biāo)之一。研究電子元器件的可靠性就在于掌握元器件失效的客觀規(guī)律,分析產(chǎn)品的失效原因,以便進(jìn)一步提高元器件的可靠性。因此在選用時(shí)要遵循以下原則:
(1)元器件的技術(shù)條件、技術(shù)性能、質(zhì)量等級(jí)等均應(yīng)滿(mǎn)足裝備的要求;
(2)優(yōu)先選擇經(jīng)實(shí)踐證明質(zhì)量穩(wěn)定、可靠性高、有發(fā)展前途的標(biāo)準(zhǔn)元器件,不允許選用淘汰品種和禁用的元器件;
(3)優(yōu)先選用有良好的技術(shù)服務(wù)、供貨及時(shí)、價(jià)格合理的生產(chǎn)廠家的元器件。對(duì)關(guān)鍵元器件要進(jìn)行用戶(hù)對(duì)生產(chǎn)方面的質(zhì)量認(rèn)定;
(4)綜合分析系統(tǒng)所工作的環(huán)境的溫度、濕度、振動(dòng)、沖擊和電磁環(huán)境等因素,選擇適用的電子元器件。
印制電路板(PCB)是提供電路元件和器件之間的電氣連接的支撐件,如下圖所示。
隨著單片機(jī)系統(tǒng)功能的不斷擴(kuò)大,PCB 的密度越來(lái)越高,而PCB 設(shè)計(jì)的合理與否對(duì)整體抗干擾能力影響很大。因此,在進(jìn)行PCB 設(shè)計(jì)時(shí),必須遵守PCB 設(shè)計(jì)的一般原則,并應(yīng)符合抗干擾設(shè)計(jì)的要求,其中最重要的為以下兩點(diǎn):
(1) 關(guān)鍵器件的放置:與其它邏輯電路一樣,在器件布置方面應(yīng)盡量把相關(guān)的器件放的近些,目的是獲得較好的抗噪聲效果。
(2)要特別注意地線(xiàn)的正確連接,否則干擾影響將很?chē)?yán)重。例如D/A、A/D 芯片以及采樣芯片都提供了數(shù)字地和模擬地,分別有相對(duì)應(yīng)的管腳,連接時(shí)要格外注意。
由于實(shí)際應(yīng)用中干擾信號(hào)產(chǎn)生的原因有很多,并且具有不確定性,因此即使我們采取了一系列硬件抗干擾措施,也很難保證系統(tǒng)完全不受干擾。所以我們往往在硬件抗干擾措施的基礎(chǔ)上,加以軟件抗干擾技術(shù),來(lái)作為硬件抗干擾的補(bǔ)充手段。這里著重介紹以下3 種方法:
采用冗余技術(shù)目的就是使程序納入正確軌道,它能起作用的條件是:PC 必須指向程序運(yùn)行區(qū),并且執(zhí)行到冗余指令。本文著重介紹其中NOP 指令的使用。
如果在雙字節(jié)指令和3 字節(jié)指令之后插入兩個(gè)單字節(jié)NOP指令,則該指令就不會(huì)被前面的失控程序所影響,而會(huì)得到正確的運(yùn)行。通常我們?cè)谝恍?duì)程序流向控制起著重要作用的指令前(例 如ACALL、LCALL、SJMP、LJMP、JB、JBC、JZ、JNZ、JC、JNC、DJNZ、CJNCRET、RETI 等),以及在某些對(duì)系統(tǒng)至關(guān)重要的指令前(例如:SETB、EA 等),插入兩條NOP 指令,以確保程序的運(yùn)行。同時(shí),在一個(gè)程序中“指令冗余”不能過(guò)多,否則會(huì)降低程序的快速性。
當(dāng)程序失控引致到非程序區(qū)時(shí),軟件冗余就起不上作用了,此時(shí)我們可在非程序區(qū)攔截,使程序進(jìn)入設(shè)置好的陷阱中,同時(shí)設(shè)計(jì)一段用于程序失控處理的程序強(qiáng)制其執(zhí)行,這種方法就叫做軟件陷阱技術(shù)。軟件陷阱可以采用3 種形式:
形式一為:LJMP 0000H
形式二為:LJMP 0202H
形式三為:LJMP ERR
使程序納入正軌,指定運(yùn)行到預(yù)定位置。
在工業(yè)環(huán)境中,單片機(jī)會(huì)因?yàn)楦蓴_的存在引起PC 錯(cuò)誤,導(dǎo)致程序的失控,或陷入死循環(huán),此時(shí),指令冗余技術(shù)、軟件陷阱技術(shù)都無(wú)能為力了,這是可以采用程序監(jiān)視定時(shí)器(WATCHDAG,WDT),俗稱(chēng)“看門(mén)狗”措施。WDT 通過(guò)不斷監(jiān)視程序每周期的運(yùn)行事件是否超過(guò)正常狀態(tài)下所需的時(shí)間,從而判斷程序是否進(jìn)入了“死循環(huán)”,并對(duì)系統(tǒng)進(jìn)行復(fù)位。
下圖為內(nèi)部WDT 電路
下圖是外部看門(mén)狗電路
抗干擾設(shè)計(jì)是單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)中不可或缺的重要內(nèi)容,也就是說(shuō)抗干擾性能的好壞是評(píng)價(jià)單片機(jī)控制系統(tǒng)性能優(yōu)劣的重要指標(biāo)。在設(shè)計(jì)時(shí)我們應(yīng)結(jié)合具體情況,正確認(rèn)識(shí)到干擾環(huán)境的多樣性和變化性,綜合運(yùn)用幾種抗干擾方法,互相補(bǔ)充完善,針對(duì)性地采用技術(shù)措施,以確保應(yīng)用系統(tǒng)能正常運(yùn)行。
[1] 何立民.單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì).北京:北京航空航天大學(xué)出版社,1990
[2] 王幸之等.單片機(jī)應(yīng)用系統(tǒng)抗干擾技術(shù).北京:北京航天航空大學(xué)出版社,2000
[3] 夏泓,鄭鵬洲.電子元器件失效分析及應(yīng)用.北京:國(guó)防工業(yè)出版社,1998
[4] 何楚,王思賢,廖孟揚(yáng).MC14489 與MCS-51 的接口通信與抗干擾.《電子技術(shù)》1997 年第11 期
[5] 何立民.單片機(jī)應(yīng)用技術(shù)選編(1-8).北京:北京航空航天大學(xué)出版社
[6] Mark I.Montrose:Printed Circuit Board Design Technique for EMC Compliance,IEEEPRESS Editorial Board,1996