綜述單片機應(yīng)用系統(tǒng)的抗干擾設(shè)計
1 概述
在進行單片機應(yīng)用產(chǎn)品的開發(fā)過程中,我們經(jīng)常會碰到一個很棘手的問題,即在實驗室環(huán)境下系統(tǒng)運行很正常,但小批量生產(chǎn)并安裝在工作現(xiàn)場后,卻出現(xiàn)一些不太規(guī)律、不太正常的現(xiàn)象。究其原因主要是系統(tǒng)的抗干擾設(shè)計不全面,導(dǎo)致應(yīng)用系統(tǒng)的工作不可靠。本文主要分析單片機應(yīng)用系統(tǒng)出錯的起因,并結(jié)合自己的工作經(jīng)驗,探討一些解決的辦法。
2 單片機應(yīng)用系統(tǒng)出錯的主要現(xiàn)象和原因
2.1 單片機應(yīng)用系統(tǒng)出錯的主要現(xiàn)象和內(nèi)因
大量的電源和磁場干擾,會造成以下各種系統(tǒng)內(nèi)部出錯。表1列出了單片機應(yīng)用系統(tǒng)出 錯的主要現(xiàn)象和內(nèi)部原因。
2.2 單片機應(yīng)用系統(tǒng)出錯的外部原因
從設(shè)計和制造的角度來看,造成應(yīng)用系統(tǒng)容易受干擾的主要原因是:
(1)系統(tǒng)電源的抗干擾能力差或功率不足;
(2)程序沒有采取抗干擾措施或措施不力;
(3)器件間驅(qū)動功率不足,處在較臨界狀態(tài);
(4)遠距離數(shù)據(jù)傳輸?shù)碾娫?、電壓偏低?br />
(5)沒有采取屏蔽保護;
(6)元件質(zhì)量低。
針對以上出現(xiàn)的問題,我們分別從硬件和軟件兩個方面來探討一些提高單片機應(yīng)用系統(tǒng) 抗干擾能力的方法。
3 單片機應(yīng)用系統(tǒng)的硬件抗干擾設(shè)計
3.1 選擇時鐘頻率低的單片機
外時鐘是高頻的噪聲源,除能引起對本應(yīng)用系統(tǒng)的干擾之外,還可能產(chǎn)生對外界的干擾,使電磁兼容檢測不能達標(biāo)。在對系統(tǒng)可靠性要求很高的應(yīng)用系統(tǒng)中,選用頻率低的單片機是降低系統(tǒng)噪聲的原則之一。以8051單片機為例,最短指令周期1μs時,外時鐘是12MHz。而同樣速度的Motorola單片機系統(tǒng)時鐘只需4MHz,更適合用于工控系統(tǒng)。
3.2 電源
(1)若系統(tǒng)空間允許的話,可使用現(xiàn)成的微電腦開關(guān)電源,它有4組輸出,分別為+5V(18 A~25A)、-5V(0.5A)、+12V(6A~10A)、-12V(0.5A)。如果一個功率不夠,可用多個分塊供電,主機最好單獨使用一個。電源的功率充足,就能減少電源本身所產(chǎn)生的紋波及諧波干 擾。這是解決電源干擾和電源功率不足的最好方法;
(2)采用開關(guān)電源設(shè)計;
(3)主機部分采用單獨的穩(wěn)壓電路,一片7805穩(wěn)壓塊,加上較好的濾波電路;外圍電路 采用另外的電源供電。
3.3 提高輸出信號的電源或電壓
如果輸入、輸出連接線路超過80cm,最好提高傳送的電壓或電流,以減少信號的衰減和 受干擾而造成的信號失真。簡單的方法可在傳送端加一個1488,將電平提高到12V;接收端加一個1489,將電平回復(fù)到5V。
3.4 輸入、輸出隔離
輸入、輸出信號可加光電耦合器隔離,防止 外圍器件動作時產(chǎn)生的回流沖擊系統(tǒng)電路。
3.5 注意器件的驅(qū)動能力
一般1個TTL可推動8個TTL或10多個CMOS,而一個CMOS可推動1~2個TTL或20多個CMOS。如果輸出負載過重,會降低輸出電平,使電平處于或低于被驅(qū)動器件的輸入門檻電平(TTL:高為2.4V,低為0.4V;CMOS;高為4.5V,低為1.4V),從而造成系統(tǒng)不穩(wěn)定。
3.6 采取屏蔽保護
屏蔽可用來隔離空間輻射。對噪聲特別大的部件(如開關(guān)電源),用金屬盒罩起來,可減 少噪聲源對單片機的干擾。對容易受干擾的部分,可加設(shè)屏蔽金屬罩并接地,使干擾磁信號 被短路接地。
3.7 注意印制電路板的布線與工藝
印制電路板的設(shè)計對單片機系統(tǒng)能否抗干擾非常重要。要本著盡量控制噪聲源,盡量減 小噪聲的傳播與耦合,盡量減小噪聲的吸收這三大原則設(shè)計印制電路板和布線。
(1)印制電路板要合理分區(qū)。單片機應(yīng)用系統(tǒng)通??煞秩齾^(qū),即模擬電路區(qū)(怕干擾)、 數(shù)字電路區(qū)(既怕干擾、又產(chǎn)生干擾)、功率驅(qū)動區(qū)(干擾源)。
(2)印制電路板要按單點接電源、單點接地的原則送電。三個區(qū)域的電源線、地線由該 點分三路引出。噪聲元件與非噪聲元件要離得遠一些。
(3)時鐘振蕩電路、特殊高速邏輯電路部分用地線圈起來,讓周圍電場趨近于零。
(4)使用滿足系統(tǒng)要求的最低頻率的時鐘,時鐘產(chǎn)生器要盡量靠近用到該時鐘的器件。 石英晶體振蕩器外殼要接地,時鐘線盡量短,且在石英晶體振蕩器下面要加大接地的面積而 不應(yīng)該走其它信號線。
(5)I/O驅(qū)動器件、功率放大器件盡量靠近印制板的邊、靠近引出接插件。
(6)在單面板、雙面板設(shè)計中,地線、電源線要盡量粗。信號線的過孔要盡量少。
(7)四層板比雙面板噪聲低20dB,六層板比四層板噪聲低10dB。經(jīng)濟條件允許時盡量用 多層板。
(8)使用45°的折線布線,不要使用90°折線,以減小高頻信號的發(fā)射。
(9)重要的信號線盡量短并要盡量粗,并在兩側(cè)加上保護地。將信號通過扁平電纜引出 時,要使用地線-信號-地線……的結(jié)構(gòu)。
(10)時鐘線垂直于I/O線比平行于I/O線干擾小,時鐘線要遠離I/O線。
(11)對A/D類器件,數(shù)字部分與模擬部分寧可繞一下也不要交叉。噪聲敏感線不要與高 速線、大電流線平行。
(12)每個IC元件要加一個去耦電容,布線時去耦電容要真正接在芯片的電源、地上。要 選高頻特性好的獨石電容或瓷片電容作去耦電容。去耦電容焊在印制電路板上時,引腳要盡 量短。
(13)從高噪聲區(qū)來的信號要加濾波。繼電器線圈處要加放電二極管??梢杂么粋€電阻 的辦法來軟化I/O線的跳變沿或提供一定的阻尼。
(14)閑置不用的門電路輸入端不要懸空。閑置不用的運算放大器正輸入端接地,負輸入 端接輸出。單片機不用的I/O口定義成輸出。單片機上有一個以上電源、地端的,每端都要 接上,不要懸空。
(15)盡量不要使用IC插座,把IC直接焊在印制板上,IC插座有較大的分布電容。
3.8 選擇良好的元件
現(xiàn)在市場上出售的元件,很多是可用但性能不佳,甚至有些是器件廠經(jīng)測試認為不合格 的產(chǎn)品。這些元件極易受干擾,只能在很好的環(huán)境(指電源穩(wěn)定、沒有磁干擾)下工作。因此 在選購元件時,特別是單片機、晶振、RAM等,最好選購一級品。
4 單片機應(yīng)用系統(tǒng)的軟件抗干擾設(shè)計
單片機應(yīng)用系統(tǒng)的抗干擾不可能完全依靠硬件解決,軟件抗干擾設(shè)計也是防止和消除整 個應(yīng)用系統(tǒng)故障的重要途徑。
4.1 控制狀態(tài)失常的軟件對策
(1)軟件冗余。對于條件控制系統(tǒng),對控制條件的一次采樣、處理控制輸出改為循環(huán)地 采樣、處理控制輸出。這種方法對于慣性較大的控制系統(tǒng)具有良好的抗干擾作用。
(2)設(shè)置當(dāng)前輸出狀態(tài)寄存單元,當(dāng)干擾侵入輸出通道造成輸出狀態(tài)破壞時,系統(tǒng)能及 時查詢寄存單元的輸出狀態(tài)信息,及時糾正輸出狀態(tài)。
(3)設(shè)自檢程序。在單片機內(nèi)的特定部位或某些內(nèi)存單元設(shè)狀態(tài)標(biāo)志,在開機后,運行 中不斷循環(huán)測試,以保證系統(tǒng)中信息存儲、運輸、運算的高可靠性。
4.2 程序運行失常的軟件對策
(1)設(shè)置程序監(jiān)視跟蹤定時器。目前,大多數(shù)單片機片內(nèi)都集成有程序監(jiān)視跟蹤定時器 。監(jiān)視跟蹤定時器主要用來跟蹤程序的運行。當(dāng)程序運行出現(xiàn)故障時,計數(shù)器溢出,系統(tǒng)復(fù) 位,重新運行系統(tǒng)程序。利用它可有效地實現(xiàn)程序防飛功能。
(2)設(shè)置程序指針陷阱。在每個子程序后面或程序段后,插入5條指令NOP、NOP、NOP、N OP、LJMP MAIN(其中MAIN是初始化程序開始地址),在片的空白處(特別是后面的空白處), 每32個字節(jié)放指令LJMP MAIN。設(shè)置了指針陷阱后,一旦單片機受干擾,使程序指針混亂, 執(zhí)行了一段程序后,就會落入陷阱中,執(zhí)行LJMP MAIN指令,回復(fù)到初始化程序開始處,從 而避免死機。
4.3 數(shù)據(jù)采集誤差的軟件對策
用軟件濾波算法,可濾掉大部分由輸入信號干擾而引起的輸出控制錯誤。最常用的方法 有算術(shù)平均值法、比較舍取法、中值法、一階遞推數(shù)字濾波法。具體選取何種方法,必須根 據(jù)信號的變化規(guī)律選擇。
5 結(jié)束語
筆者從硬件、軟件兩個方面探討了一些提高抗干擾能力的方法,這些方法有效可行,筆 者在很多系統(tǒng)設(shè)計采用,受到了良好的效果,基本解決了令人頭痛的干擾問題?!?/p>
參考文獻:
[1]邵貝貝.單片機的可靠性技術(shù)及其發(fā)展[J].電子產(chǎn)品世界.1999,(8).
[2]何立民.MCS-51系列單片機應(yīng)用系統(tǒng)設(shè)計[M].北京航空航天大學(xué)出版社.1999 .7.