單片機系統(tǒng)中的抗干擾技術(shù)
(3)空間隔離
單片機控制回路與其他大功率回路之間能夠分開放置的,盡量不要放置在同一空間中,如果二者必須在同一空間中的,要盡量加大二者的電氣距離,盡可能減小空間的電磁感應(yīng)耦合和輻射耦合,或者將單片機控制電路放在由金屬網(wǎng)或金屬盒構(gòu)成的屏蔽體內(nèi)。 此外,還有其他一些輔助性抗干擾措施,如:晶振的外殼接地、中央處理器的電源端及各口線附近對地加去耦電容等。
3.2 軟件抗干擾方法
除了硬件抗干擾途徑外,采用相應(yīng)的軟件抑制及補償措施,也可以起到有效的抗干擾作用。
(1)單片機各部分對干擾信號的反應(yīng)
①中央處理器CPU
CPU屬于高速數(shù)字器件,易受干擾的有運算器、控制器和控制寄存器。當(dāng)電磁干擾信號竄入時,CPU將錯誤地執(zhí)行指令,引起誤動作或者錯誤的結(jié)果;控制寄存器中的信息如果被噪聲修改,將導(dǎo)致初始化錯誤、尋址失敗乃至系統(tǒng)癱瘓。試驗表明,干擾信號大多數(shù)由總線導(dǎo)入CPU內(nèi);其中與外界聯(lián)系最頻繁、因而最容易受干擾的是程序指針PC,這種干擾往往引發(fā)致命錯誤,屬于重點防范和重點糾錯的對象。
②特殊功能寄存器SFR
SFR包括各種 I/O端口的寄存器、各種片內(nèi)部件的工作方式寄存器,以及堆棧指針、數(shù)據(jù)指針等等,其特點是傳遞數(shù)據(jù)的速度高,能夠與CPU的運行密切配合。如果某個 SFR被干擾信號改寫,則意味著運行的結(jié)果異常,輕者改變單片機內(nèi)各部件的操作控制,重則導(dǎo)致整個系統(tǒng)的輸出紊亂,引發(fā)故障或安全事故。因此,對于與程序有關(guān)的內(nèi)容必須提供及時有效的保護。
(2)軟件補償措施
對于已經(jīng)侵入微處理機的噪聲,必須采取能夠維持系統(tǒng)功能的對應(yīng)措施,以免出現(xiàn)意外停機或意外啟動,甚至引起意外事故。對CPU的誤動作和各種存儲器內(nèi)容的誤修改,在應(yīng)用軟件中插入相應(yīng)的程序模塊,進行主動補償是一種簡便而可靠的方法。
①主動初始化
這里的“初始化”泛指在各段程序中,對單片機及片外擴展器件的各種功能、端口或者方式、狀態(tài)等采取的永久性的或者臨時的設(shè)置。我們不僅要保證上電或復(fù)位后軟件能夠正確的實現(xiàn)各種級別的初始化,而且在程序中每次使用某種功能前,都要再一次對相應(yīng)的控制寄存器設(shè)定動作模式。實踐證明,這一措施可以大大提高系統(tǒng)對于入侵干擾的自恢復(fù)性能。
②重復(fù)執(zhí)行
程序指令在執(zhí)行的過程中或者保持之后,都有可能被噪聲修改,而導(dǎo)致控制失效乃至引發(fā)事故,為此應(yīng)當(dāng)盡量增加重要指令的執(zhí)行次數(shù)以糾正干擾造成的錯誤。對于頻率較低的傳感器數(shù)據(jù),建議在有效時間內(nèi)多次采集并比較;對于控制外部設(shè)備的指令,則需要多次重復(fù)執(zhí)行以確保有關(guān)信號的可靠性。為達(dá)此目的,可把重要的指令設(shè)計成定時掃描模塊,使其在整個程序的循環(huán)運行過程中反復(fù)執(zhí)行。如此,即使干擾信號改寫了指令內(nèi)容,也能在受控設(shè)備的反應(yīng)時間內(nèi)自動恢復(fù)正常。
③重要數(shù)據(jù)的保護和恢復(fù)
編寫專門的數(shù)據(jù)保護子程序,是提高工控微機系統(tǒng)可靠性的有效途徑。在編寫程序的過程中,對于由指令改變結(jié)果性質(zhì)的數(shù)據(jù),可以考慮在每次改變后都盡可能地保護起來,以便在需要時能夠恢復(fù)正確值。若數(shù)據(jù)的保護量較大,建議擴展非易失性的SRAM作為片外數(shù)據(jù)存儲器,這種新型芯片具有很高的抗干擾性能,其缺點是目前的價位較高。
(3)片內(nèi)WDT控制
“看門狗”(WDT)已經(jīng)成為工控微機必不可少的成員之一,他可以防止程序“跑飛”或者出現(xiàn)“死循環(huán)”。有的單片機如PIC系列單片機片內(nèi)就帶有 WDT監(jiān)視定時器,通過軟件,定時清WDT監(jiān)視定時器的值,當(dāng)出現(xiàn)“死循環(huán)”或程序“跑飛”現(xiàn)象時,WDT監(jiān)視定時器內(nèi)的值計滿溢出,從而強迫程序復(fù)位,從頭開始。不帶片內(nèi)WDT監(jiān)視定時器的單片機,也可以利用微處理機內(nèi)部閑置的定時/計數(shù)器,配合以適當(dāng)?shù)某绦蚓涂梢苑奖愕貥?gòu)成WDT。
參考文獻(xiàn)
[1] 何立民.單片機應(yīng)用系統(tǒng)抗干擾技術(shù)[M].北京:北京航空航天大學(xué)出版社,2000.
[2] 楊華舒,褚福濤.單片計算機系統(tǒng)抗干擾的軟件途徑[J].電子技術(shù)應(yīng)用,2001(3):20-22.
評論