關 閉

        新聞中心

        EEPW首頁 > 工控自動化 > 設計應用 > 變頻空調單片機測控系統的抗干擾設計

        變頻空調單片機測控系統的抗干擾設計

        作者: 時間:2011-02-16 來源:網絡 收藏

        3軟件的

        在惡劣的環境中工作時,干擾源不僅會影響到硬件的正常工作,也常常會使的軟件運行發生混亂。因此問題不能完全靠硬件去解決,軟件的也是一項重要措施。當系統受到干擾時,可能使的程序跑飛,改變程序指針PC值,從而使程序進入死循環而不能正常工作;也可能改變內部特殊功能寄存器(SFR)的值使程序狀態混亂,甚至發生故障,損壞器件;如果被測量信號受到干擾,則會造成測量值失真。對于這種情況的對策是及時發現,及時引導程序走向正確位置,或者使系統重新復位開始運行。在本系統中采用了以下措施。

        圖5提高系統抗干擾能力的原理框圖

        31利用冗余指令

        當CPU受到干擾后,往往將一些操作數當作指令碼來執行,引起程序混亂。此時,若程序彈飛到某一條單字節指令上時,便自動納入正規;若程序彈飛到某一條雙字節或三字節指令上時,有可能落到其操作數上而繼續出錯。為此,在對程序流向起著決定作用的指令之前插入兩條NOP指令,保證彈飛的程序迅速納入正確的控制軌道。此類指令有RET、RETI、LCALL、LJMP、JNC、JNB、CJNE、DJNZ等。

        指令冗余措施可以減少程序彈飛的次數,使其很快納入程序軌道,但這不能保證在失控期間不出錯,更不能保證程序納入正常軌道后就太平無事了。解決這個問題還必須采用軟件容錯技術,使系統的誤動作減少,并盡可能消除重大誤動作。

        32設置軟件陷阱

        所謂軟件陷阱,就是一條引導指令,強行將捕獲的程序引向一個指定的地址,在那里有一段專門對程序出錯進行處理的程序。如果把這段程序的入口標號稱為ERR的話,軟件陷阱即為一條LJMPERR的指令,為加強其捕捉效果,一般還在它前面加兩條NOP指令。因此,真正的軟件陷阱由三條指令構成: NOP NOP LJMPERR

        軟件陷阱一般安排在下列四種地方:

        (1)未使用的中斷向量區當干擾使未使用的中斷開放,并激活這些中斷時,就會引起系統程序的混亂,但如果在這些地方布上陷阱,就能及時捕捉到錯誤中斷;

        (2)未使用的大片ROM空間對于剩余的大片

        未編程的ROM空間,一般都維持原狀(0FFH)。程序彈飛到這一區域后將順流而下,不再跳躍(除非受到新的干擾)。這時只要每隔一段設置一個陷阱,就能捕捉到彈飛的程序;

        (3)表格表格有兩類,一類是數據表格;另一類是

        散轉表格。由于表格中內容和檢索值有一一對應關系,在表格中安排陷阱將會破壞其連續性和對應關系,所以只能在表格的最后安排五字節陷阱(NOPNOPLJMP);

        (4)程序區程序區是由一序列執行指令構成

        的,一般不能在這些指令串中間任意安排陷阱,否則正常執行的程序也可能被抓走。在這些指令串中間有一些斷裂點,正常執行的程序到此便不會往下繼續執行了,這類指令有LJMP、SJMP、AJMP、RET、RETI等,在它們后面加軟件陷阱。

        33設置程序運行監視系統(WDT)

        利用CPU內部的WDT可以實現系統定時復位。在程序正常運行時,每隔一段時間對WDT清零。一旦程序運行不正常,沒有及時給WDT送清零信號,則在WDT計數溢出時自動將系統復位。所使用的西門子公司生產的C504單片機的WDT溢出時間可人為設定。若晶振用12MHz,其可選時間為512μs~11s。本系統溢出時間為7ms。

        34采用軟件濾波

        被測信號的抗干擾可以采用“軟件濾波”的方法解決。常用的有:算術平均值法,比較取舍法,中值法,一階遞推數字濾波法。本系統采用的是比較取舍法。

        4結語

        經試驗,該系統工作半年多來,運行狀況良好,性能穩定,噪音低,沒有出現錯誤及損壞器件現象,取得了良好的效果,達到了預期的目的,證明在系統設計中采用的上述抗干擾措施是行之有效的。


        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 清远市| 华蓥市| 门头沟区| 吉安县| 夏津县| 萝北县| 祁门县| 英吉沙县| 海原县| 江西省| 邵阳县| 苏尼特右旗| 鹿泉市| 海盐县| 紫金县| 南漳县| 汉源县| 万盛区| 从江县| 焦作市| 永福县| 威远县| 枞阳县| 惠东县| 永城市| 桦甸市| 和林格尔县| 江源县| 康马县| 绥化市| 岚皋县| 成都市| 浦东新区| 巴青县| 灵璧县| 信宜市| 屏东县| 海阳市| 怀化市| 宾川县| 新沂市|