電子儀器設(shè)備的抗干擾技術(shù)是一個廣泛而深刻的領(lǐng)域。大多數(shù)電子設(shè)備的工作環(huán)境往往相對較差,干擾嚴(yán)重,這將嚴(yán)重影響設(shè)備的正常運行,使其不能正常運行,如空調(diào)在高溫、大電流、強干擾(電機)環(huán)境中工作。因此,為了確保這些設(shè)備能夠在實際應(yīng)用中可靠地工作,電子產(chǎn)品制造商必須仔細(xì)考慮和解決抗干擾問題。除了考慮硬件上的抗干擾問題外,我們還可以在軟件上采取一些抗干擾措施,以提高系統(tǒng)的抗干擾能力。下面簡要介紹了幾種抗干擾措施,發(fā)揮了吸引玉石的作用,希望同事能在工作中應(yīng)用和改進(jìn)。
1.數(shù)字輸入輸出中的軟件抗干擾
數(shù)字量輸入過程中的干擾作用時間較短,因此在采集數(shù)字信號時可以重復(fù)多次采集,直到幾次采樣結(jié)果一致。例如通過A/D當(dāng)轉(zhuǎn)換器測量各種模擬量時,如果對模擬信號有干擾作用,就會使轉(zhuǎn)換器A/D偏離真實值的轉(zhuǎn)換結(jié)果。這個時候如果只采樣一次A/D如果轉(zhuǎn)換結(jié)果,就不可能知道它是否真實可靠,但必須進(jìn)行多次采樣才能得到一個A/D數(shù)據(jù)系列轉(zhuǎn)換結(jié)果,對這一系列數(shù)據(jù)進(jìn)行各種數(shù)字濾波處理,Z之后可以得到更高可信度的結(jié)果值。如果同一數(shù)據(jù)點多次采樣后獲得的信號值變化不確定,則表明此時干擾特別嚴(yán)重,超出允許范圍,應(yīng)立即停止采樣并發(fā)出報警信號。如果數(shù)字信號屬于開關(guān)量信號,如限位開關(guān)、操作按鈕等。,那么平均值不能通過多次采樣來采樣,但每次采樣的結(jié)果必須jue對一致。此時,可以編制采樣子程序。該程序設(shè)置了采樣成功和采樣失敗的標(biāo)志。如果對相同的開關(guān)量信號進(jìn)行多次采樣,且采樣結(jié)果完全一致,則成功標(biāo)記位置;否則,失敗的標(biāo)志位置。程序的流向可以通過判斷這些符號來確定。
許多由單片機開發(fā)和控制的電子產(chǎn)品制造商設(shè)備的外部輸出控制信號以數(shù)字量的形式出現(xiàn)。單片機給出正確的數(shù)據(jù)后,輸出裝置可能會因外部干擾而獲得更改的錯誤數(shù)據(jù),從而導(dǎo)致輸出裝置的錯誤動作。對于數(shù)字輸出軟件,抗干擾Z的有效方法是重復(fù)輸出相同的數(shù)據(jù),重復(fù)周期應(yīng)盡可能短。這樣,輸出裝置在獲得干擾錯誤信號后沒有時間反應(yīng),并且再次出現(xiàn)正確的信號,從而防止誤操作。
在程序結(jié)構(gòu)中,輸出過程可以安排在監(jiān)控周期中。如果循環(huán)周期盡可能短,可以有效防止輸出設(shè)備的錯誤動作。需要注意的是。在這種安排之后,輸出功能是作為一個完整的模塊執(zhí)行的,這與這種重復(fù)的輸出措施相對應(yīng)。在軟件設(shè)計中,還必須為每個外部輸出設(shè)備建立一個輸出臨時存儲單元,每次將輸出結(jié)果存儲在臨時存儲單元中,然后調(diào)用輸出功能模塊逐個輸出每個臨時存儲單元的數(shù)據(jù),無論數(shù)據(jù)是新發(fā)送的還是以前存在的。通過這種方式,每個外部設(shè)備都可以不斷地獲取控制數(shù)據(jù),從而使干擾造成的錯誤狀態(tài)無法維持。在執(zhí)行輸出功能模塊時,還應(yīng)重置輸出接口芯片的初始狀態(tài)。因為干擾的作用可能會改變這些芯片的工作模式來控制單詞,而不能實現(xiàn)正確的輸出功能,從而確保輸出功能的正確實現(xiàn)。
二、程序執(zhí)行過程中的軟件抗干擾
以上是針對輸入和輸出通道的,干擾信號尚未作用于CPU本身,CPU各種抗干擾程序也可以正確執(zhí)行。如果通過某種方式作用了干擾信號CPU上,則CPU你不能按照正常狀態(tài)執(zhí)行程序,從而造成混亂常被稱為程序“跑飛”。程序“跑飛”一個簡單的方法就是讓它恢復(fù)正常CPU復(fù)位,讓程序從頭開始重新運行。手動復(fù)位電路設(shè)置在許多由單片機控制的設(shè)備中。手動復(fù)位通常是在整個系統(tǒng)完全癱瘓且無法完成的情況下進(jìn)行的。因此,在進(jìn)行軟件設(shè)計時,我們應(yīng)該考慮程序“跑飛”應(yīng)使其能自動恢復(fù)正常運行。
程序“跑飛”之后,一些操作數(shù)通常作為指令代碼執(zhí)行,導(dǎo)致整個程序混亂。“指令冗余”是使“跑飛”一種恢復(fù)程序正常的措施。“指令冗余”在一些關(guān)鍵位置人工插入一些單字節(jié)空操作指令NOP。當(dāng)程序“跑飛”當(dāng)涉及到單字節(jié)指令時,不會出現(xiàn)將操作數(shù)作為指令執(zhí)行的錯誤。MCS對于51單片機,所有指令不超過3個字節(jié),因此在指令前插入兩個字節(jié)NOP對于指令,指令不會被前面失控的程序分解,而是會完全執(zhí)行,從而使程序重新進(jìn)入正常軌道。通常在一些對程序流動起關(guān)鍵作用的指令前面插入兩個指令NOP指令。應(yīng)該注意的是,在一個程序中“指令冗余”不能用太多,否則會降低程序的執(zhí)行效率。
采用“指令冗余”使“跑飛”有條件復(fù)正常是有條件的,首先,“跑飛”程序必須落在程序區(qū)域,然后必須執(zhí)行設(shè)置的冗余指令。“跑飛”非程序區(qū)域(如EPROM未使用的空間或某些數(shù)據(jù)表等。),或者在執(zhí)行冗余指令之前形成一個死循環(huán),然后,“指令冗余”不能采取措施“跑飛”這個程序已經(jīng)恢復(fù)正常了。此時可采用另一種軟件抗干擾措施,即腸胃“軟件陷阱”?!败浖葳濉边@是一個引導(dǎo)指令,強行將被捕獲的程序引導(dǎo)到一個指定的地址,在那里有一個程序來處理錯誤。
聯(lián)系人:汪先生
手 機:13818541390
座 機:0512-36874515
網(wǎng) 址:www.ksxxdz.com
地 址:江蘇省昆山市花橋鎮(zhèn)花安路169號中寰廣場寫字樓935室