單片機(jī)應(yīng)用系統(tǒng)的抗干擾技術(shù)
(2)器件布置上:把相關(guān)的器件就近放置,易產(chǎn)生噪聲的電路應(yīng)盡量遠(yuǎn)離主機(jī)電路,發(fā)熱量大的器件應(yīng)考慮散熱問題,I/O驅(qū)動(dòng)器件盡量靠近印制板邊上放置。閉置的lC管腳不要懸空,元器件腳避免相互平行,以減少寄生耦合。如有可能,盡量使用貼片元件。
(3)布線:電路之間的連接應(yīng)盡量短,容易受干擾的信號(hào)線要重點(diǎn)保護(hù),不能與能夠產(chǎn)生干擾或傳遞干擾的線路長距離平行;交直流電路要分開;對雙面布線的印制電路板,應(yīng)使兩面線條垂直交叉,以減少磁場耦合效應(yīng)。
(4)接地:交流地與信號(hào)地不能共用,以減少電源對信號(hào)的干擾;數(shù)字地、模擬地分開設(shè)計(jì),在電源端兩種地線相連;對于多級(jí)電路,設(shè)計(jì)時(shí)要考慮各級(jí)動(dòng)態(tài)電流,注意接地阻抗相互耦合的影響,工作頻率低于1 MHz時(shí)采用一點(diǎn)接地,工作頻率較高時(shí)采取多點(diǎn)接地,接地線應(yīng)盡量粗。
(5)去耦電容:加去耦電容是印制電路板設(shè)計(jì)的一項(xiàng)常規(guī)做法。在電源輸入端跨接10~100 μF的電解電容或鉭電容,在每個(gè)集成電路芯片上安裝一個(gè)0.01 μF的陶瓷電容器。
2.4 供電系統(tǒng)抗干擾措施
(1)使用交流穩(wěn)壓器,可防止電網(wǎng)過電壓、欠電壓干擾,保證供電的穩(wěn)定性。
(2)變壓器初次級(jí)用屏蔽層隔離,減少其間分布電容,提高共模抗干擾能力。
(3)低通濾波器可濾去干擾帶來的高次諧波。
(4)整個(gè)系統(tǒng)采用分立式供電方式,分別對各部分進(jìn)行供電。
(5)采用開關(guān)電源并提供足夠的功率余量。
3 應(yīng)用系統(tǒng)的軟件抗干擾技術(shù)
系統(tǒng)出現(xiàn)錯(cuò)誤或死機(jī),可以通過手工復(fù)位、定時(shí)復(fù)位等方法來解決,也可以通過下面的方法來實(shí)現(xiàn)抗干擾。
3.1 在程序中插入空操作指令(指令冗余)
在程序執(zhí)行過程中, CPU受到干擾后可能會(huì)將一些操作數(shù)當(dāng)作指令碼來執(zhí)行,引起程序混亂,我們應(yīng)盡快使程序納入正軌。MCS51系列單片機(jī)指令不超過3 B,當(dāng)程序彈飛到某一單字節(jié)指上時(shí),能自動(dòng)納入正軌。當(dāng)彈飛到某一雙字節(jié)或三字節(jié)指令上時(shí),有可能落到操作數(shù)上,繼續(xù)出錯(cuò)。在軟件設(shè)計(jì)時(shí),應(yīng)多采用單字節(jié)指令,并在一些關(guān)鍵地方插入NOP指令。如在雙字節(jié),三字節(jié)指令后面插入2條NOP指令。另外,在一些對程序流向起決定作用的指令之前插入兩條NOP指令(如RET,RETI,ACALL,LCALL,SJMP,AJMP,LJMP,JZ,JNZ,JC,JNC,JB,JNB,JBC,CJNE,DJNZ)以保證彈飛的程序迅速納入程序軌道。
3.2 采用軟件陷阱
當(dāng)CPU受干擾,造成程序彈飛到非程序區(qū),此時(shí)軟件冗余無能為力,可在非程序區(qū)設(shè)置攔截措施,使程序進(jìn)人陷阱,強(qiáng)迫程序進(jìn)入一個(gè)指定的地址,執(zhí)行一段專門對程序出錯(cuò)進(jìn)行處理的程序,軟件陷阱由3條指令構(gòu)成,其中ERR為指定地址:
NOP
NOP
LJMP ERR
軟件陷阱常安排在下列4種地方:
(1)未使用的中斷區(qū)。當(dāng)干擾使未使用的中斷開放.并激活這些中斷時(shí),就會(huì)引起程序混亂。如果在這些地方設(shè)置軟件陷阱,就能及時(shí)捕捉到錯(cuò)誤中斷。假如MCS51系統(tǒng)中使用3個(gè)中斷:INT0,INT1,T1,他們的中斷子程序分別在PINT0,PINT1,PT1,T0和串行口不使用中斷,中斷向量區(qū)可以設(shè)置如下:
評(píng)論