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