




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、單片機測控系統(tǒng)軟件抗干擾技術(shù)研究摘要:軟件抗干擾措施是單片機測控系統(tǒng)硬件抗干擾措施的一個補充和延伸 ,具有簡單、靈活、方便、耗費硬件資源少及容易實現(xiàn)等特點。軟件抗干擾技術(shù)的使用會顯著提高系統(tǒng)的可靠性。本文著重討論了測控系統(tǒng)中的軟冗余技術(shù)、軟件陷阱技術(shù)以及“看門狗”數(shù)字濾波技術(shù),重點介紹了實時測控系統(tǒng)軟件運行的自監(jiān)視法和互監(jiān)視法,并給出了軟件抗干擾的其他一般方法。1 緒論單片機測控系統(tǒng)設(shè)計中,對軟件有以下幾個方面的基本要求:(1) 可維護性:要求盡可能地采用模塊化設(shè)計,程序流程清晰明了,最大限度地控制使用和調(diào)用嵌套次數(shù);(2) 可理解性:軟件源代碼應(yīng)注意加注提示內(nèi)容,一般應(yīng)不少于整個代碼行數(shù)的
2、60,使其易于理解和閱讀,便于修改和補充;(3) 實時性:隨著集合度和運算速度的提高,實時性已經(jīng)成為測試系統(tǒng)對軟件的普遍要求,在工程應(yīng)用軟件設(shè)計中,采用匯編語言要比采用高級語言更具有實時性;(4) 準確性:系統(tǒng)要求在進行大量運算時,要選取合適的算法,以便控制最后結(jié)果的精度;(5) 可靠性:可靠性是測控軟件最重要的指標之一,他要求兩方面的內(nèi)容:一方面是運行參數(shù)環(huán)境發(fā)生變化時(如電壓在規(guī)定范圍內(nèi)出現(xiàn)較大波動 ),軟件都能可靠運行并得出正確的結(jié)果,也就是軟件的自適應(yīng)性;另一方面是在工作環(huán)境惡劣,干擾環(huán)境復(fù)雜嚴重的情況下,軟件必須保證可靠運行,這對測控軟件尤為重要。為了保證以上兩方面的要求,就必須使用
3、多種抗干擾技術(shù)。2 單片機軟件抗干擾技術(shù)及一般方法2.1簡介軟件抗干擾技術(shù)是當系統(tǒng)受干擾后,使系統(tǒng)恢復(fù)正常運行或輸入信號受干擾后去偽存真的一種輔助方法。此技術(shù)屬于一種被動抗干擾措施,但是由于軟件抗干擾設(shè)計靈活,節(jié)省硬件資源,操作起來方便易行,所以軟件抗干擾技術(shù)越來越受到人們的重視。軟件抗干擾技術(shù)主要研究的方面:(1) 采取軟件的方法對疊加在模擬輸入信號上的噪聲進行抑制,以讀取真正有用的信息,如數(shù)字濾波器;(2) 在程序受到干擾 " 跑飛 "的情況下,采取措施使程序回到正常的軌道上來,常見的抗干擾技術(shù)有:軟件攔截技術(shù)( 軟件陷阱等 );輸人口信號重復(fù)檢測方法;輸出口數(shù)據(jù)刷新;
4、數(shù)字濾波;(3)程序具有自檢功能。2.2 軟件攔截技術(shù)指令使用單片機中最容易受到干擾的是內(nèi)部程序計數(shù)器 -PC 的值,當受到干擾時, PC 值被改變, CPU 誤將程序從正確位置跳轉(zhuǎn)到無意義區(qū)域,導(dǎo)致程序運行出錯。目前常用的方法是在對程序走向有重要作用的指令(RET,LCALL , SJMP, JC,LJMP , ACALL等 )之前加人2 3 個單字節(jié)的 NOP 指令,當失控的程序遇到該指令后得到調(diào)整,使接下來的程序得以正常執(zhí)行。從實際使用過程中總結(jié)可知,應(yīng)盡量多的使用 NOP 指令,而且發(fā)現(xiàn) NOP 指令成對使用時,能起到比較滿意的抗干擾效果。軟件陷阱(1)未使用的中斷區(qū)對于未使用的中斷源
5、因干擾而開放,從而直接影響軟件的正常工作的中斷源,采用的方法一般是在對應(yīng)的中斷服務(wù)地址入口處設(shè)置軟件陷阱,使其跳轉(zhuǎn)到程序入口,通常的軟件陷阱設(shè)置如下面的程序: 0RG 0003HLJMP 0000H ;主程序入口而在實際使用中,此種處理方法并不合適,特別是在系統(tǒng)聯(lián)試中,突然重新執(zhí)行程序的情況應(yīng)盡量避免。實際處理應(yīng)該是讓其進入一個信息處理程序,并顯示相關(guān)信息。這樣做既可以使程序捕捉到錯誤的中斷后,及時離開,又可以根據(jù)相關(guān)信息快速定位便于實驗順利進行。如程序所示,只有定時器 T0 中斷開放,對于可能影響程序的中斷,如外部中斷、定時器T1 中斷,在其中斷地址人口,均加上了軟件陷阱,使其跳轉(zhuǎn)到 ER3
6、8 這個故障處理程序,從而避免程序的 "跑飛 ",也便于判斷程序的走向。(2)未使用的 EPROM 空間當裝載軟件程序的存儲芯片為 27C64,其地址空間為 0000H 1FFFFH ,一般程序很少能夠用完,可填充 "FF" 。而 FFH 是 MOV R7,A 的機器碼,當程序亂入非程序區(qū)后,不僅無法轉(zhuǎn)入正軌,而且還會破壞 R7 的內(nèi)容,因此在實際使用過程對未使用的 EPROM 空間應(yīng)全部填充為 "0" ,因為程序復(fù)位入口地址為 0000H ,當 "跑飛 " 的程序指針跳至無程序處,可以讓其重新指向主程序入口,可以
7、起到防 " 跑飛 "的功能。(3)程序區(qū)為了保證可靠的運行,以及一旦發(fā)生 " 跑飛 " ,不但使其有出口而且便于判斷,實際應(yīng)用中在整個程序中設(shè)置了若干軟件陷阱,當程序進入陷阱后,讓其強制進入一個指定地址執(zhí)行一段專門對程序出錯進行處理的程序。通過實驗驗證和使用中的經(jīng)驗總結(jié),在外場軟件編寫中,軟件陷阱的設(shè)置,主要是在正常的程序流程中,在認為較為重要的程序段中,隨機設(shè)置若干個故障信息顯示程序區(qū),一方面是完成正常的故障信息的顯示,另一方面就是在程序 " 跑飛 "的情況下,通過故障信息的顯示,可以快速判斷"跑飛 ',的程序段,
8、從而使程序步入正軌。程序流程如圖1 所示。輸入口信號重復(fù)檢測方法對于重要開關(guān)量輸入信號的檢測,實際應(yīng)用中一般采用3 次或 5次重復(fù)檢測的方法,即對接口中的輸人數(shù)據(jù)信息進行重復(fù)進行 3次或 5 次檢測,若結(jié)果完全一致則認為是" 真 "的輸入信號,若多次測試結(jié)果不一致,即可以停止檢測顯示故障信息,又可以重復(fù)進行再檢測。對于軟件測量而言,輸入量干擾大多數(shù)是疊加到有效信號上的一系列作用時間短的尖脈沖,但是頻率不一致,因此應(yīng)在相鄰的檢測之間應(yīng)有一定的時間間隔。理論上可以是等時間段的,而在實際使用過程中,由于外部環(huán)境比較復(fù)雜,等時間段只能濾除某個頻段的干擾,為了濾除盡可能多的干擾,間隔
9、時間應(yīng)為不等的時間段,但是對數(shù)據(jù)影響較大的尖峰,通過觀察其波形可知,其作用的時間寬度在幾十到幾百s之間,所以把濾波時間限定ms 級上。在經(jīng)過使用和驗證,此方法可以有效地保證軟件可靠運行。需要注意的是,對于軟件時序要求比較嚴格場合,延時查詢時間不宜過長,查詢次數(shù)一般以3 次為宜。輸出端口數(shù)據(jù)刷新開關(guān)量輸出軟件抗干擾技術(shù)主要采用的方法是重復(fù)輸出,這是提高輸出端口穩(wěn)定性的有效措施之一。外場設(shè)備的微機系統(tǒng)為51 單片機系統(tǒng),采用了8155,8255 可編程I/O 擴展芯片,理論上只在上電啟動時,進行初始化一次即可。但是在實際使用中發(fā)現(xiàn),由于干擾等原因,可使芯片的工作控制字遭到破壞,從而使系統(tǒng)輸入輸出狀
10、態(tài)混亂的情況時有發(fā)生,因此,在讀取重要信號之前,先對 8155,8255 進行初始化操作,通過一段時間軟件運行,穩(wěn)定度大大提高,但是狀態(tài)混亂情況仍有發(fā)生,經(jīng)過分析數(shù)據(jù)特點和系統(tǒng)要求后,認為 8155、 8255 允許多次設(shè)置狀態(tài)字、控制字等,而且對系統(tǒng)并無不良影響。因此,在實際應(yīng)用中,用到 8255 和 8155 之前均首先進行初始化操作,然后再進行狀態(tài)的讀取和寫入。通過長時間實驗和聯(lián)試,不再出現(xiàn)此類問題,軟件運行穩(wěn)定可靠。另外應(yīng)注意,在重復(fù)設(shè)置8255, 8155 芯片時,一定要將其工作方式、控制字一起設(shè)置,方可確保軟件可靠工作。數(shù)字濾波為了克服干擾對 A/D 轉(zhuǎn)換結(jié)果的影響,可根據(jù)情況采取
11、相應(yīng)的數(shù)字濾波技術(shù)。數(shù)字濾波的方法很多,如有中值濾波法、平均值濾波法等,經(jīng)過對不同濾波法的實際使用和實驗驗證,認為采用防脈沖干擾平均值濾波法,抗干擾效果比較明顯。普通的平均值濾波,在干擾十分嚴重的場合,所得到的平均值中干擾的成分仍比較大,不易消除由于脈沖干擾而引起的誤差。而防脈沖干擾平均值濾波是在采集的N 個數(shù)據(jù)中,去掉數(shù)據(jù)中的最大值和最小值,然后計算N-2 個數(shù)據(jù)的算術(shù)平均值。在實際應(yīng)用中,此法主要是用在AD 值的檢測上,由于外場設(shè)備中AD采集值判定,直接影響此設(shè)備能否投入使用,所以對所采AD值的可靠性要求高,采用此濾波法后,通過仿真可以清楚看出,在某些特定的情況下, AD 采集值波動較大,
12、但此法可以有效地避免了 CPU 對采集值的誤判,使軟件得以可靠運行。此程序完成的主要功能是調(diào)用A/D 測量輸入子程序ACD將循環(huán)采集的6 個 AD 值,放在70H 至 75H 的寄存器中, RO記錄采集次數(shù),70H 和 75H 分別放置最大值和最小值,去除最大值和最小值后,將其余4 個值求算術(shù)平均數(shù),以得到的值為最終AD 采集值放在68H 寄存器中。, 為程序自檢程序自檢是提高測控軟件可靠性的有效方法之一。在實際應(yīng)用中,自檢程序主要是對單片機系統(tǒng)的主要器件如 8031 的 I/O 口、外部擴展的可編程 I/O 接 VI 芯片、 A/D 器件、 ROM 器件等進行檢測,如出現(xiàn)故障能夠給出故障部位
13、。因此自檢程序不但可以了解與測試相關(guān)外設(shè)的工作情況,而且可避免因外設(shè)原因而使測控系統(tǒng)不能正常工作的干擾。2.3 實時控制軟件運行過程中的自監(jiān)視法基本概念自監(jiān)視法是工業(yè)控制計算機自己對自己的運行狀態(tài)的監(jiān)視。一般的工控機 CPU 內(nèi)部具有 Watchdog Timer ,使用定時中斷來監(jiān)視程序運行狀態(tài)。定時器的定時時間稍大于主程序正常運行一個 循環(huán)的時間,在主程序運行過程中執(zhí)行一次定時器時間常數(shù)刷新操作。這樣,只要程序正常運行,定時器不會出現(xiàn)定時中斷。而當程序運行失常,不能及時刷新定時器時間常數(shù)而導(dǎo)致定時中斷,利用定時中斷服務(wù)程序?qū)⑾到y(tǒng)復(fù)位。在8031 應(yīng)用系統(tǒng)中作為軟件抗干擾的一個事例,具體做法
14、是:* 使用 8155 的定時器所產(chǎn)生的 “溢出 ”信號作為 8031 的外部中斷源INT1。用555 定時 器作為8155中定時器的外部時鐘輸入;* 8155 定時器的定時值稍大于主程序的正常循環(huán)時間;* 在主程序中,每循環(huán)一次,對8155 定時器的定時常數(shù)進行刷新;* 在主控程序開始處,對硬件復(fù)位還是定時中斷產(chǎn)生的自動恢復(fù)進行分類判斷處 理。然而,這并不等于萬無一失。例如,Watchdog 電路本身失效;設(shè)置Watchdog 的指令正好在取指令時被干擾而讀錯; Watchdog “發(fā)現(xiàn) ”程序跑飛之后,其產(chǎn)生的復(fù)位脈沖或者NMI申請信號正好被干擾而沒奏效等等。雖然以上的導(dǎo)致Watchdog
15、數(shù)量的工業(yè)控制計算機沒有Watchdog 電路。因此,以下重點討論的軟件自監(jiān)視法就勢在必行了。隨時監(jiān)督程序計數(shù)器PC 值計算機正常運行,其PC值一定在程序區(qū)內(nèi)。如果PC值跑出程序區(qū),計算機肯定已發(fā)生了程序跑飛。檢查程序計數(shù)器PC值是否在程序區(qū)內(nèi)的方法,是在一個經(jīng)常要產(chǎn)生外部中斷的某個中斷服務(wù)程序中,讀取轉(zhuǎn)入該中斷時壓入堆棧的斷點地址。如果該地址在程序區(qū)內(nèi),則認為PC 值正常,否則一定是程序跑飛了。此時,程序跳轉(zhuǎn)到機器的重啟動入口或者復(fù)位入口,機器重新啟動。于是機器又自救活了。如果沒有一個這樣合適的中斷源,可以專門設(shè)置一個定時中斷或者幾個定時中斷,在中斷服務(wù)程序中檢查 PC 值是否合法,一旦發(fā)現(xiàn)
16、不對就立即轉(zhuǎn)入機器的重啟動入口。定時器中斷的時間常數(shù),可視機器的繁忙程度和重要性設(shè)定,一般從幾個毫秒到幾十毫秒都可以。這個方法的局限性是不能查出PC 值在程序區(qū)內(nèi)的亂跳,即此時 PC 值雖受干擾卻并沒有超出程序區(qū),而是錯位亂拼指令而構(gòu)成一些莫名其妙的操作,或者死循環(huán)。主循環(huán)程序和中斷服務(wù)程序相互監(jiān)視每個工控機的主循環(huán)程序和中斷服務(wù)程序都有一定的運行規(guī)律可循。因此可以設(shè)計出主循環(huán)程序與各中斷服務(wù)程序、各中斷服務(wù)程序之間的相互監(jiān)視。每個監(jiān)視對要定義一個RAM單元,依靠對其計數(shù)/清零的方法表達相互監(jiān)視信息。例如,某工控機的主循環(huán)程序循環(huán)一次最長時間為80 ms,它的一個定時中斷時間常數(shù)為 10 ms
17、,當我們安排該定時中斷監(jiān)視主循環(huán)程序運行時,可以每次 10 ms 中斷對該 RAM 單元加計數(shù),而主循環(huán)程序每循環(huán)一次對該 RAM 單元清零。因此,正常運行時,這個監(jiān)視計數(shù) RAM 單元的計數(shù)值不可能 ,如果 10 ms 定時中斷服務(wù)程序發(fā)現(xiàn)其計數(shù)值 ,就知道主循環(huán)程序已經(jīng)被干擾跑飛或出現(xiàn)死循環(huán),于是就跳轉(zhuǎn)到機器的重啟動入口,重新恢復(fù)運行。使用這個方法,如果設(shè)計得當?shù)脑?,是非常有效的。我們多年的?jīng)驗是:主循環(huán)程序被干擾跑飛可能性最大,中斷服務(wù)程序越短小越不易跑飛。主循環(huán)程序和中斷服務(wù)程序以及中斷服務(wù)程序之間的相互監(jiān)視,應(yīng)當多設(shè)計幾個監(jiān)視對會更好。隨時校驗程序代碼的正確性工業(yè)控制計算機的實時控制
18、程序代碼通常都采用EPROM 固化運行,一般不易發(fā)生被改寫的情況。但成年累月運行,我們有時也會發(fā)現(xiàn)極個別的單元出錯。其原因可能是芯片質(zhì)量問題或者因靜電、雷擊干擾等造成的改寫。程序出錯了,將直接造成運行錯誤或者無法運行。校驗的方式可以采用累加和校驗或者 BCH 校驗(一種 CRC 校驗方法)。當采用 BCH 校驗時,其分組附加的冗余字節(jié)可以集中在程序區(qū)之外的某個 EPROM 區(qū)域里。校驗方法是在某個短小而且經(jīng)常發(fā)生的中斷服務(wù)程序內(nèi)安排一個校驗?zāi)K,可以設(shè)計成每次循環(huán)校驗一部分程序代碼,分若干次校驗完成;或者當代碼少,任務(wù)輕松時也可以一次校驗完。如果發(fā)現(xiàn)校驗錯,應(yīng)當立即向工控網(wǎng)絡(luò)主站報告或者以自身
19、報警的辦法告知操作人員,以便及時處理。這個方法的局限性是被損壞的程序代碼不是校驗程序塊,而且以該中斷還可以正常響應(yīng)為前提。由于該中斷服務(wù)程序短小,通常還是有很大的概率自監(jiān)視程序代碼的正確性。隨時校驗 RAM 的正確性在實時控制過程中,干擾造成比較嚴重的危害之一就是沖毀 RAM 中的數(shù)據(jù),由于 RAM 中保存的是各種原始數(shù)據(jù)、標志、變量等,如果被破壞,會造成系統(tǒng)出錯或無法運行,根據(jù)數(shù)據(jù)被沖毀的程度,一般可分為三類:* 整個 RAM 數(shù)據(jù)被沖毀;* RAM 中某片數(shù)據(jù)被沖毀;* 個別數(shù)據(jù)被沖毀。因此需要經(jīng)常監(jiān)視 RAM 的正確性。在工業(yè)控制系統(tǒng)中, RAM 的大部分內(nèi)容是為了進行分析、比較而臨時存
20、放的,不允許丟失的數(shù)據(jù)只占極少部分。在這種情況下,除了這些不允許丟失的數(shù)據(jù)外,其余大部分內(nèi)容允許短時間被破壞,最多只引起系統(tǒng)的一個很短時間的波動,很快能自動恢復(fù)正常。因此,在工控軟件中,只要注意對少數(shù)不允許丟失的數(shù)據(jù)保護,一般常用的方法有 “校驗法 ”和 “設(shè)標法 ”。這兩種方法各有千秋,校驗法比較繁鎖,但查錯的可信度高。設(shè)標法簡單,但對數(shù)據(jù)表中個別數(shù)據(jù)沖毀的情況,查錯則無難為力。在編程中一般應(yīng)綜合使用,其具體做法為:* 將 RAM 工作區(qū)重要區(qū)域的始端和尾端各設(shè)置一個標志碼 “ 0”或 “ 1;”* 對 RAM 中固定不變的數(shù)據(jù)表格設(shè)置校驗字。在程序的執(zhí)行過程中,每隔一定的時間通過事先設(shè)計的
21、查錯程序來檢查其各標志碼是否正常,如果不正常,則利用數(shù)據(jù)冗余技術(shù)通過抗干擾處理程序來進行修正;冗余數(shù)據(jù)表的一般設(shè)計原則是:* 各數(shù)據(jù)表應(yīng)相互遠離分散設(shè)置,減少冗余數(shù)據(jù)同時被沖毀的概率。* 數(shù)據(jù)表應(yīng)盡可能遠離棧區(qū),減少由于操作錯誤造堆棧被成數(shù)據(jù)沖的可能 。上述對 RAM 區(qū)域的恢復(fù)處理方法,在不同的應(yīng)用系統(tǒng)中應(yīng)根據(jù)的具體情況進行取舍3 實時控制系統(tǒng)的互監(jiān)視法在實時控制系統(tǒng)中,人們關(guān)注的問題是能否確保正常的控制狀態(tài)。如果干擾進入系統(tǒng),會影響各種控制條件、造成控制輸出失誤。為了確保系統(tǒng)安全可以采取下述軟件抗干擾措施:3.1.軟件冗余CPU 取指令過程是先取操作碼,再取操作數(shù)。當PC 受干擾出現(xiàn)錯誤,
22、程序便脫離正常軌道“亂飛”,當亂飛到某雙字節(jié)指令,若取指令時刻落在操作數(shù)上,誤將操作數(shù)當作操作碼,程序?qū)⒊鲥e。若“飛”到了三字節(jié)指令,出錯機率更大。在關(guān)鍵地方人為插入一些單字節(jié)指令,或?qū)⒂行巫止?jié)指令重寫稱為指令冗余。通常是在雙字節(jié)指令和三字節(jié)指令后插入兩個字節(jié)以上的 NOP。這樣即使亂飛程序飛到操作數(shù)上,由于空操作指令NOP的存在,避免了后面的指令被當作操作數(shù)執(zhí)行,程序自動納入此外,對系統(tǒng)流向起重要作用的指LCALL 、 LJMP 、 JC 等指令之前插入兩條正軌。令如RET、RETI 、NOP,也可將亂飛程序納入正軌,確保這些重要指令的執(zhí)行。對于條件控制系統(tǒng),將控制條件的一次采樣、處理控制
23、輸出,改為循環(huán)采樣、處理控制輸出。這種方法具有良好的抗偶然因素干擾作用。3.2.攔截技術(shù)所謂攔截,是指將亂飛的程序引向指定位置,再進行出錯處理。通常用軟件陷阱來攔截亂飛的程序。因此先要合理設(shè)計陷阱,其次要將陷阱安排在適當?shù)奈恢?。軟件陷阱的設(shè)計當亂飛程序進入非程序區(qū),冗余指令便無法起作用。通過軟件陷阱,攔截亂飛程序,將其引向指定位置,再進行出錯處理。軟件陷阱是指用來將捕獲的亂飛程序引向復(fù)位入口地址 0000H 的指令。通常在 EPROM 中非程序區(qū)填入以下指令作為軟件陷阱:NOPNOPLJMP 0000H其機器碼為0000020000。陷阱的安排通常在程序中未使用的 EPROM 空間填 0000
24、020000。最后一條應(yīng)填入 020000,當亂飛程序 落到此區(qū),即可自動入軌。在用戶程序區(qū)各模塊之間的空余單元也可填入陷阱指令。當使用的中斷因干擾而開放時,在對應(yīng)的中斷服務(wù)程序中設(shè)置軟件陷阱,能及時捕獲錯誤的中斷。如某應(yīng)用系統(tǒng)雖未用到外部中斷 1,外部中斷 1的中斷服務(wù)程序可為如下形式:NOPNOPRETI返回指令可用“ RETI ”,也可用“LJMP 0000H ”。如果故障診斷程序與系統(tǒng)自恢復(fù)程序的設(shè)計可靠、 完善,用“LJMP 0000H ”作返回指令可直接進入故障診斷程序,盡早地處理故障并恢復(fù)程序的運行考慮到程序存貯器的容量,軟件陷阱一般1K空間有2-3。個就可以進行有效攔截。4 其
25、它常采用的軟件抗干擾方法4.1 陷井法有時意想不到的干擾,破壞了中斷和所有程序的正常運行。此時PC 值可能在程序區(qū)內(nèi),也可能在程序區(qū)之外,要使其能夠自恢復(fù)正常運行,只有依賴于廣布“陷井 ”的絕招了。這里所謂的“陷井 ”,是指某些類型的CPU 提供給用戶使用的軟中斷指令或者復(fù)位指令。例如,Z80 指令 RST 38H ,其機器碼為FFH 。CPU 執(zhí)行該指令時,則將當前程序計數(shù)器0038H 地址執(zhí)行程序。如果把PC 的值壓入堆棧,然后轉(zhuǎn)到0038H 作為一個重啟動入口,則機器就可以恢復(fù)新的工作了。再例如,INTEL8098、80198系列的復(fù)位指令RST,機器碼也為FFH。 CPU 執(zhí)行該指令時
26、,其內(nèi)部進行復(fù)位操作,然后從2080H 開始執(zhí)行程序。當然,80198有更多的非法操作碼可作為陷井指令使用,這時只需要在的一個字的中斷矢量單元里安排中斷入口,并且編制一個處理非系列還 2012H法操作碼的中斷服務(wù)程序,一遇非法操作碼就能進行故障處理。作者多年的經(jīng)驗表明,陷井不但需要在ROM 的全部非內(nèi)容區(qū)、RAM的全部非數(shù)據(jù)區(qū)設(shè)置,而且在程序區(qū)內(nèi)的模塊之間廣泛布置。一旦機器程序跑飛,總會碰上陷井,立即就可以救活機器了。4.2 重復(fù)功能設(shè)定法工控機的很多功能的設(shè)定,通常都是在主程序開始時的初始化程序里設(shè)定的,以后再也不去設(shè)定了。這在正常情況下本無問題。但偶然的干擾會改變 CPU 內(nèi)部的這些寄存器
27、或者接口芯片的功能寄存器,例如,把中斷的類型、中斷的優(yōu)先級別、串行口、并行口的設(shè)定修改了,機器的運行肯定會出錯,因此,只要重復(fù)設(shè)定功能操作不影響其當前連續(xù)工作的性能,都應(yīng)當納入主程序的循環(huán)圈里。每個循環(huán)就可以刷新一次設(shè)定,避免了偶然不測發(fā)生。對于那些重復(fù)設(shè)定功能操作會影響當前連續(xù)工作性能的,要盡量想法找機會重新設(shè)定。例如串行口,如果接收完某幀信息或者發(fā)送完某幀信息之后,串口會有一個短暫的空閑時,就應(yīng)作出判斷并且安排重新設(shè)定一次的操作。4.3 重要數(shù)據(jù)備份法工控機中的一些關(guān)鍵數(shù)據(jù),應(yīng)當有至少有兩個以上的備份副本,當操作這些數(shù)據(jù)時,可以把主、副本進行比較,如其改變,就要分析原因,采取預(yù)先設(shè)計好的方法處理。還可以把重要數(shù)據(jù)采用校驗和或者分組BCH 校驗的方法進行校驗。這兩種方法一并使用則更可靠。4.4 系統(tǒng) “死鎖 ”的軟件對策在工業(yè)控制系統(tǒng)中, A/D 、 D/A ,顯示等輸入 /輸出接口電路是必不可少的。這些接口 與 CPU 之間采用查詢或中斷方式工作,而這些設(shè)備或接口對干擾很敏感,干擾信號一 旦破壞了某一接口的狀態(tài)字后,就會導(dǎo)致 CPU 誤認為該接口有輸入 /輸出請求而停止 現(xiàn)行工作,轉(zhuǎn)去執(zhí)行
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030中國有機畜禽養(yǎng)殖行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略分析研究報告
- 2025-2030中國智能紡織品行業(yè)發(fā)展分析及投資風(fēng)險預(yù)測研究報告
- 2025-2030中國智能數(shù)據(jù)中心行業(yè)市場現(xiàn)狀供需分析及投資評估規(guī)劃分析研究報告
- 2025-2030中國智慧養(yǎng)老行業(yè)市場深度調(diào)研及投資前景研究報告
- 2025-2030中國無機溴衍生物行業(yè)運營規(guī)劃及未來投資價值評估報告
- 2025-2030中國旋轉(zhuǎn)閥執(zhí)行器行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略研究報告
- 2025-2030中國新型裝飾材料行業(yè)市場發(fā)展現(xiàn)狀及發(fā)展趨勢與投資研究報告
- 2025-2030中國數(shù)碼文化設(shè)備行業(yè)市場深度調(diào)研及發(fā)展趨勢與投資前景研究報告
- 2025-2030中國護色劑市場投資效益與前景發(fā)展趨勢研究報告
- 2025-2030中國抗菌藥行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略分析研究報告
- 2025江蘇南京市金陵飯店股份限公司招聘高頻重點模擬試卷提升(共500題附帶答案詳解)
- 中國急性缺血性卒中診治指南(2023)解讀
- 人教版三年級下冊語文《古詩三首(元日)》練習(xí)題(含答案)
- 華為采購管理
- 小學(xué)學(xué)生一日常規(guī)管理
- 基于代際互動視角的農(nóng)村老年家庭數(shù)字反哺機制研究
- 《敏捷項目管理》課件
- 外研版(2025新版)七年級下冊英語Unit 1 學(xué)情調(diào)研測試卷(含答案)
- 專題10 開展心理健康教育 促進身心健康成長-備戰(zhàn)2023年中考英語閱讀理解時文爆點專題訓(xùn)練(解析版)
- 土壤質(zhì)地與土壤酶活性-第1篇-洞察分析
- 智聯(lián)招聘行測題庫及答案
評論
0/150
提交評論