單片機(jī)系統(tǒng)軟件抗干擾策略在通信電源中的應(yīng)用
單片機(jī)構(gòu)成的監(jiān)控系統(tǒng)廣泛應(yīng)用在工業(yè)自動(dòng)化裝置、生產(chǎn)過程控制和儀器儀表等各個(gè)領(lǐng)域。單片機(jī)應(yīng)用于工業(yè)環(huán)境時(shí),工作場所不僅有弱電設(shè)備,而且有更多的強(qiáng)電設(shè)備;不僅有數(shù)字電路,而且有許多模擬電路,形成一個(gè)強(qiáng)電與弱電、數(shù)字與模擬共存的局面。高速變化的數(shù)字信號有可能形成對模擬信號的干擾。此外,在一些強(qiáng)電設(shè)備,如:通信電源中往往還有電感、電容等儲能元件,當(dāng)電壓、電流發(fā)生劇烈變化時(shí)就會形成瞬變噪聲干擾。瞬變噪聲頻譜寬、能量大,對電子器件的危害很大,也是導(dǎo)致設(shè)備故障停機(jī)的主要原因。
由于單片機(jī)應(yīng)用環(huán)境往往比較惡劣,干擾嚴(yán)重,這就要求單片機(jī)應(yīng)用系統(tǒng)既有較強(qiáng)的抗干擾能力。盡管我們采取了硬件抗干擾措施,但由于干擾信號產(chǎn)生的原因很復(fù)雜,且具有很大的隨機(jī)性,難免保證系統(tǒng)完全不受干擾。因此,通常在硬件抗干擾措施的基礎(chǔ)上,采用軟件抗干擾技術(shù)加以補(bǔ)充,作為硬件措施的輔助手段。
2 干擾信號對單片機(jī)各部分的影響
單片機(jī)屬于數(shù)字系統(tǒng),各邏輯部分都有相應(yīng)的閾電平和噪聲容限,外來噪聲只要不超過邏輯元件的容限值,系統(tǒng)就能正常運(yùn)行。然而一旦侵入系統(tǒng)的噪聲超過了容限,干擾就會被邏輯器件放大、整型,于是產(chǎn)生誤動(dòng)作。假如干擾改變了觸發(fā)器或存儲器的信息,即便干擾消除了,系統(tǒng)也無法恢復(fù)正常運(yùn)行。
?。?)運(yùn)算部件和控制器
CPU屬高速數(shù)字器件,其中容易受到干擾的有運(yùn)算部件和控制器。運(yùn)算部件實(shí)現(xiàn)數(shù)據(jù)的各種運(yùn)算、處理和傳送操作,而控制器時(shí)單片機(jī)的神經(jīng)中樞。噪聲的存在有可能導(dǎo)致CPU錯(cuò)誤地執(zhí)行指令、控制寄存器中的數(shù)據(jù)被改寫,從而產(chǎn)生誤動(dòng)作或得到錯(cuò)誤的結(jié)果,甚至引起系統(tǒng)癱瘓。
(2)程序計(jì)數(shù)器PC
單片機(jī)系統(tǒng)受干擾后最典型的故障是程序計(jì)數(shù)器PC的狀態(tài)被破壞,導(dǎo)致程序無法按正常的順序執(zhí)行,在地址空間內(nèi)“亂飛”,結(jié)果往往時(shí)陷入“死循環(huán)”。因此,程序計(jì)數(shù)器PC屬于重點(diǎn)防范對象,它出錯(cuò)時(shí)必須盡可能早地發(fā)現(xiàn)并采取補(bǔ)救措施。
?。?)特殊功能寄存器SFR
SFR對CPU非常重要,它實(shí)質(zhì)上是一些具有特殊功能的RAM單元,包括各種I/O寄存器、片內(nèi)部件工作方式寄存器,以及堆棧指針、數(shù)據(jù)指針等。SFR傳遞數(shù)據(jù)的速率非常高,能夠與CPU的運(yùn)行密切配合。若某個(gè)SFR被干擾信號改寫,則意味著程序運(yùn)行結(jié)果異常,輕則改變單片機(jī)內(nèi)各部件的操作控制,重則導(dǎo)致整個(gè)系統(tǒng)的輸出紊亂,引發(fā)故障甚至安全事故。因此,對于與程序有關(guān)的SFR內(nèi)容必須提供及時(shí)有效的保護(hù)。
(4)各類存儲器MEMORY
單片機(jī)的存儲器包括片內(nèi)存儲器和片外擴(kuò)展存儲器。其中,程序存儲器(EEPROM或EPROM或FLASH)的抗干擾性能最好,CPU內(nèi)部的數(shù)據(jù)存儲器(片內(nèi)RAM)抗干擾性能也較好,而片外擴(kuò)展數(shù)據(jù)存儲器(片外RAM)的抗干擾性能就相對較差。因此,在干擾信號較強(qiáng)的環(huán)境中運(yùn)行的單片機(jī),其較持久和重要的數(shù)據(jù)應(yīng)當(dāng)保存在片內(nèi)RAM中,在擴(kuò)展RAM中只宜保存臨時(shí)數(shù)據(jù),否則應(yīng)當(dāng)采用軟件措施在應(yīng)用程序中進(jìn)行數(shù)據(jù)恢復(fù)。
評論