單片機系統(tǒng)應用中的抗干擾措施
1主要干擾渠道及防護措施
工業(yè)生產中的干擾一般都以脈沖形式進入微機,干擾竄入系統(tǒng)的渠道主要有三條,即供電系統(tǒng);過程通道;空間磁場。
通常防護措施如下:
(1)供電系統(tǒng)
在微機系統(tǒng)中,最嚴重的干擾來源為電源的污染。為了防止從電源系統(tǒng)引入的干擾,一是要將微機的供電與大功率的用電設備的電源分開,最好單獨供電;二是在單片機系統(tǒng)電源變壓器的初級串接一低通濾波器(如圖1所示),有效阻止高次諧波串入系統(tǒng),改善電源波形,提高單片機系統(tǒng)的抗干擾能力。
(2)輸入輸出通道
輸入輸出通道是單片機與傳感器、單片機與上位機以及單片機與執(zhí)行機構之間的信息傳送的路徑。在微機系統(tǒng)中,傳輸線上的信息多為脈沖波和較弱的測量信號電壓,在長線傳輸時會產生衰減、延時、畸變。信號隔離是抵抗外界干擾的必要而有效的措施,它隔斷外界的共模電壓和外界串入的電磁干擾,從而保證單片機的工作環(huán)境,使整個系統(tǒng)正常運行。
(3)屏蔽和接地
用鋼板做機殼將單片機系統(tǒng)屏蔽起來,再將外殼接地,防止電磁干擾從空間侵入。
2提高系統(tǒng)的容錯能力
為了提高系統(tǒng)的抗干擾能力,一是增強防護能力,盡量阻止干擾侵入;另一是增強容錯能力,及時發(fā)現侵入的干擾并迅速采取相應措施,將影響減到最小。
2.1程序運行監(jiān)視系統(tǒng)
程序運行監(jiān)視系統(tǒng)又稱“看門狗”,是一種有效的防止微機系統(tǒng)死機的電路。部分單片機(80C552等)片內就包括“看門狗”電路;程序運行監(jiān)視系統(tǒng)也可用專用硬件電路實現。一旦“看門狗”電路被啟動,在規(guī)定的時間內沒有收到CPU發(fā)出的清零脈沖,“看門狗”電路將向CPU發(fā)出“復位”脈沖。
2.2硬件標志
在很多工業(yè)控制系統(tǒng)中,系統(tǒng)的啟動是按一定的順序進行的,并且不允許設備中途重新按這個順序啟動。一旦單片機系統(tǒng)復位,必須準確判斷是否為上電復位。由于失控的程序常常會非法寫操作,因而軟件標志可靠性較低。在可靠性要求高的場合,通常設立硬件上電標志(圖2所示)。
硬件標志電路工作原理為(圖3):當微機系統(tǒng)上電時,復位脈沖同時將“D”觸發(fā)器Q端置“1”。初始化程序檢查P4.1位為“1”,則執(zhí)行冷啟動程序,并通過P4.0向D觸發(fā)器發(fā)出時鐘脈沖,使Q端為“0”,完成硬件標記確認并建立軟件標志。微機系統(tǒng)投入正常運行后,一旦系統(tǒng)再次重新啟動(熱啟動),此時有兩種情況:
(1)按下“復位”鍵引起系統(tǒng)復位。由于在按下“復位”鍵的同時,將圖2的D觸發(fā)器Q端置“1”,初始化程序檢查結果為硬件標志無效而軟件標志有效,系統(tǒng)是正常復位,程序轉向熱啟動。
(2)由于“看門狗”引起的系統(tǒng)復位。初始化程序檢查結果為硬件標志有效(圖2的D觸發(fā)器Q端保持為“0”),系統(tǒng)是異常復位。初始化程序將轉向異常處理程序。
由此可見,微機系統(tǒng)能夠準確的判斷出引起復位的原因,從而采取相應的處理程序,有效地提高了系統(tǒng)的可靠性。
2.3重要數據保存器
在工業(yè)控制裝置中,有一些重要的數據,像從鍵盤輸入的控制目標值,P、I、D調節(jié)參數以及從上位機傳送來的各種指令等,必須妥善保存。由于失控的程序常常非法進行寫操作,使RAM區(qū)中重要的信息丟失。當微機系統(tǒng)重新啟動后,必須正確恢復重要參數。因此,單片機系統(tǒng)設計中加入一片串行E2PROM芯片93C46。每次單片機系統(tǒng)設置完成后,程序自動將重要參數寫入93C46。由于93C46具有上電禁寫和軟件禁寫功能,因而數據保存可靠。
3軟件抗干擾措施
3.1使用空操作指令
MCS-51指令系統(tǒng)中有部分雙字節(jié)和三字節(jié)指令,當程序彈飛落到這些指令的操作數上時,將把操作數當成指令,產生錯誤的結果。因而,在程序中重要的地方(如跳轉、調子程序)等插入兩條空操作指令,可攔截彈飛的程序并轉入正常。
3.2建立軟件陷阱
所謂“軟件陷阱”就是在程序中加入的一組用于攔截彈飛程序的程序段。它強行將程序轉向一個特定的地址,該地址放有出錯處理程序。如果將出錯處理程序的入口標號命名為“ERR”的話,通常軟件陷阱由以下三句話組成:
一旦彈飛的程序被攔截,立刻轉向錯誤處理程序。
3.3出錯處理程序
錯誤處理程序的共同點是先關閉中斷,防止事態(tài)擴大。對于有“看門狗”電路的系統(tǒng)來講,等待復位即可。而軟件復位和硬件“看門狗”復位不同。此時CPU片內的寄存器和I/O口狀態(tài)是不定的。所以錯誤處理程序在轉向程序起點前,要將CPU片內的各寄存器、已激活的中斷標志和I/O口“軟件”復位,進入初始狀態(tài),再轉入程序起點。
3.4其他措施
在用單片機組成的控制系統(tǒng)中,調節(jié)量的輸出是不斷變化的。單片機系統(tǒng)受到干擾而異常復位后,RAM區(qū)中的標志單元、輸出量緩沖單元和I/O口的狀態(tài)都可能改變,不能作為系統(tǒng)復位后的狀態(tài)恢復數據。這時可以手動給定量作為當前控制器輸出量。這些措施可有效的減少單片機異常復位后對整個系統(tǒng)帶來的擾動。
4結束語
微機系統(tǒng)抗干擾設計是一項綜合性設計,采用硬件措施可有效提高微機控制系統(tǒng)的抗干擾能力,但過多的硬件本身就降低了系統(tǒng)的可靠性。因而系統(tǒng)的設計要“軟”“硬”兼施,提高系統(tǒng)的防護和容錯能力,從而提高單片機系統(tǒng)的可靠性。
參考文獻
[1]俞忠原,陳一民.工業(yè)過程控制計算機系統(tǒng)[M].北京:北京理工大學出版社,1995.
[2]張友德.飛利浦80C51系列單片機原理與應用技術手冊[M].北京:北京航空航天大學出版社,1992.





