2.6.3 輸出端口數(shù)據(jù)刷新方法
開關(guān)量輸出軟件抗干擾設(shè)計,主要是采取重復(fù)輸出的方法,這是一種提高輸出接口抗干擾性能的有效措施。對于那些用鎖存器輸出的控制信號,這些措施很有必要。在盡可能短的周期內(nèi),將數(shù)據(jù)重復(fù)輸出,受干擾影響的設(shè)備在還沒有來得及響應(yīng)時,正確的信息又到來,這樣就可以及時防止誤動作的產(chǎn)生。在程序結(jié)構(gòu)的安排上,可為輸出數(shù)據(jù)建立一個數(shù)據(jù)緩沖區(qū),在程序的周期性循環(huán)體內(nèi)將數(shù)據(jù)輸出。對于增量控制型設(shè)備不能這樣重復(fù)送數(shù),只有通過檢測通道,從設(shè)備的反饋信息中判斷數(shù)據(jù)傳輸?shù)恼_與否。在執(zhí)行重復(fù)輸出功能時,對于可編程接口芯片,工作方式控制字與輸出狀態(tài)字一并重復(fù)設(shè)置,使輸出模塊可靠地工作。
2.6.4 軟件攔截技術(shù)
當(dāng)竄入單片機(jī)系統(tǒng)的干擾作用在CPU 部位時,后果更加嚴(yán)重,將使系統(tǒng)失靈。最典型的故障是破壞程序計數(shù)器PC 的狀態(tài),導(dǎo)致程序從一個區(qū)域跳轉(zhuǎn)到另一個區(qū)域,或者程序在地址空間內(nèi)“亂飛”,或者陷入“死循環(huán)”。使用軟件攔截技術(shù)可以攔截“亂飛”的程序或者使程序擺脫“死循環(huán)”,并將運行程序納入正軌,轉(zhuǎn)到指定的程序入口。
2.6.5 “軟件看門狗”技術(shù)
PC 受到干擾而失控,引起程序“亂飛”,也可能使程序陷入“死循環(huán)”。當(dāng)軟件攔截技術(shù)不能使失控的程序擺脫“死循環(huán)”的困境時,通常采用程序監(jiān)視技術(shù)WDT TIMER(WDT),又稱“看門狗”技術(shù),使程序脫離“死循環(huán)”。WDT 是一種軟、硬件結(jié)合的抗程序跑飛措施,其硬件主體是一個用于產(chǎn)生定時T 的計數(shù)器或單穩(wěn),該計數(shù)器或單穩(wěn)基本獨立運行,其定時輸出端接至CPU 的復(fù)位線,而其定時清零則由CPU 控制。在正常情況下,程序啟動WDT 后,CPU 周期性的將WDT 清零,這樣WDT 的定時溢出就不會發(fā)生,如同睡眠一般不起任何作用。在受到干擾的異常情況下,CPU 時序邏輯被破壞,程序執(zhí)行混亂,不可能周期性的將WDT 清零,這樣當(dāng)WDT 的定時溢出時,其輸出使系統(tǒng)復(fù)位,避免CPU因一時干擾而陷入癱瘓的狀態(tài)。
3、結(jié)束語
隨著單片機(jī)系統(tǒng)的廣泛應(yīng)用和技術(shù)的進(jìn)步,電磁干擾問題越來越突出,推廣現(xiàn)有的、成熟的抗干擾技術(shù),研究抗干擾的新技術(shù)、新方向是單片機(jī)應(yīng)用技術(shù)的當(dāng)務(wù)之急。在單片機(jī)應(yīng)用系統(tǒng)設(shè)計及應(yīng)用中,只要充分考慮設(shè)備的電磁兼容性,并通過各種技術(shù)措施來消除干擾,就可以大大提高設(shè)備的穩(wěn)定性和可靠性。