徐靖
(梧州市第二職業中等專業學校,廣西梧州,543500)
目前,單片機及其集成系統正朝著自動化、高度化和集成的發展方向迅猛發展,在我國現代電子工業中的自動化電源管理、家庭家用電器、智能化電器儀表等各個領域在其中的廣泛應用也越來越多,逐步成為企業進行舊電器設備的新技術改造、新型電子產品的設計研制和技術開發等重要的技術手段。然而,單片機的操作系統在實際工作運行中會經常遭遇自身軟件干擾或者來自外界的各種不同程度的硬件干擾,這些大的干擾對于整個系統輕則說會直接影響其溫度測量和自動控制的工作精度,重則甚至會直接導致系統工作臺和系統出現癱瘓。所以對一個獨立的大型單片式電機系統而言,其正常工作的可靠性與系統的正常抵御抗干擾時的功能息息相關,為了有效提高系統的正常工作安全性和可靠性,必須有效地抑制各類的干擾因素。
單片機自動化過程,控制管理系統中產生干擾的各種類型:產生干擾的類型主要劃分有很多種,通常可以根據電機噪聲在控制系統中運動產生的主要原因、傳導運動方式、波形狀態特征等對其干擾進行不同類型的劃分。按其可能產生的主要影響力和原因進行劃分:又分別可以細致地分為放電噪聲音、高頻振蕩噪聲、浪涌噪聲。按其中的傳導驅動方法不同來進行區分:通常可以比較細化稱為共模噪聲和串模噪聲。按其脈沖波形序列來進行劃分:根據脈沖連續電壓序列可以比較細化分為持續正弦波、脈沖電壓、脈沖序列等。
由于單片機系統大部分都是采用市電,個別是采用電池方式供電,極易遭受由于各種原因所造成的電網頻率波動所帶來的干擾,從而導致系統的工作不穩定或者是出現”死機”的現象。
例如,可以考慮采取幾種措施抑制開關電源的干擾:第一,選擇采用開關式電源進行供電。第二,對直流電源進行濾波,對于穩定的直流電源,應用濾波技術。通過在芯片上為每一種電源添加一個額外的電容,并為直流電源和接地線添加一個額外的電感。
在目前單片式電機系統中主要使用的有有線模擬地和數碼地兩種地線。由于數字模擬地與數字電網直接串聯相連,為”火地”,故其不僅會容易受到直接串入模擬電網內部電路中的各種諧波干擾。而且對于數字地還會富含各種高次頻率諧波并且還可以具有較強的電磁輻射干擾效應。若與仿真模擬地直接接通,這就可能會對自動模擬微型數字信號系統造成較大干擾,所以當模擬頻率的峰值長度小于10mhz時可以選擇一點接地,當模擬頻率的峰值長度大于10mhz時可以選擇多點接地。
例如,數字地與模擬地互相分開、交流地與信號地不同時使用、采用系統式浮地,機殼間互相聯結用以保護整塊土地,其中作為保護地的土地部位即分為水平地和大地。該檢測傳感器的浮地信號之間接地距離采取浮地高空間距自動隔離,并且用戶可以直接采用先進的三線式自動采樣雙層屏浮地技術。
合理的布線和合理的結構布局可以提高整個系統的抗干擾性能。例如,首先在對電路板進行布線時,注意把模擬地和信號地分開,并且兩者都要單點相接。其次,盡量多一些加粗的地線。第三,在布局過程中要注意強、弱電的分離,特別重要的是設備在系統中所采樣的信號都要取自220v的交流電,更重要的是應該充分注意防止交流的干擾和高壓放電。
光電信號隔離系統技術主要原理是通過一個光電耦合器將所有信號發出輸入的中間通道,與外部中央處理器的單元通道進行電子信號隔離,光電耦合器把所有信號發出輸入的發光通道經一個發光二極管進行改變而形成光敏電信號,然后再由內部的一個三極管進行改變而形成一個電子輸出信號,將所有信號輸入均為電子信號輸出,因而也就完全被稱為,電子輸出隔離了對于信號輸入、輸出之間的不同信號干擾。
例如,其通過光電信號直接通信,實現有用數據和相關信號的正常運輸傳送,是一種良好的有效抵御電磁干擾和高性能的通信措施,因而在現代工業通信領域已經得到廣泛的技術研究和廣泛應用。本過程的控制系統中所需要使用的光電耦合器可以實現直接傳輸光電信號,起到隔離電磁干擾的功能。
軟件以系統及其應用為基礎,實時監測系統運行狀態的控制電路或定時軟件稱為“看門狗”定時電路或“看門狗”定時器。看門狗工作控制電路的基本原理是,在系統正常運行的整個過程中,每一個固定的工作時間都會給看門狗一個控制信號,表示系統正常運行。
例如,如果長時間內系統超過這一工作時間而仍然沒有正常發送報警信號,就只能說明這個系統已經完全處于運行失控狀態。于是”看門狗”上的控制電路板就會自動地對其產生一個自動復位的中斷信號,從而自動使得整個系統中斷停止自動復位,或者會自動產生中斷請求,使得整個系統可以停止運行來重新執行中斷過程,以便及時處理當前發生的系統故障。

圖1 單片機看門狗電路
指當單片機系統受到軟件干擾后,有時候可能會直接造成應用程序的失控,引起整個應用程序亂飛,甚至可能會直接導致應用程序系統陷入死循環。看門狗的圖像技術原理可以不斷地通過圖像監視系統正常運行的程序時間,若在系統正常運行時間內沒有看到看門狗發出指令,就可以自動認為整個系統已經進入死機狀態,看門狗立刻將程序CPU自動進行復位,強迫整個程序重新慢慢返回至0000h處,在0000h處又重新安排一段錯誤的處理程序,使得整個系統的正常運行重新恢復至正常,以上便是程序的主要工作處理流程。
例如,軟件看門狗一般可能需要自動占用單片機系統的定時器,在51系列中可以占用T0和T1,并且在主程序中,可能需要根據定時器的溢出中斷周期來中斷定時器程序。一旦子程序被中斷接收并受到中斷的干擾,定時器程序將自動初始化。然后在子程序故障中斷后需要手動設置沒有錯誤跳轉指令,將自動中斷的執行所有數據轉移到故障子程序,在每個沒有錯誤子例程執行可能需要完成初始化過程,使子程序從頭開始執行。
軟件陷阱就是通過引導指令把亂碼程序直接引向一個復位入口地址0000h處,在此處把亂飛程序進行引導直接轉向一個專門針對亂飛程序的錯誤出錯率等情況,及時進行處理的新程序,使亂飛程序錯誤能被完全納入正規,實現的主要途徑就是程序可在亂飛程序數據存儲器的未被指定使用條件區域中,直接加上若干條空白的操作程序指令和一些無條件程序跳轉操作指令,用技術手段把亂飛程序從無條件指令直接轉向復位入口。例如,在0202h以后的應用程序填充區域內未被使用,可在該時的應用程序填充區域內通過使用NOP和LJMP兩個程序指令集來進行程序填充。
開機啟動自檢程序,一般來說是由對主機ram、rom、i/o口運行狀態的四個檢測程序組成。在一個應用程序的系統編制中,通常可將它的ram或rom分區中的所有分區內容按照一定的順序分區數據順序進行存放,在保證應用程序正常執行的初始或中間幾個階段執行過程中往往會對這些分區數據順序進行一次數據比較和檢查,若發現分區數據順序有誤,則可能需要再次刷新重寫這些分區的數據。
系統的設計和開發人員應從有效抑制干擾源、切斷其他干擾傳遞途徑、增強敏感元件的抵御和抗干擾特性等多個方面著手。在對抗干擾的設計中,軟件的抗干擾一般都是被動的措施,而硬件的抗干擾則是主動的措施,只要認真分析系統內部及所處環境中的干擾產生來源和其傳播的途徑,采用二者相互結合的技術和手段,就能有效保證整個系統長期、穩定可靠地正常運行。