技術(shù)頻道

娓娓工業(yè)
您現(xiàn)在的位置: 中國(guó)傳動(dòng)網(wǎng) > 技術(shù)頻道 > 應(yīng)用方案 > 單片機(jī)應(yīng)用系統(tǒng)的抗干擾解決方案

單片機(jī)應(yīng)用系統(tǒng)的抗干擾解決方案

時(shí)間:2008-07-21 10:13:00來(lái)源:ronggang

導(dǎo)語(yǔ):?本文介紹了幾種實(shí)用的抗干擾措施,在硬件抗干擾方面闡述了供電系統(tǒng)的設(shè)計(jì)、電路板的合理布局以及輸入輸入干擾的抑制,軟件方面給出了軟冗余技術(shù)、軟件陷阱技術(shù)以及“看門狗”技術(shù)的幾個(gè)實(shí)例
摘 要:針對(duì)單片機(jī)應(yīng)用系統(tǒng)實(shí)時(shí)性強(qiáng),干擾因素較多的特點(diǎn),本文介紹了幾種實(shí)用的抗干擾措施,在硬件抗干擾方面闡述了供電系統(tǒng)的設(shè)計(jì)、電路板的合理布局以及輸入輸入干擾的抑制,軟件方面給出了軟冗余技術(shù)、軟件陷阱技術(shù)以及“看門狗”技術(shù)的幾個(gè)實(shí)例。 關(guān)鍵詞:抗干擾 單片機(jī) 硬件 軟件 1. 引言   單片機(jī)應(yīng)用系統(tǒng)的抗干擾設(shè)計(jì)是系統(tǒng)設(shè)計(jì)的重要內(nèi)容之一,抗干擾性能的好壞將決定系統(tǒng)能否在復(fù)雜的電磁環(huán)境下穩(wěn)定可靠地工作,從而決定了系統(tǒng)的實(shí)際使用價(jià)值。特別是在各種實(shí)時(shí)控制的遠(yuǎn)距離系統(tǒng)中,由于現(xiàn)場(chǎng)環(huán)境惡劣,干擾因素較多,系統(tǒng)不可避免地要受到其他電磁設(shè)備的干擾,若僅按常規(guī)設(shè)計(jì)就很難保證系統(tǒng)的正常運(yùn)行。因此,抗干擾問(wèn)題是設(shè)計(jì)者必須充分考慮和解決的,下面從硬件和軟件兩個(gè)方面談?wù)効垢蓴_設(shè)計(jì)。 2. 硬件抗干擾設(shè)計(jì)   2.1 供電系統(tǒng)   為了防止從電源系統(tǒng)引入干擾,首先采用交流穩(wěn)壓器保證供電系統(tǒng)的穩(wěn)定性,防止電源的過(guò)壓和欠壓。其次,電源濾波和退耦是抑制電源干擾的主要方式,可將電源變壓器的初級(jí)隔離起來(lái),使混入初級(jí)的噪聲干擾不致進(jìn)入次級(jí);使用隔離變壓器濾掉高頻噪聲,低通濾波器濾掉工頻干擾。   當(dāng)系統(tǒng)中使用繼電器、磁帶等電感設(shè)備時(shí),數(shù)據(jù)采集的供電電路應(yīng)與繼電器的供電電路分開,以避免在供電線路之間的干擾,即如圖1所示。   對(duì)單片機(jī)系統(tǒng)的主機(jī)部分使用單獨(dú)的穩(wěn)壓電路,必要時(shí)輸入、輸出供電分別采用DC-DC模塊,避免各個(gè)部分之間的干擾。 [align=center] 圖1 分別供電的系統(tǒng)示意圖[/align]   2.2 印制電路板  ?、? 注意合理布置印制電路板上的器件,遵循器件之間電氣干擾小和易于散熱的原則。  ?、? 電路板要合理劃分,模擬電路區(qū)、數(shù)字電路區(qū)、功率驅(qū)動(dòng)區(qū)等要盡量分開,地線不能相混,要分別和電源端的地線相連。  ?、? 布線時(shí)盡量不要構(gòu)成環(huán)路,特別避免沿印制電路板周圍做成環(huán)路,不要出現(xiàn)長(zhǎng)段的窄線并行,旁路電容的引線不能很長(zhǎng);單元電路的輸出和輸入應(yīng)當(dāng)用地線隔開;電源線和地線的走向盡量和數(shù)據(jù)傳輸?shù)姆较蛞恢?,并加寬寬度提高電路板的抗干擾能力。  ?、? 原則上每個(gè)IC都要加去耦電容,并靠近IC的電源腳和接地腳。   2.3 輸入輸出干擾的抑制   輸入輸出信號(hào)加上光電耦合器隔離,可以將主機(jī)部分和前向、后向通道及其他部分切斷電路的聯(lián)系,有效地防止干擾進(jìn)入主機(jī)系統(tǒng)。   在單片機(jī)實(shí)時(shí)系統(tǒng)信號(hào)的長(zhǎng)線傳輸過(guò)程中,要注意使用雙絞線,提高系統(tǒng)的抗噪聲能力。同時(shí)對(duì)傳輸線要進(jìn)行阻抗匹配,可以在傳輸線的始端串聯(lián)電阻、末端并聯(lián)電阻,以實(shí)現(xiàn)匹配,提高系統(tǒng)的抗干擾能力。 3. 軟件抗干擾設(shè)計(jì)   為了提高測(cè)控系統(tǒng)的可靠性,僅靠硬件抗干擾措施是不夠的,還需采用適當(dāng)?shù)能浖垢蓴_技術(shù),軟件抗干擾技術(shù)是當(dāng)輸入信號(hào)受干擾后去偽求真或系統(tǒng)受干擾后使系統(tǒng)恢復(fù)正常運(yùn)行的一種輔助方法。對(duì)抑制輸入信號(hào)的干擾主要采用數(shù)字濾波技術(shù),通過(guò)軟件去除噪聲對(duì)數(shù)據(jù)采集結(jié)果的影響。系統(tǒng)受干擾后會(huì)使得程序失控,失控原因大都可以歸結(jié)為程序計(jì)數(shù)器PC的內(nèi)容發(fā)生變化,引起程序“跑飛”或陷入死循環(huán),CPU執(zhí)行了一系列錯(cuò)誤的指令從而導(dǎo)致系統(tǒng)失控,,可以采用軟件冗余、軟件陷阱和“看門狗”技術(shù)等使程序納入正規(guī)。   3.1 軟件冗余技術(shù)   MCS-51所有指令都不超過(guò)三個(gè)字節(jié),且多為單字節(jié)指令,指令由操作碼和操作數(shù)組成,操作碼指明CPU完成什么樣的操作,單字節(jié)指令僅有操作碼,隱含操作數(shù)。CPU受到干擾后,PC內(nèi)容發(fā)生變化,當(dāng)程序彈飛到某一單字節(jié)指令時(shí),便自動(dòng)納入正規(guī)。當(dāng)“跑飛”到某一雙字節(jié)或三字節(jié)指令時(shí),若恰恰在取指令時(shí)刻落到其操作數(shù)上,CPU就將操作數(shù)當(dāng)作操作碼來(lái)執(zhí)行,引起程序混亂。因此軟件設(shè)計(jì)應(yīng)多采用單字節(jié)指令,并在關(guān)鍵的地方人為的插入一些單字節(jié)指令NOP,或?qū)⒂行У膯巫止?jié)指令重寫,這稱作指令冗余。在實(shí)際軟件設(shè)計(jì)中,往往在雙字節(jié)和三字節(jié)指令之后插入兩個(gè)NOP指令,可以保證程序“跑飛”后其后面的指令不會(huì)拆散,后面的程序可以正常運(yùn)行。在那些對(duì)程序流向起決定作用的指令,如RET、RETI、ACALL、LJMP、JZ、JNC等之前也插入2條NOP指令,可保證跑飛的程序迅速進(jìn)入正確的控制軌道。   3.2 軟件陷阱技術(shù)   軟件冗余技術(shù)適用于干擾后PC指向不正確的程序區(qū),當(dāng)跑飛程序進(jìn)入非程序區(qū)(如EPROM未使用的空間)或表格區(qū)時(shí),使用冗余指令的措施已不再適用,可采用軟件陷阱的辦法攔截跑飛程序,將其迅速引向一個(gè)指定的位置,執(zhí)行一段對(duì)程序運(yùn)行出錯(cuò)的處理程序。軟件陷阱可采用以下形式:   NOP   NOP   LJMP ERROR ;ERROR為指定地址,安排有出錯(cuò)處理程序   軟件陷阱可安排在下面幾個(gè)區(qū)域。   ①未使用的中斷向量區(qū)。   當(dāng)干擾使未使用的中斷開放,并激活這些中斷時(shí),就會(huì)引起系統(tǒng)程序的混亂,如果在這些地方設(shè)置陷阱,就能及時(shí)捕捉到錯(cuò)誤中斷。  ?、谖词褂玫腅PROM區(qū)。   假設(shè)使用了一片2764,但程序并沒(méi)有用完這個(gè)2764區(qū)域,這些非程序區(qū)可以用0000020000數(shù)據(jù)填滿,020000是指令LJMP 0000H的機(jī)器碼,當(dāng)跑飛程序進(jìn)入此區(qū)后,便會(huì)迅速自動(dòng)進(jìn)入正確軌道。  ?、蹟?shù)據(jù)表格區(qū)。   由于表格中內(nèi)容和檢索值有一一對(duì)應(yīng)關(guān)系,在表格中安排陷阱將會(huì)破壞其連續(xù)性和對(duì)應(yīng)關(guān)系,應(yīng)在表格區(qū)的尾部設(shè)置軟件陷阱。   ④程序區(qū)。   前面已介紹,跑飛的程序在用戶程序內(nèi)部跳轉(zhuǎn)時(shí)可用指令冗余技術(shù)加以解決,也可以設(shè)置軟件陷阱,更有效地抑制程序跑飛。程序設(shè)計(jì)常采用模塊化設(shè)計(jì),模塊化的程序是由一序列執(zhí)行指令構(gòu)成的,一般不能在這些指令串中間任意安排陷阱,否則正常執(zhí)行的程序也可能被抓走,可以將陷阱指令分散放置在各模塊之間的空余單元中。正常程序中不執(zhí)行這些陷阱指令,但當(dāng)程序跑飛一旦進(jìn)入陷阱區(qū),馬上將程序拉回正確軌道。陷阱的多少視用戶程序的大小而定,一般每1K字節(jié)有幾個(gè)陷阱就夠了。  ?、莘荅PROM芯片空間   MCS-51有64K程序系統(tǒng)空間,一般除了EPROM芯片占用的地址外,還剩余大片未編程的EPROM空間。當(dāng)PC跑飛進(jìn)入這些空間時(shí),讀入數(shù)據(jù)為0FFH,對(duì)51系列而言,相當(dāng)于指令MOV R7,A,將修改R7的內(nèi)容。   當(dāng)CPU讀程序存儲(chǔ)器時(shí),會(huì)產(chǎn)生一個(gè)PSEN的低電平信號(hào),可利用該信號(hào)和EPROM的地址譯碼信號(hào)產(chǎn)生選通信號(hào),引起一個(gè)空閑的中斷,在中斷服務(wù)程序中設(shè)置軟件陷阱,將跑飛程序拉入正規(guī)。圖2是一個(gè)實(shí)例。 [align=center] 圖2 非EPROM區(qū)程序陷阱實(shí)例[/align]   3.3 “看門狗”技術(shù)   PC受到干擾引起程序失控,有可能使程序進(jìn)入“死循環(huán)”,指令冗余和陷阱技術(shù)都不能解決這個(gè)問(wèn)題,通常采用“看門狗”技術(shù)(Watchdog)。該技術(shù)就是不斷監(jiān)視程序循環(huán)運(yùn)行的時(shí)間,若發(fā)現(xiàn)時(shí)間超過(guò)已知的循環(huán)設(shè)定時(shí)間,即認(rèn)為進(jìn)入死循環(huán),然后強(qiáng)迫程序返回到0000H入口地址,在0000H安排出錯(cuò)處理程序,使系統(tǒng)納入正規(guī)?!翱撮T狗”技術(shù)既可由硬件實(shí)現(xiàn),也可以由軟件來(lái)實(shí)現(xiàn),二者還可以結(jié)合使用。   在實(shí)際應(yīng)用中,有各種專用芯片例如MAX813\815等能夠完成“看門狗”功能,這些芯片集成了電壓監(jiān)控電路、備用電池和切換電路以及Watchdog電路,功能齊全,應(yīng)用非常廣泛。在實(shí)時(shí)測(cè)控系統(tǒng)中,為了根據(jù)系統(tǒng)的需要來(lái)設(shè)定定時(shí)時(shí)間,也可采用圖3所示8254構(gòu)成的“看門狗”電路,該電路使用8254的一個(gè)計(jì)數(shù)器,工作在方式1,定時(shí)時(shí)間可以由程序設(shè)定。 [align=center] 圖3 8254構(gòu)成的“看門狗”電路[/align]   由圖3可以看出,無(wú)論8254輸出端OUT有正的上升沿還是系統(tǒng)上電復(fù)位的上升沿都將使系統(tǒng)復(fù)位,但兩者的含義是不同的。方式1的特點(diǎn)是OUT端輸出負(fù)脈沖的寬度為寫入8254的計(jì)數(shù)初值,在8254計(jì)數(shù)期間,若GATE端有重觸發(fā)信號(hào),則重新裝入計(jì)數(shù)初值計(jì)數(shù),亦即輸出保持為低電平。因此可設(shè)定8254的計(jì)數(shù)初值,使其輸出負(fù)脈沖的寬度稍大于程序正常運(yùn)行的時(shí)間,然后在程序運(yùn)行的適當(dāng)位置上設(shè)置指令,使P1.0口向8254發(fā)來(lái)觸發(fā)脈沖,這樣當(dāng)程序正常運(yùn)行時(shí),OUT端一直輸出低電平,若程序“跑飛”后P1.0口不能正常送來(lái)觸發(fā)信號(hào),則計(jì)時(shí)時(shí)間到后,OUT端變?yōu)楦唠娖?,形成?fù)位脈沖,使系統(tǒng)復(fù)位。由D觸發(fā)器7474構(gòu)成的電路是用來(lái)區(qū)別是上電復(fù)位還是失控后的自動(dòng)恢復(fù)復(fù)位的。 4. 結(jié)論   單片機(jī)實(shí)際應(yīng)用系統(tǒng)抗干擾的根本在于硬件結(jié)構(gòu),軟件抗干擾起到的是補(bǔ)充作用,在系統(tǒng)設(shè)計(jì)時(shí)只有二者兼顧,相互結(jié)合、互補(bǔ)才能達(dá)到較好的抗干擾效果。 參考文獻(xiàn)   [1] 孫傳友. 測(cè)控系統(tǒng)原理與設(shè)計(jì)[J]. 北京:北京航空航天大學(xué)出版社, 2004.4   [2] 艾玲梅. 單片機(jī)測(cè)控系統(tǒng)抗抗干擾技術(shù)[J]. 陜西工學(xué)院學(xué)報(bào),2003.6

標(biāo)簽:

點(diǎn)贊

分享到:

上一篇:嵌入式文件系統(tǒng)在觸摸屏中的應(yīng)用

下一篇:微能WIN-V63矢量控制變頻器在...

中國(guó)傳動(dòng)網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來(lái)源:中國(guó)傳動(dòng)網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國(guó)傳動(dòng)網(wǎng)(www.treenowplaneincome.com)獨(dú)家所有。如需轉(zhuǎn)載請(qǐng)與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個(gè)人轉(zhuǎn)載使用時(shí)須注明來(lái)源“中國(guó)傳動(dòng)網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明其他來(lái)源的稿件,均來(lái)自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請(qǐng)保留稿件來(lái)源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。

網(wǎng)站簡(jiǎn)介|會(huì)員服務(wù)|聯(lián)系方式|幫助信息|版權(quán)信息|網(wǎng)站地圖|友情鏈接|法律支持|意見(jiàn)反饋|sitemap

中國(guó)傳動(dòng)網(wǎng)-工業(yè)自動(dòng)化與智能制造的全媒體“互聯(lián)網(wǎng)+”創(chuàng)新服務(wù)平臺(tái)

網(wǎng)站客服服務(wù)咨詢采購(gòu)咨詢媒體合作

Chuandong.com Copyright ?2005 - 2024 ,All Rights Reserved 版權(quán)所有 粵ICP備 14004826號(hào) | 營(yíng)業(yè)執(zhí)照證書 | 不良信息舉報(bào)中心 | 粵公網(wǎng)安備 44030402000946號(hào)