單片機(jī)技術(shù)中的軟硬件防干擾方法
根據(jù)經(jīng)驗(yàn),用軟件方法抑制信號通道干擾很有效,下面就這個范圍介紹幾種軟件抗干擾的方法。
4.1數(shù)據(jù)采集干擾抑制方法
進(jìn)行實(shí)時數(shù)據(jù)采集時,為了消除傳感器通道中的干擾信號,有三種常用濾波方法。
(1)算術(shù)平均算法。對一點(diǎn)數(shù)據(jù)連續(xù)采樣多次,以其平均值作為該點(diǎn)采樣結(jié)果。這樣做可以減少系統(tǒng)的隨機(jī)干擾對采樣結(jié)果的影響,多次采樣一般取3~5次平均即可。
(2)比較取合法。當(dāng)測控系統(tǒng)測量結(jié)果的個別數(shù)據(jù)存在偏差時,為了剔除個別誤差較大的數(shù)據(jù),可采用此法,即根據(jù)幾個采樣點(diǎn)數(shù)據(jù)變化的規(guī)律,確定取合辦法。如:“采三取二”,就是對每點(diǎn)采樣三次,取兩次相同的為采樣結(jié)果。
(3)數(shù)字濾波法。該方法利用軟件完成RC低通濾波器的算法,經(jīng)常采用的二階遞推數(shù)字濾波公式為:
實(shí)踐證明,采用軟件濾波對消除數(shù)據(jù)采集中的誤差可以獲得滿意效果。在應(yīng)用中,究竟使用哪一種方法,要根據(jù)被采樣信號的具體變化規(guī)律進(jìn)行選擇。
4.2控制失常的抑制方法
在大量開關(guān)量的單片機(jī)系統(tǒng)中,確保信號的正常狀態(tài)顯得尤為重要。
如果干擾進(jìn)入系統(tǒng)影響到控制條件時,就會出現(xiàn)失控現(xiàn)象,通??捎孟率鰞煞N方法抑制。
(1)重復(fù)檢查法。對于開關(guān)量、控制條件處理輸出,進(jìn)行循環(huán)采樣。若相鄰各次檢測結(jié)果在允許誤差范圍內(nèi),則輸出控制。如超出誤差范圍,則重新檢測,直至檢測結(jié)果符合要求為止。
(2)設(shè)置輸出寄存單元。當(dāng)干擾侵入輸出通道使輸出狀態(tài)破壞時,也會導(dǎo)致控制失常。此時應(yīng)考慮設(shè)置輸出寄存單元,在控制輸出時可及時查詢、比較寄存器單元的內(nèi)容,一旦異??杉皶r糾正輸出狀態(tài)。
4.3程序盲目運(yùn)行的抑制方法
系統(tǒng)受到干擾時,有時PC值被改變,結(jié)果導(dǎo)致程序飛出,盲目運(yùn)行和進(jìn)人死循環(huán)。顯然,抗干擾軟件要能做到:一旦系統(tǒng)出現(xiàn)上述情況后,能自動及時地引導(dǎo)系統(tǒng)恢復(fù)到正常狀態(tài),以下兩種方法有效。
(1)設(shè)置Watchdog。Watchdog亦即跟蹤監(jiān)視定時器,利用定時器中斷功能來監(jiān)視程序的運(yùn)行狀態(tài)。具體做法為:測算好最長循環(huán)程序循環(huán)一次的時間,然后定時時間的設(shè)置稍大于它。正常循環(huán)一次后,定時器重新置初值,否則定時器繼續(xù)計(jì)數(shù),直到溢出進(jìn)入中斷。在中斷服務(wù)程序中設(shè)置PC值,迫使其跳出死循環(huán)。
(2)設(shè)置陷阱方法。若PC值并非進(jìn)人死循環(huán),而是隨機(jī)“亂飛”,可設(shè)置陷阱攔截。具體做法是在所有子程序和程序快的連接處(前提是程序正常運(yùn)行時不會進(jìn)入該處)填上絕對跳轉(zhuǎn)指令,失控的PC一旦進(jìn)入該處即可捕獲,迫使其重新回到復(fù)位狀態(tài)。
5 結(jié)束語
實(shí)踐證明,只要對單片機(jī)系統(tǒng)實(shí)行總體抗干擾設(shè)計(jì),就可保障它在工作環(huán)境惡劣的條件下可靠運(yùn)行。
電焊機(jī)相關(guān)文章:電焊機(jī)原理 隔離器相關(guān)文章:隔離器原理
評論