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