新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 單片機應用系統的抗干擾技術

        單片機應用系統的抗干擾技術

        作者: 時間:2010-01-11 來源:網絡 收藏

        (2)器件布置上:把相關的器件就近放置,易產生噪聲的電路應盡量遠離主機電路,發熱量大的器件應考慮散熱問題,I/O驅動器件盡量靠近印制板邊上放置。閉置的lC管腳不要懸空,元器件腳避免相互平行,以減少寄生耦合。如有可能,盡量使用貼片元件。

        (3)布線:電路之間的連接應盡量短,容易受干擾的信號線要重點保護,不能與能夠產生干擾或傳遞干擾的線路長距離平行;交直流電路要分開;對雙面布線的印制電路板,應使兩面線條垂直交叉,以減少磁場耦合效應。

        (4)接地:交流地與信號地不能共用,以減少電源對信號的干擾;數字地、模擬地分開設計,在電源端兩種地線相連;對于多級電路,設計時要考慮各級動態電流,注意接地阻抗相互耦合的影響,工作頻率低于1 MHz時采用一點接地,工作頻率較高時采取多點接地,接地線應盡量粗。

        (5)去耦電容:加去耦電容是印制電路板設計的一項常規做法。在電源輸入端跨接10~100 μF的電解電容或鉭電容,在每個集成電路芯片上安裝一個0.01 μF的陶瓷電容器。

        2.4 供電系統措施

        (1)使用交流穩壓器,可防止電網過電壓、欠電壓干擾,保證供電的穩定性。

        (2)變壓器初次級用屏蔽層隔離,減少其間分布電容,提高共模能力。

        (3)低通濾波器可濾去干擾帶來的高次諧波。

        (4)整個系統采用分立式供電方式,分別對各部分進行供電。

        (5)采用開關電源并提供足夠的功率余量。

        3 的軟件

        系統出現錯誤或死機,可以通過手工復位、定時復位等方法來解決,也可以通過下面的方法來實現抗干擾。

        3.1 在程序中插入空操作指令(指令冗余)

        在程序執行過程中, CPU受到干擾后可能會將一些操作數當作指令碼來執行,引起程序混亂,我們應盡快使程序納入正軌。MCS51系列指令不超過3 B,當程序彈飛到某一單字節指上時,能自動納入正軌。當彈飛到某一雙字節或三字節指令上時,有可能落到操作數上,繼續出錯。在軟件設計時,應多采用單字節指令,并在一些關鍵地方插入NOP指令。如在雙字節,三字節指令后面插入2條NOP指令。另外,在一些對程序流向起決定作用的指令之前插入兩條NOP指令(如RET,RETI,ACALL,LCALL,SJMP,AJMP,LJMP,JZ,JNZ,JC,JNC,JB,JNB,JBC,CJNE,DJNZ)以保證彈飛的程序迅速納入程序軌道。

        3.2 采用軟件陷阱

        當CPU受干擾,造成程序彈飛到非程序區,此時軟件冗余無能為力,可在非程序區設置攔截措施,使程序進人陷阱,強迫程序進入一個指定的地址,執行一段專門對程序出錯進行處理的程序,軟件陷阱由3條指令構成,其中ERR為指定地址:
        NOP
        NOP
        LJMP ERR

        軟件陷阱常安排在下列4種地方:
        (1)未使用的中斷區。當干擾使未使用的中斷開放.并激活這些中斷時,就會引起程序混亂。如果在這些地方設置軟件陷阱,就能及時捕捉到錯誤中斷。假如MCS51系統中使用3個中斷:INT0,INT1,T1,他們的中斷子程序分別在PINT0,PINT1,PT1,T0和串行口不使用中斷,中斷向量區可以設置如下:



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 外汇| 陆河县| 琼结县| 游戏| 甘泉县| 淮安市| 西宁市| 胶州市| 东兰县| 昭通市| 斗六市| 莫力| 高陵县| 六枝特区| 彰化县| 中西区| 屏边| 平昌县| 电白县| 七台河市| 灯塔市| 安岳县| 霍州市| 松潘县| 大洼县| 丹江口市| 修水县| 彭州市| 清徐县| 龙游县| 申扎县| 利辛县| 项城市| 太白县| 五台县| 吕梁市| 乐亭县| 扎兰屯市| 湖口县| 舒城县| 南陵县|