變頻空調(diào)單片機測控系統(tǒng)的抗干擾分析與設(shè)計
1引言
隨著科學(xué)技術(shù)的發(fā)展,單片機在各種家電產(chǎn)品中得到了越來越廣泛的應(yīng)用,它的穩(wěn)定性工作是衡量其質(zhì)量好壞的重要指標。因此,有效地抑制單片機系統(tǒng)內(nèi)部和外部的電磁噪聲干擾,使單片機系統(tǒng)在實際運行環(huán)境中長期可靠地工作,是一個亟待解決的電磁兼容問題。
在我們設(shè)計的變頻空調(diào)電控系統(tǒng)中,由于其所處環(huán)境比較惡劣,特別是在冬季與夏季強功率運行時,由壓縮機、風機高速運轉(zhuǎn)所引起的機械振動,電器設(shè)備(如斬波器、電動機等)所產(chǎn)生的干擾,室內(nèi)外環(huán)境的溫差(-20℃~40℃),都會影響單片機系統(tǒng)的正常工作。這就要求在設(shè)計單片機系統(tǒng)時必須考慮到各種影響其正常工作的因素,并采取相應(yīng)的有效措施。當然,單片機系統(tǒng)的可靠性是由多種因素決定的,但系統(tǒng)的抗干擾性能是系統(tǒng)可靠性的重要指標。因此,抗干擾設(shè)計是整體設(shè)計工作中的一個重要內(nèi)容。
2硬件的抗干擾設(shè)計
實際單片機應(yīng)用系統(tǒng)中,干擾一般都是以脈沖的形式進入系統(tǒng)的。其主要形式有三種,如圖1所示。
(1)空間場輻射干擾干擾以電磁輻射的形式耦
合進入系統(tǒng);
(2)電源系統(tǒng)干擾干擾通過地線和電源線進入系
統(tǒng)。地線和電源線是傳導(dǎo)電磁干擾的一個主要通道,這是由于地線和電源線是數(shù)字集成電路所有電流的通路。
(3)過程通道干擾干擾通過與主機的前向通道、后向通道以及與其他主機的相互通道進入系統(tǒng)。[1]
針對這種情況,在控制方法設(shè)計上,除了采用眾所周知的抑制干擾傳播的技術(shù),如屏蔽、接地、搭接、合理布線等方法外,還采取了回避和疏導(dǎo)的技術(shù)處理,如空間方位分離,以及電氣隔離等措施。
2?1空間場輻射抗干擾措施
空間場輻射干擾主要由數(shù)字信號源產(chǎn)生,一般是由高頻脈沖信號的高次諧波造成的,通常以差模和共模兩種噪聲模式產(chǎn)生輻射。差模噪聲的輻射是高頻噪聲電流在信號電路中流動時產(chǎn)生的,共模噪聲的輻射則是因為電路中的線阻抗或感抗產(chǎn)生的電位差引起的。針對這一情況,采用合理的布線、良好的屏蔽與正確的接地,增加高頻濾波,盡量減小系統(tǒng)中各工作環(huán)節(jié)的阻抗等一系列措施;對于功率模塊和單片機系統(tǒng)的結(jié)合部位,采用空間分離的措施,把強電和弱電的結(jié)合部位分離開來。使得這一問題得到了良好的解決。
2?2電源系統(tǒng)抗干擾措施
電源系統(tǒng)干擾包括電源干擾和地線干擾。本系統(tǒng)采用220V市電供電,故電網(wǎng)上及其它電器所產(chǎn)生的干擾都會通過電源進入系統(tǒng)。主要采用了以下幾種解決辦法:
圖1單片機系統(tǒng)主要干擾渠道
圖2系統(tǒng)抗干擾設(shè)計總圖
圖3光耦合器的應(yīng)用
圖4光耦合器的應(yīng)用
(1)采用隔離電源消除各功能模塊間的相互影響,提高抗干擾的能力;
(2)使用低通濾波器電源系統(tǒng)的干擾源大部分是高次諧波,因此利用低通濾波器濾掉高次諧波,以改善電源波形;
(3)采用分散獨立的功能塊供電在每塊系統(tǒng)功能模塊上用三端穩(wěn)壓集成芯片,如7805等集成穩(wěn)壓電源。每個功能塊單獨對電源進行過載保護,不會因某塊穩(wěn)壓電源故障而使整個系統(tǒng)遭到破壞,且減少了公共阻抗的相互耦合和公共電源的相互耦合,大大提高了供電可靠性,也有利于電源散熱。
地線干擾通常表現(xiàn)為外部干擾通過公共地線進入主機系統(tǒng),數(shù)字地線的干擾還表現(xiàn)為邏輯地的不等電位。因此,單片機系統(tǒng)的地線布置相當重要。解決地線干擾的辦法是正確處理好地線隔離問題,同時為了避免模擬電路引入的噪聲通過地阻抗對數(shù)字電路產(chǎn)生影響,數(shù)字地與模擬地應(yīng)分開布線,單點連接。
將以上原則應(yīng)用于實際系統(tǒng)的設(shè)計中,本系統(tǒng)采用了如圖2所示的電源、地線抗干擾設(shè)計。
2?3過程通道抗干擾措施
過程通道主要是單片機系統(tǒng)本身和外圍器件所產(chǎn)生的聯(lián)系。前向接口、后向接口與主機以及主機之間相互進行信息傳輸?shù)穆窂?,它的干擾主要是長線傳輸?shù)母蓴_。系統(tǒng)中解決的辦法是采取光電耦合的措施。
光電耦合是采用半導(dǎo)體光電耦合器件進行隔離。它的主要優(yōu)點是能有效地抑制尖峰脈沖及各種干擾,使輸入電路中的干擾信號不能直接從電路上進入輸出電路,從而使過程通道上信噪比大大提高。光電耦合有很強的抗干擾能力,原因如下:
(1)光電耦合的輸入阻抗很小,一般只有100Ω~1kΩ之間,而干擾源內(nèi)阻很大,通常為100kΩ~100MΩ之間,因此分壓到光電耦合器輸入端的噪聲很小;
(2)干擾噪聲雖有較大的電壓幅度,但能量小,只
能形成微弱電流,而光電耦合器輸入部分的發(fā)光二極管是在電流狀態(tài)下工作的,即使有很高電壓幅值的干擾由于不能提供足夠的電流而被吸收;
(3)光電耦合是在密封條件下實現(xiàn)輸入電路和輸
出電路的光耦合,不會受到外界光線的干擾;
(4)輸入電路和輸出電路之間分布電容極小,一
般為0.5~2pF之間,而且絕緣電阻極大。因此,電路一邊的干擾很難通過光電耦合器饋送到另一邊去。[2]
系統(tǒng)主要在三種情況下應(yīng)用了光電耦合器。其一是室內(nèi)機信號由CPU的P2?1腳經(jīng)過光耦輸入到通信線上去,如圖3所示。為了使光耦兩端的輸入和輸出電平與各自的電路匹配,將光耦兩邊的電源分別置為各自電路的電源。電路中的+12V電源通過一個1kΩ的電阻接光耦的輸入端,這個電阻作為光耦通路中的限流電阻,通過光耦輸入端的電流大小為I=12mA。因為電流傳輸率接近100%,故在輸出一側(cè)使220V電源通過一個22kΩ的電阻,I′=220/22k=10mA,略小于輸入端電流。第二個應(yīng)用光電耦合的地方是室內(nèi)機接收室外機的信號處。第三個應(yīng)用光電耦合的場合是單片機輸出驅(qū)動PG電機處,如圖4所示。其原理分析完全同上,不再贅述。
從以上的分析看出,通過AC/AC隔離電源和光電耦合電路,使以單片機為核心的中央處理控制系統(tǒng)與外界完全隔離開來,極大地提高了系統(tǒng)運行的抗干擾能力,如圖5所示。
3軟件的抗干擾設(shè)計
單片機在惡劣的環(huán)境中工作時,干擾源不僅會影響到硬件系統(tǒng)的正常工作,也常常會使系統(tǒng)的軟件運行發(fā)生混亂。因此系統(tǒng)的抗干擾問題不能完全靠硬件去解決,軟件的抗干擾設(shè)計也是一項重要措施。當系統(tǒng)受到干擾時,可能使單片機的程序跑飛,改變程序指針PC值,從而使程序進入死循環(huán)而不能正常工作;也可能改變單片機內(nèi)部特殊功能寄存器(SFR)的值使程序狀態(tài)混亂,甚至發(fā)生故障,損壞器件;如果被測量信號受到干擾,則會造成測量值失真。對于這種情況的對策是及時發(fā)現(xiàn),及時引導(dǎo)程序走向正確位置,或者使系統(tǒng)重新復(fù)位開始運行。在本系統(tǒng)中采用了以下措施。
圖5提高系統(tǒng)抗干擾能力的原理框圖
3?1利用冗余指令
當CPU受到干擾后,往往將一些操作數(shù)當作指令碼來執(zhí)行,引起程序混亂。此時,若程序彈飛到某一條單字節(jié)指令上時,便自動納入正規(guī);若程序彈飛到某一條雙字節(jié)或三字節(jié)指令上時,有可能落到其操作數(shù)上而繼續(xù)出錯。為此,在對程序流向起著決定作用的指令之前插入兩條NOP指令,保證彈飛的程序迅速納入正確的控制軌道。此類指令有RET、RETI、LCALL、LJMP、JNC、JNB、CJNE、DJNZ等。
指令冗余措施可以減少程序彈飛的次數(shù),使其很快納入程序軌道,但這不能保證在失控期間不出錯,更不能保證程序納入正常軌道后就太平無事了。解決這個問題還必須采用軟件容錯技術(shù),使系統(tǒng)的誤動作減少,并盡可能消除重大誤動作。
3?2設(shè)置軟件陷阱
所謂軟件陷阱,就是一條引導(dǎo)指令,強行將捕獲的程序引向一個指定的地址,在那里有一段專門對程序出錯進行處理的程序。如果把這段程序的入口標號稱為ERR的話,軟件陷阱即為一條LJMPERR的指令,為加強其捕捉效果,一般還在它前面加兩條NOP指令。因此,真正的軟件陷阱由三條指令構(gòu)成: NOP NOP LJMPERR
軟件陷阱一般安排在下列四種地方:
(1)未使用的中斷向量區(qū)當干擾使未使用的中斷開放,并激活這些中斷時,就會引起系統(tǒng)程序的混亂,但如果在這些地方布上陷阱,就能及時捕捉到錯誤中斷;
(2)未使用的大片ROM空間對于剩余的大片
未編程的ROM空間,一般都維持原狀(0FFH)。程序彈飛到這一區(qū)域后將順流而下,不再跳躍(除非受到新的干擾)。這時只要每隔一段設(shè)置一個陷阱,就能捕捉到彈飛的程序;
(3)表格表格有兩類,一類是數(shù)據(jù)表格;另一類是
散轉(zhuǎn)表格。由于表格中內(nèi)容和檢索值有一一對應(yīng)關(guān)系,在表格中安排陷阱將會破壞其連續(xù)性和對應(yīng)關(guān)系,所以只能在表格的最后安排五字節(jié)陷阱(NOPNOPLJMP);
(4)程序區(qū)程序區(qū)是由一序列執(zhí)行指令構(gòu)成
的,一般不能在這些指令串中間任意安排陷阱,否則正常執(zhí)行的程序也可能被抓走。在這些指令串中間有一些斷裂點,正常執(zhí)行的程序到此便不會往下繼續(xù)執(zhí)行了,這類指令有LJMP、SJMP、AJMP、RET、RETI等,在它們后面加軟件陷阱。
3?3設(shè)置程序運行監(jiān)視系統(tǒng)(WDT)
利用CPU內(nèi)部的WDT可以實現(xiàn)系統(tǒng)定時復(fù)位。在程序正常運行時,每隔一段時間對WDT清零。一旦程序運行不正常,沒有及時給WDT送清零信號,則在WDT計數(shù)溢出時自動將系統(tǒng)復(fù)位。所使用的西門子公司生產(chǎn)的C504單片機的WDT溢出時間可人為設(shè)定。若晶振用12MHz,其可選時間為512μs~1?1s。本系統(tǒng)設(shè)計溢出時間為7ms。
3?4采用軟件濾波
被測信號的抗干擾可以采用“軟件濾波”的方法解決。常用的有:算術(shù)平均值法,比較取舍法,中值法,一階遞推數(shù)字濾波法。本系統(tǒng)采用的是比較取舍法。
4結(jié)語
經(jīng)試驗,該系統(tǒng)工作半年多來,運行狀況良好,性能穩(wěn)定,噪音低,沒有出現(xiàn)錯誤及損壞器件現(xiàn)象,取得了良好的效果,達到了預(yù)期的目的,證明在系統(tǒng)設(shè)計中采用的上述抗干擾措施是行之有效的。