欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種軟件抗干擾方法及裝置的制作方法

文檔序號(hào):6556741閱讀:211來(lái)源:國(guó)知局
專利名稱:一種軟件抗干擾方法及裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及軟件技術(shù)領(lǐng)域,尤其涉及一種使系統(tǒng)排除干擾、恢復(fù)正常的軟件抗干擾方法及裝置。
背景技術(shù)
當(dāng)今眾多的電子產(chǎn)品越來(lái)越多地被應(yīng)用到工業(yè)控制的各個(gè)領(lǐng)域。電子類產(chǎn)品在工業(yè)現(xiàn)場(chǎng)使用時(shí),由于控制過(guò)程一般需要運(yùn)行軟件系統(tǒng),而工業(yè)現(xiàn)場(chǎng)周圍眾多的干擾源不僅對(duì)軟件的輸入、輸出產(chǎn)生巨大的影響,而且時(shí)常破壞內(nèi)部程序計(jì)數(shù)器PC狀態(tài)使程序跑飛(程序跑飛是由于外部干擾或內(nèi)部程序編制錯(cuò)誤引起的一種單片機(jī)運(yùn)行故障),甚至對(duì)系統(tǒng)硬件造成致命的損害,使計(jì)算機(jī)系統(tǒng)不能正常運(yùn)行,致使控制失靈,造成重大事故。
抗干擾技術(shù)由此而產(chǎn)生,并分為兩大類硬件抗干擾技術(shù)和軟件抗干擾技術(shù)。硬件抗干擾技術(shù)發(fā)展較早,且對(duì)于干擾抑制技術(shù)已較為成熟。然而,硬件抗干擾技術(shù)的針對(duì)性較強(qiáng),預(yù)見(jiàn)性較差,無(wú)法屏蔽掉所有干擾,且有時(shí)成本過(guò)高。與之相反軟件抗干擾技術(shù)軟件不僅設(shè)計(jì)靈活,節(jié)約硬件資源,成本低,同時(shí)還由于它是一種干擾過(guò)后的補(bǔ)救手段,通用性強(qiáng),適用于不同的系統(tǒng)抵抗不同的干擾。因此,軟件抗干擾問(wèn)題的研究愈來(lái)愈引起人們的重視。但由于軟件技術(shù)起步較晚,對(duì)于軟件抗干擾的認(rèn)識(shí)還不成熟。目前,使用較多的軟件抗干擾方法包括軟件陷阱和軟件看門狗。這兩種方法都僅僅做到在系統(tǒng)受到干擾后,幫助系統(tǒng)擺脫失控狀態(tài),從頭開(kāi)始初始化,而無(wú)法將系統(tǒng)恢復(fù)到程序跑飛前的狀態(tài)。

發(fā)明內(nèi)容
本發(fā)明的目的是提供一種軟件抗干擾方法及裝置,用于監(jiān)控軟件運(yùn)行及故障恢復(fù),以避免因外界干擾造成的系統(tǒng)失控,并且可在短時(shí)間內(nèi)將系統(tǒng)恢復(fù),繼續(xù)失控前的運(yùn)行狀態(tài),將系統(tǒng)恢復(fù)到程序跑飛前的狀態(tài)。
本發(fā)明的目的是通過(guò)以下技術(shù)方案實(shí)現(xiàn)的一種軟件抗干擾方法,包括A、為組成軟件的每個(gè)相互獨(dú)立的模塊分別設(shè)置唯一對(duì)應(yīng)的功能字,在軟件運(yùn)行過(guò)程中保存模塊對(duì)應(yīng)的功能字與該模塊的運(yùn)行數(shù)據(jù)信息;B、當(dāng)軟件復(fù)位時(shí)根據(jù)相應(yīng)的功能字及運(yùn)行數(shù)據(jù)信息對(duì)軟件進(jìn)行恢復(fù)處理。
所述的步驟A包括A1、在每個(gè)模塊調(diào)用返回前保存該模塊對(duì)應(yīng)的功能字與該模塊的運(yùn)行數(shù)據(jù)信息。
所述的步驟A1包括A11、在每個(gè)模塊調(diào)用返回前將該模塊對(duì)應(yīng)的功能字與該模塊的運(yùn)行數(shù)據(jù)信息在片內(nèi)保存或片外保存。
所述的步驟A11包括在每個(gè)模塊調(diào)用返回前將該模塊對(duì)應(yīng)的功能字與該模塊的運(yùn)行數(shù)據(jù)信息在片內(nèi)或片外保存一份或一份以上。
所述的步驟B包括確定系統(tǒng)是上電復(fù)位還是系統(tǒng)復(fù)位,如是上電復(fù)位則執(zhí)行步驟B1,如是系統(tǒng)復(fù)位則執(zhí)行步驟B2;B1、進(jìn)行系統(tǒng)初始化,正常運(yùn)行軟件;B2、讀取保存的模塊對(duì)應(yīng)的功能字與該模塊的運(yùn)行數(shù)據(jù)信息,并根據(jù)相應(yīng)的功能字及運(yùn)行數(shù)據(jù)信息對(duì)軟件進(jìn)行恢復(fù)處理。
所述的步驟B2包括無(wú)需進(jìn)行系統(tǒng)初始化,直接讀取保存的模塊對(duì)應(yīng)的功能字與該模塊的運(yùn)行數(shù)據(jù)信息,并根據(jù)相應(yīng)的功能字及運(yùn)行數(shù)據(jù)信息對(duì)軟件進(jìn)行恢復(fù)處理;或者,讀取片外保存的模塊對(duì)應(yīng)的功能字與該模塊的運(yùn)行數(shù)據(jù)信息,并根據(jù)相應(yīng)的功能字及運(yùn)行數(shù)據(jù)信息對(duì)軟件進(jìn)行恢復(fù)處理;或者,無(wú)需進(jìn)行系統(tǒng)初始化,讀取片外保存的模塊對(duì)應(yīng)的功能字與該模塊的運(yùn)行數(shù)據(jù)信息,并根據(jù)相應(yīng)的功能字及運(yùn)行數(shù)據(jù)信息對(duì)軟件進(jìn)行恢復(fù)處理。
所述的步驟B還包括在軟件中設(shè)置一個(gè)上電標(biāo)志位,當(dāng)系統(tǒng)上電時(shí)根據(jù)上電標(biāo)志位確定系統(tǒng)是上電復(fù)位還是系統(tǒng)復(fù)位。
一種軟件抗干擾裝置,包括信息存儲(chǔ)器用于存儲(chǔ)軟件的信息;信息讀取器用于在軟件系統(tǒng)復(fù)位時(shí)讀取信息存儲(chǔ)器保存的軟件的信息;軟件恢復(fù)控制器根據(jù)信息讀取器讀取的軟件的信息,對(duì)軟件進(jìn)行恢復(fù)處理。
所述的信息存儲(chǔ)器包括片內(nèi)存儲(chǔ)器用于在片內(nèi)存儲(chǔ)軟件的信息;片外存儲(chǔ)器用于在片外存儲(chǔ)軟件的信息;且所述的軟件的信息包括為組成軟件的每個(gè)相互獨(dú)立的模塊分別設(shè)置的唯一對(duì)應(yīng)的功能字、為組成軟件的每個(gè)相互獨(dú)立的模塊的運(yùn)行數(shù)據(jù)信息和/或系統(tǒng)的上電標(biāo)志位。
所述的軟件恢復(fù)控制器包括狀態(tài)判斷器根據(jù)信息讀取器讀取的軟件的信息中的系統(tǒng)的上電標(biāo)志位,確定系統(tǒng)是上電復(fù)位還是系統(tǒng)復(fù)位。
由上述本發(fā)明提供的技術(shù)方案可以看出,本發(fā)明所述的一種軟件抗干擾方法及裝置在程序中設(shè)立了若干個(gè)崗哨,每次調(diào)用子程序返回前保存數(shù)據(jù);返回后,都要對(duì)返回的功能字進(jìn)行驗(yàn)證,正確后方可繼續(xù)下面的程序。并在程序入口處設(shè)立標(biāo)志位判斷是上電復(fù)位還是系統(tǒng)復(fù)位,用以決定是進(jìn)行系統(tǒng)初始化還是系統(tǒng)恢復(fù);若需系統(tǒng)恢復(fù)則根據(jù)保存數(shù)據(jù)確定入口。實(shí)現(xiàn)監(jiān)控軟件運(yùn)行及故障恢復(fù),以避免因外界干擾造成的系統(tǒng)失控,并且可在短時(shí)間內(nèi)將系統(tǒng)恢復(fù),繼續(xù)失控前的運(yùn)行狀態(tài),將系統(tǒng)恢復(fù)到程序跑飛前的狀態(tài)。


圖1為本發(fā)明提供的一種軟件抗干擾方法的流程圖;圖2為本發(fā)明提供的一種軟件抗干擾裝置的結(jié)構(gòu)示意圖。
具體實(shí)施例方式
本發(fā)明的核心是在程序中設(shè)立了若干個(gè)崗哨,每次調(diào)用子程序返回前保存數(shù)據(jù);返回后,都要對(duì)返回的功能字進(jìn)行驗(yàn)證,正確后方可繼續(xù)下面的程序。并在程序入口處設(shè)立標(biāo)志位判斷是上電復(fù)位還是系統(tǒng)復(fù)位,用以決定是進(jìn)行系統(tǒng)初始化還是系統(tǒng)恢復(fù);若需系統(tǒng)恢復(fù)則根據(jù)保存數(shù)據(jù)確定入口。
困此本發(fā)明要求軟件必須模塊化編程,且每個(gè)模塊功能明確,執(zhí)行獨(dú)立、唯一的功能;并為每個(gè)模塊設(shè)立模塊功能字寄存器,并為配置唯一的功能字。
本發(fā)明的所述的一種軟件抗干擾方法其具體的過(guò)程如圖1所示步驟11、系統(tǒng)上電后,讀取并判斷上電標(biāo)志位是否為“0”,如是則執(zhí)行步驟12,否則將其置執(zhí)行步驟17;本發(fā)明需事先設(shè)立上電標(biāo)志位,用于區(qū)分上電復(fù)位和系統(tǒng)復(fù)位。可以是“0”也可以是“1”,此處以“0”為例。處理器在上電后對(duì)所有片內(nèi)寄存器進(jìn)行初始化,對(duì)于無(wú)特殊用途預(yù)留的寄存器置0。選擇1位預(yù)留的寄存器作為上電標(biāo)志位,如89C51中可以選擇PSW.5。若硬件支持,最好在片外EEPROM中設(shè)立上電標(biāo)志位。
步驟12、進(jìn)行系統(tǒng)初始化;步驟13、系統(tǒng)初始化后,開(kāi)始依次調(diào)用各模塊子程序;步驟14、每個(gè)模塊在調(diào)用返回前,將其功能字寫(xiě)入對(duì)應(yīng)的功能寄存器。
將功能寄存器中數(shù)據(jù)和對(duì)于恢復(fù)系統(tǒng)繼續(xù)運(yùn)行起重要作用的數(shù)據(jù)多處保存,建議存入片外EEPROM。這樣做主要是考慮到若電源電壓受到強(qiáng)烈干擾,產(chǎn)生巨大波動(dòng),電壓快速下降到下限工作電壓以下;短暫干擾后,電源電壓恢復(fù)正常,系統(tǒng)重新啟動(dòng),但此時(shí)RAM中數(shù)據(jù)整體受到?jīng)_毀,此時(shí)故障恢復(fù)將無(wú)法實(shí)現(xiàn)。數(shù)據(jù)保存后返回上級(jí)程序。
步驟15、程序返回后,應(yīng)先判斷功能字寄存器中的功能字是否正確。若正確,繼續(xù)運(yùn)行下面的模塊子程序,執(zhí)行步驟13;否則,執(zhí)行步驟16;有的時(shí)候程序運(yùn)行完成后,還需要跳轉(zhuǎn)到步驟13,從頭開(kāi)始運(yùn)行,而不必再進(jìn)行系統(tǒng)初始化。
步驟16、將程序攔截強(qiáng)制性跳轉(zhuǎn)到程序入口處,執(zhí)行步驟11;若不正確,檢測(cè)到模塊功能字寄存器中的功能字錯(cuò)誤后,則表示PC指針可能已經(jīng)跳轉(zhuǎn)到錯(cuò)誤的位置,程序已經(jīng)跑飛,子程序沒(méi)有按預(yù)計(jì)的出口返回。此時(shí),將程序攔截強(qiáng)制性跳轉(zhuǎn)到程序入口處。這種方法,如同在程序中設(shè)立了若干個(gè)崗哨,每次調(diào)用子程序返回后,都要對(duì)返回的功能字進(jìn)行驗(yàn)證,正確后方可繼續(xù)下面的程序。
步驟17、若是系統(tǒng)復(fù)位,跳過(guò)系統(tǒng)初始化,并將片外EEPROM中存儲(chǔ)的功能字和重要數(shù)據(jù)讀到片內(nèi)RAM區(qū)相應(yīng)地址;步驟18、根據(jù)模塊功能寄存器內(nèi)功能字,確定程序跑飛前的位置,繼續(xù)運(yùn)行程序。
本發(fā)明所述的一種軟件抗干擾裝置,其具體結(jié)構(gòu)如圖2所示包括信息存儲(chǔ)器、信息讀取器與軟件恢復(fù)控制器,其中信息存儲(chǔ)器用于存儲(chǔ)軟件的信息,包括片內(nèi)存儲(chǔ)器與片外存儲(chǔ)器,片內(nèi)存儲(chǔ)器用于在片內(nèi)存儲(chǔ)軟件的信息;片外存儲(chǔ)器用于在片外存儲(chǔ)軟件的信息;所述的軟件的信息為組成軟件的每個(gè)相互獨(dú)立的模塊分別設(shè)置的唯一對(duì)應(yīng)的功能字、為組成軟件的每個(gè)相互獨(dú)立的模塊的運(yùn)行數(shù)據(jù)信息和/或系統(tǒng)的上電標(biāo)志位。
信息讀取器用于在軟件系統(tǒng)復(fù)位時(shí)讀取信息存儲(chǔ)器保存的軟件的信息;軟件恢復(fù)控制器根據(jù)信息讀取器讀取的軟件的信息,對(duì)軟件進(jìn)行恢復(fù)處理。包括狀態(tài)判斷器,根據(jù)信息讀取器讀取的軟件的信息中的系統(tǒng)的上電標(biāo)志位,確定系統(tǒng)是上電復(fù)位還是系統(tǒng)復(fù)位。
以上所述,僅為本發(fā)明較佳的具體實(shí)施方式
,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)該以權(quán)利要求的保護(hù)范圍為準(zhǔn)。
權(quán)利要求
1.一種軟件抗干擾方法,其特征在于,包括A、為組成軟件的每個(gè)相互獨(dú)立的模塊分別設(shè)置唯一對(duì)應(yīng)的功能字,在軟件運(yùn)行過(guò)程中保存模塊對(duì)應(yīng)的功能字與該模塊的運(yùn)行數(shù)據(jù)信息;B、當(dāng)軟件復(fù)位時(shí)根據(jù)相應(yīng)的功能字及運(yùn)行數(shù)據(jù)信息對(duì)軟件進(jìn)行恢復(fù)處理。
2.根據(jù)權(quán)利要求1所述的軟件抗干擾方法,其特征在于,所述的步驟A包括A1、在每個(gè)模塊調(diào)用返回前保存該模塊對(duì)應(yīng)的功能字與該模塊的運(yùn)行數(shù)據(jù)信息。
3.根據(jù)權(quán)利要求2所述的軟件抗干擾方法,其特征在于,所述的步驟A1包括A11、在每個(gè)模塊調(diào)用返回前將該模塊對(duì)應(yīng)的功能字與該模塊的運(yùn)行數(shù)據(jù)信息在片內(nèi)保存或片外保存。
4.根據(jù)權(quán)利要求3所述的軟件抗干擾方法,其特征在于,所述的步驟A11包括在每個(gè)模塊調(diào)用返回前將該模塊對(duì)應(yīng)的功能字與該模塊的運(yùn)行數(shù)據(jù)信息在片內(nèi)或片外保存一份或一份以上。
5.根據(jù)權(quán)利要求1所述的軟件抗干擾方法,其特征在于,所述的步驟B包括確定系統(tǒng)是上電復(fù)位還是系統(tǒng)復(fù)位,如是上電復(fù)位則執(zhí)行步驟B1,如是系統(tǒng)復(fù)位則執(zhí)行步驟B2;B1、進(jìn)行系統(tǒng)初始化,正常運(yùn)行軟件;B2、讀取保存的模塊對(duì)應(yīng)的功能字與該模塊的運(yùn)行數(shù)據(jù)信息,并根據(jù)相應(yīng)的功能字及運(yùn)行數(shù)據(jù)信息對(duì)軟件進(jìn)行恢復(fù)處理。
6.根據(jù)權(quán)利要求5所述的軟件抗干擾方法,其特征在于,所述的步驟B2包括無(wú)需進(jìn)行系統(tǒng)初始化,直接讀取保存的模塊對(duì)應(yīng)的功能字與該模塊的運(yùn)行數(shù)據(jù)信息,并根據(jù)相應(yīng)的功能字及運(yùn)行數(shù)據(jù)信息對(duì)軟件進(jìn)行恢復(fù)處理;或者,讀取片外保存的模塊對(duì)應(yīng)的功能字與該模塊的運(yùn)行數(shù)據(jù)信息,并根據(jù)相應(yīng)的功能字及運(yùn)行數(shù)據(jù)信息對(duì)軟件進(jìn)行恢復(fù)處理;或者,無(wú)需進(jìn)行系統(tǒng)初始化,讀取片外保存的模塊對(duì)應(yīng)的功能字與該模塊的運(yùn)行數(shù)據(jù)信息,并根據(jù)相應(yīng)的功能字及運(yùn)行數(shù)據(jù)信息對(duì)軟件進(jìn)行恢復(fù)處理。
7.根據(jù)權(quán)利要求5所述的軟件抗干擾方法,其特征在于,所述的步驟B還包括在軟件中設(shè)置一個(gè)上電標(biāo)志位,當(dāng)系統(tǒng)上電時(shí)根據(jù)上電標(biāo)志位確定系統(tǒng)是上電復(fù)位還是系統(tǒng)復(fù)位。
8.一種軟件抗干擾裝置,其特征在于,包括信息存儲(chǔ)器用于存儲(chǔ)軟件的信息;信息讀取器用于在軟件系統(tǒng)復(fù)位時(shí)讀取信息存儲(chǔ)器保存的軟件的信息;軟件恢復(fù)控制器根據(jù)信息讀取器讀取的軟件的信息,對(duì)軟件進(jìn)行恢復(fù)處理。
9.根據(jù)權(quán)利要求8所述的軟件抗干擾裝置,其特征在于,所述的信息存儲(chǔ)器包括片內(nèi)存儲(chǔ)器用于在片內(nèi)存儲(chǔ)軟件的信息;片外存儲(chǔ)器用于在片外存儲(chǔ)軟件的信息;且所述的軟件的信息包括為組成軟件的每個(gè)相互獨(dú)立的模塊分別設(shè)置的唯一對(duì)應(yīng)的功能字、為組成軟件的每個(gè)相互獨(dú)立的模塊的運(yùn)行數(shù)據(jù)信息和/或系統(tǒng)的上電標(biāo)志位。
10.根據(jù)權(quán)利要求8或9所述的軟件抗干擾裝置,其特征在于,所述的軟件恢復(fù)控制器包括狀態(tài)判斷器根據(jù)信息讀取器讀取的軟件的信息中的系統(tǒng)的上電標(biāo)志位,確定系統(tǒng)是上電復(fù)位還是系統(tǒng)復(fù)位。
全文摘要
本發(fā)明所述的一種軟件抗干擾方法及裝置在程序中設(shè)立了若干個(gè)崗哨,每次調(diào)用子程序返回前保存數(shù)據(jù);返回后,都要對(duì)返回的功能字進(jìn)行驗(yàn)證,正確后方可繼續(xù)下面的程序。并在程序入口處設(shè)立標(biāo)志位判斷是上電復(fù)位還是系統(tǒng)復(fù)位,用以決定是進(jìn)行系統(tǒng)初始化還是系統(tǒng)恢復(fù);若需系統(tǒng)恢復(fù)則根據(jù)保存數(shù)據(jù)確定入口。實(shí)現(xiàn)監(jiān)控軟件運(yùn)行及故障恢復(fù),以避免因外界干擾造成的系統(tǒng)失控,并且可在短時(shí)間內(nèi)將系統(tǒng)恢復(fù),繼續(xù)失控前的運(yùn)行狀態(tài),將系統(tǒng)恢復(fù)到程序跑飛前的狀態(tài)。
文檔編號(hào)G06F11/36GK101034369SQ20061005735
公開(kāi)日2007年9月12日 申請(qǐng)日期2006年3月10日 優(yōu)先權(quán)日2006年3月10日
發(fā)明者宋穎 申請(qǐng)人:北京佳訊飛鴻電氣有限責(zé)任公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
普兰店市| 庆城县| 会东县| 鹤壁市| 车险| 五河县| 阿拉善右旗| 武邑县| 盘山县| 盘锦市| 手游| 赤壁市| 灵丘县| 京山县| 广宁县| 浦县| 巴中市| 荥经县| 土默特右旗| 随州市| 太和县| 松溪县| 行唐县| 新民市| 景谷| 宜良县| 平邑县| 舒城县| 高邮市| 女性| 潜江市| 海南省| 岳池县| 建瓯市| 洛宁县| 平度市| 崇阳县| 阜平县| 类乌齐县| 璧山县| 长岭县|