鄭春芳
(山西水利職業技術學院,山西太原,030027)
首先,電磁輻射和電磁波產生的干擾。大型設備在啟動和停止過程中產生的電弧、電機等現場大型電氣設備運行、空間中雷電的電磁波等都會產生這方面的干擾,其會對系統的元件、芯片等有所損壞,也會讓計算機的數據出現錯誤,嚴重時可能造成數據丟失。
其次,系統內部零件工作時產生的干擾。一般情況下,系統零件運行期間產生的干擾信號會通過計算機的信號線、電源線、地址總線、電感、分布電容等物質傳輸,其會對系統中存儲的數據和系統工作的正常狀態產生影響,嚴重時還會出現數據丟失或者信號錯誤的現象[1]。
首先,隔離信號。信息傳輸借助光耦合器件在輸入通道上進行,在進行輸出作業時,要通過直接采用機電隔離或者借助光電隔離耦合器件的方式,從電氣上講系統內部的各種傳感器和開關完全隔離,從而對接口處的干擾進入系統進行阻擋和抑制。其次,電路濾波。將RC低通濾波器接入到輸入電路之中,這樣能對高頻干擾信號進行有效的削弱,對于高頻振蕩或者火花放點造成的干擾,可以在回路當中接入C和LC共同組成的濾波器。最后,過壓保護電路。一般情況下,過壓保護由限流電阻和穩壓管共同組成。
首先,抗干擾穩壓電源。在設計之前就需要通過隔離變壓器和低通濾波器將供電電源接入到電網中。低通濾波器則可以對電網中的“毛刺”進行有效吸收。而隔離變壓器則是在初級繞組和次級繞組之間加裝2層屏蔽層,然后再將整個系統和鐵芯一起接地,這樣就能將干擾通過初級和次級繞組之間的電路效應進入供電系統的情況進行有效的避免。其次,良好的接地系統。很多情況下產生的干擾就是接地不良造成的。如果存在不良的接地條件,就有可能出現系統浮置,這時就需要采取相關的屏蔽措施,分離系統之中的數字和模擬地,最后再將其連接到一點上。比如,對汽車系統傳感器進行控制的信號必須使用單獨引線,而不能使用車體來做地線,且要讓各種地線連接到電源的一點。再次,屏蔽。將部分元件甚至整機使用金屬外殼進行包圍,在最大程度上做好屏蔽措施。
在整個單片機系統抗干擾的過程中,電路板的印制和設計是非常重要的。在進行印制電路板設計及布線的過程中,需要本著盡量減小噪聲的吸收、盡量控制噪聲源、盡量減小噪聲的傳播和耦合三個原則進行。
首先,一般情況下,雙面板的噪聲會比四層板高出20分貝,而四層板的噪聲又會比六層板高出10分貝[2]。若經濟條件允許,可以考慮使用多層板。其次,在PCB上,盡量保證陶瓷諧振器、晶體諧振器以及外接電容的引線長度縮短。最后,如果信號的頻率太高,就需要將信號線參照傳輸線進行處理,而且要在終端增加匹配的電阻。
目前情況下,很多單片機都包含警戒時鐘電路,在進行系統設計時,想要對其進行允許或者禁止,可以通過相關的軟件設定警戒時鐘的功能來實現,而且,使用警戒時鐘功能還能有效防止單片機系統出現死機的現象。
高頻噪聲的來源基本都是外時鐘,除過可能對應用的系統產生一定的干擾之外,還有對外界產生一定程度的干擾,這樣會導致電磁兼容的檢測不合格。如果某一應用系統對于系統可靠性的要求很高,在降低系統噪聲系統的選擇時,最主要的原則就是選用頻率低的單片機。
想要盡可能消除在實時數據采集通道之中和采集過程之中產生的干擾信號,就可以考慮采用信號濾波的方式。使用有源或者無源的RLC網絡來充當硬件,并形成模擬的濾波器,以求在最大程度上對信號頻率實現濾波的目標。一般情況下,在數據的采集系統之中,具有比較多且常用的軟件濾波。下面介紹幾種具有實際意義的數據采集方法。
第一,限值濾波法。結合相關的實際經驗,將信號峰值的下限XM0和上限XM輸入到程序當中,如果Xi不在被測信號的范圍之內,即可斷定此信號是干擾信號,將其從系統當中除去;若Xi在被測信號的范圍內,就說明采樣值Xi0的方法比較適合切斷電動工具的火花等零部件產生的隨機的干擾脈沖,或者切斷濾去的大電流電感負載。
第二,平均濾波法。采用集中性采樣的方式收集連續的N個數值,然后在進行算術上的平均。使用的公式i進行計算,其中用來表示N次采樣最終的平均值,Xi用來表示第i次的采樣值,n用來表示采樣的次數。但是,這種計算方法適用的范圍比較狹窄,其只適合將系統隨機干擾對采樣結果的影響降到最小。
第三,遞推隨機濾波。此方法和平均濾波法相似,區別在于:如果規定按照20ms取一次輸入值的頻次,則平均濾波會在20ms之內實現n次取樣,而且輸入值一般會取n次取得樣本的平均值。遞推平均濾波采樣的頻率為20ms,想要得到第i次輸入值Xi,就必須以第i次為基礎進行采樣,然后依次向前取值表示算術平均值遞推的公式,但此方法最要適合將周期性等幅度的干擾濾去。
若單片機系統處于一個比較惡劣的工作環境,干擾就有可能通過三總線干擾到CPU按正常流程執行的一些程序,如果情況嚴重,還有可能出現系統失控。
第一,指令冗余。指令冗余即將許多單字節的指令運用在程序之中,盡量控制因為干擾而產生程序亂飛的現象,而且,人為地將某些單字節指令插入到關鍵地方,或者對有效的單字節指令進行重寫[3]。一般情況下,單片機系統的指令不會超過三個字節,而且這些字節基本上都是單字節的指令。操作數和操作碼共同構成指令,在指令提取的過程中,CPU線提取操作碼,再提取操作數,將一條指令完整地執行完成后,再提取下一條指令然后進行執行。如果因為PC受到干擾而出現錯誤,會連帶程序脫離原來正常的軌道,在系統之中亂飛,久而久之,就會出現操作數數值被改變或者操作數充當操作碼的現象[4]。第二,軟件陷阱。軟件陷阱是指安定冗余且亂飛的程序,但是,下面的條件時需要滿足的:程序需要準確地落在程序區內,且執行到冗余指令。如果最后系統內部亂飛的程序沒有落在程序區域,可以通過設立軟件陷阱的方式對其進行處理。其實,軟件陷阱的本質就是一條起引導作用的指令,再通過強制的方式引導已經捕獲到的程序至指定的位置,在特定的位置會有一段已經設置好的程序處理出錯的程序[5]。
綜上所述,本文通過對單片機系統之中最常用的集中干擾抑制技術進行闡述分析,經過具體的實踐可以看出,上文所述的擁擠單片機抗干擾的技術,能夠在最大程度上對系統死機的現象進行防止和避免,這樣也就能提升單片機應用系統的可靠程度,因此,上面的辦法具有一定的可行性。