版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
17.3軟件抗干擾技術(shù)
27.3.1軟件冗余技術(shù)7.3.2軟件陷阱技術(shù)7.3.3“看門狗”技術(shù)7.3.4故障自動恢復處理程序3前言軟件出錯對系統(tǒng)的危害1.數(shù)據(jù)采集不可靠
在數(shù)據(jù)采集通道,盡管采取了一些必要的硬件抗干擾措施,但在數(shù)據(jù)傳輸過程中仍然會有一些干擾侵入系統(tǒng),造成采集的數(shù)據(jù)不準確形成誤差。2.控制失靈
一般情況下,控制狀態(tài)的輸出是通過微機控制系統(tǒng)的輸出通道實現(xiàn)的。由于控制信號輸出功率較大,不易直接受到外界干擾。但是在微機控制系統(tǒng)中,控制狀態(tài)的輸出常常取決于某些條件狀態(tài)的輸入和條件狀態(tài)的邏輯處理結(jié)果,而在這些環(huán)節(jié)中,由于干擾的侵入,可能造成條件狀態(tài)偏差、失誤,致使輸出控制誤差加大,甚至控制失靈。3.程序運行失常
計算機系統(tǒng)進入強干擾后,程序計數(shù)器PC的值可能改變,因此會破壞,程序的正常運行。被干擾后的PC值是隨機的,這將引起程序執(zhí)行一系列毫無意義的指令,最終可能導致程序“死循環(huán)”。4軟件抗干擾的設置前提條件:1、在干擾作用下,微機系統(tǒng)硬件部分不會受到任何損壞,或易損壞部分設置有監(jiān)測狀態(tài)可供查詢。2、程序區(qū)不會受干擾侵害。3、RAM區(qū)中的重要數(shù)據(jù)不被破壞,或雖被破壞可以重新建立。5軟件抗干擾技術(shù)所研究的主要內(nèi)容:1、采取軟件的方法抑制疊加在模擬輸入信號上噪聲對數(shù)據(jù)采集結(jié)果的影響,如數(shù)字濾波器技術(shù)(4.6節(jié));2、由于干擾而使運行程序發(fā)生混亂,導致程序亂飛或陷入死循環(huán)時,采取使程序納入正規(guī)的措施,如軟件冗余、軟件陷阱、“看門狗”技術(shù)。67.3.1軟件冗余技術(shù)一、指令冗余技術(shù)操作程序時序指令完全有程序計數(shù)器PC控制,所以,一旦PC因干擾而出現(xiàn)錯誤,程序便會脫離正常運行軌道,出現(xiàn)“亂飛”。為了使“亂飛”程序在程序區(qū)迅速納入正軌,應該多用單字節(jié)指令,并在關鍵地方人為地插入一些單字節(jié)指令NOP,或?qū)⒂行巫止?jié)指令重寫,稱之為指令冗余。71、NOP的使用在雙字節(jié)指令和3字節(jié)指令之后插入兩個單字節(jié)NOP指令,保證其后指令不被拆散。再者對程序流向起決定作用的指令(如RET、RETI、ACALL、LCALL、LJMP、JZ、JNZ、JC、JNC、DJNZ等)和某些對系統(tǒng)工作狀態(tài)起重要作用的指令(如SETB、EA等)之前插入兩條NOP指令,可保證亂飛程序迅速納入軌道,確保這些指令正確執(zhí)行。82、重要指令冗余對于程序流向起決定作用的指令(如RET、RETI、ACALL、LCALL、LJMP、JZ、JNZ、JC、JNC等)和某些對系統(tǒng)工作狀態(tài)有重要作用的指令(如SETB、EA等)的后面,可重復寫上這些指令,以確保這些指令的正確執(zhí)行。9
指令冗余特點:1、降低正常程序執(zhí)行的效率;2、可以減少程序亂飛的次數(shù),使其很快納入程序軌道,使CPU按“操作碼、操作數(shù)”方式運行,但不能保證失控期間不干壞事,更不能保證程序納入正常軌道后太平無事。因為亂飛的程序已經(jīng)偏離正常順序,做了不該做的事。解決這個問題還要靠軟件容錯技術(shù),減少或消滅程序誤動作。3、指令冗余使亂飛程序安定下來是有條件的,首先亂飛的程序要落到程序區(qū),其次必須執(zhí)行到冗余的指令。當程序亂飛到非程序區(qū)時,或亂飛的程序碰到冗余指令前已形成死循環(huán),都會使冗余指令失去作用。10二、時間冗余技術(shù)時間冗余方法是通過消耗時間資源達到糾錯目的。1、重復檢測法對接口中的輸入數(shù)據(jù)信息進行多次檢測,若檢測結(jié)果完全一致,則是真的輸入信號;若相鄰的檢測內(nèi)容不一致,或多次檢測結(jié)果不一致,則是偽輸入信號。11122、重復輸出法對于開關量輸出軟件抗干擾設計,或者對于那些用鎖存器輸出的控制信號,采取重復輸出的辦法。輸出重復周期盡可能短些。例如當計算機輸出開關量控制閘門、料斗等執(zhí)行機構(gòu)動作時,為了防止這些執(zhí)行機構(gòu)由于外界干擾而誤動作,比如已關的閘門、料斗可能中途打開;已開的閘門、料斗可能中途突然關閉。對于這些誤動作,可以在應用程序中每隔一段時間(比如幾個ms)發(fā)出一次輸出命令,不斷地關閉閘門或者開閘門。這樣,就可以較好地消除由于擾動而引起的誤動作(開或關)。133、指令復執(zhí)技術(shù)這種技術(shù)是重復執(zhí)行已發(fā)現(xiàn)錯誤的指令(一旦發(fā)現(xiàn)錯誤、就重新執(zhí)行被錯誤破壞的現(xiàn)行指令),如故障是瞬時的,在指令復執(zhí)期間,有可能不再出現(xiàn),程序可繼續(xù)執(zhí)行。軟件實現(xiàn)方法:(1)當發(fā)現(xiàn)錯誤時,能準確保留現(xiàn)行指令地址,以便重新取出執(zhí)行。(2)現(xiàn)行指令使用的數(shù)據(jù)必須保留,以便重新取出執(zhí)行時使用。144、程序卷回技術(shù)程序卷回不是某一條指令的重復執(zhí)行,而是一小段程序的重復執(zhí)行。為了實現(xiàn)卷回,也要保留現(xiàn)場。這種卷回方法可卷回若干次,直到故障排除或顯示故障為止。15程序卷回的要點:(1)將程序分成一些小段,卷回時也要卷回一小段,不是卷回到程序起點(2)在第n段之末,將當時各寄存器、程序計數(shù)器及其他的有關內(nèi)容移入內(nèi)存,并將內(nèi)存中被第n段所更改的單元又在內(nèi)存中開辟一塊區(qū)域保存起來。(3)如在第(n+1)段出現(xiàn)錯誤,就把第n段的現(xiàn)場送給機器的有關部分,然后從第(n+1)段起點開始重復執(zhí)行第(n+1)段程序165、延時避開法當系統(tǒng)要接通或斷開大功率負載時,使CPU暫停工作,待干擾過去以后再恢復工作,這比單純在硬件上采取抗干擾措施要方便許多。177.3.2軟件陷阱技術(shù)一、軟件陷阱軟件陷阱,就是用引導指令強行將捕獲到的亂飛程序引向復位入口地址0000H,在此處將程序轉(zhuǎn)向?qū)iT對程序出錯進行處理的程序,使程序納入正軌。軟件陷阱的兩種形式如下表形式軟件陷阱形式對應入口形式形式之一NOPNOPLJMP0000H0000H:LJMPMAIN;運行程序..形式之二LJMP0202HLJMP0000H0000H:LJMPMAIN;運行程序.0202H:LJMP0000H.
18形式之一的機器碼為:0000020000;形式之二的機器碼為:020202020000。根據(jù)亂飛程序落入陷阱區(qū)的位置不同,可選擇執(zhí)行空操作,轉(zhuǎn)到0000H和直轉(zhuǎn)0202H單元的形式之一,使程序納入正軌,指定運行到預定位置。19二、軟件陷阱的安排1、未使用的中斷區(qū)當未使用的中斷因干擾而開放時,在對應的中斷服務程序中設置軟件陷阱,就能及時捕捉到錯誤的中斷。NOPNOPPOPdirect1;將斷點彈出堆棧區(qū)POPdirect2LJMP0000H;轉(zhuǎn)到0000H處中斷服務程序也可以NOPNOPPOPdirect1;將原先斷點彈出POPdirect2PUSH00H;將斷點地址改為0000HPUSH00HRETI202、未使用的EPROM空間現(xiàn)在使用的EPROM一般為2764、27128等芯片,很少能夠用完,所以在非程序去常用0000020000或020202020000數(shù)據(jù)填滿。當亂飛程序進入此區(qū),便會迅速自動入軌。3、非EPROM芯片空間當程序亂飛如非EPROM區(qū)間時,要想盡快使程序入軌,就要設置如下電路21圖7-3-2非EPROM程序陷阱之一22圖7-3-3非EPROM程序陷阱之二234、運行程序區(qū)
程序設計時常采用模塊化設計,按照程序的要求一個模塊,一個模塊的執(zhí)行,可以將陷阱指令分散放置在用戶程序各模塊之間空余的單元里,在正常程序中不執(zhí)行這些陷阱指令,保證用戶程序運行,但當程序亂飛到這些陷阱區(qū),馬上將亂飛的程序拉倒正確軌道。245、中斷服務程序區(qū)設用戶主程序運行區(qū)間為ADD1—ADD2,當程序亂飛入ADD1-ADD2區(qū)間外,若在此用戶程序區(qū)外發(fā)生定時中斷,可在中斷服務程序中判斷中斷斷點地址ADDX.若ADDX<ADD1或ADDX>ADD2,說明程序亂飛,應使程序返回到復位入口地址0000H,使亂飛程序納入正軌。25266、RAM數(shù)據(jù)保護的條件陷阱單片機外RAM保存大量數(shù)據(jù),這些數(shù)據(jù)的寫入是使用“MOVX@DPTR,A”指令來完成的。當CPU受到干擾而非法執(zhí)行該指令時,就會改寫RAM中的數(shù)據(jù),導致RAM中的數(shù)據(jù)丟失。為了減小RAM中數(shù)據(jù)丟失的可能性,可在RAM寫操作之前加入條件陷阱。27287.3.3“看門狗”技術(shù)“看門狗”技術(shù)就是不斷監(jiān)視程序循環(huán)運行時間,若發(fā)現(xiàn)時間超過已知的循環(huán)設定時間,則認為系統(tǒng)陷入了“死循環(huán)”,然后強迫程序返回到0000H入口,在0000H處安排一段出錯處理程序,使系統(tǒng)運行納入正規(guī)?!翱撮T狗”技術(shù)既可由硬件實現(xiàn),也可由軟件實現(xiàn),還可由兩者結(jié)合來實現(xiàn)。29一、硬件“看門狗”電路1、單穩(wěn)態(tài)型“看門狗”電路圖7-3-4單穩(wěn)態(tài)“看門狗”電路30圖7-3-574LS123管腳排列與功能31
圖7-3-6單穩(wěn)態(tài)“看門狗”程序框圖322、計數(shù)器型“看門狗”電路圖7-3-7計數(shù)器型“看門狗”電路333、采用微處理器監(jiān)控器實現(xiàn)“看門狗”功能在微機化測控系統(tǒng)中,為了保證微處理器穩(wěn)定而可靠地運行,需配置電壓監(jiān)控電路;為了實現(xiàn)掉電數(shù)據(jù)保護,需備用電池及切換電路;為了使微機處理器盡快擺脫因干擾而陷入的死循環(huán),需要配置Watchdog電路(俗稱“看門狗”電路)。將完成這些功能的電路集成在一個芯片當中,稱為微處理器監(jiān)控器。這些芯片集成化程序高,功能齊全,具有廣闊的應用前景。具有“看門狗功能的微處理器監(jiān)控芯片:MAX690A、MAX692A、MAX705/706/813L等。34圖7-3-8MAX813L框圖當/WDO為低電平時,預使其恢復高電平的條件在Vcc高于復位門的情況下:(1)采取手動復位,/MR有一種低脈沖,發(fā)出復位信號,在復位信號的前沿,/MDO變?yōu)楦唠娖剑玾atchdog被清零,且不計數(shù)。(2)若WDI電平發(fā)生變化,watchdog被清零,且開始計數(shù),同時/WDO變高電平。3536
圖7-3-9“看門狗”定時時序圖37二、軟件“看門狗”技術(shù)基本思路:在主程序中對T0中斷服務程序進行監(jiān)視;在T1中斷服務程序中對主程序進行監(jiān)視;T0中斷監(jiān)視T1中斷。381、主程序主程序在完成系統(tǒng)測控功能的同時,還要監(jiān)視T0中斷因干擾而引起的中斷關閉故障。39
圖7-3-10主程序流程圖
402T1中斷程序T1中斷服務程序完成系統(tǒng)特定測控功能的同時,還要監(jiān)視主程序的運行狀態(tài)。41
圖7-3-11T1中斷程序流程
423T0中斷程序T0中斷服務程序的功能是監(jiān)視T1中斷服務程序的運行狀態(tài)。43
圖7-3-12T0中斷程序流程
44三、軟硬件結(jié)合的“看門狗”技術(shù)硬件“看門狗”技術(shù)能有效的監(jiān)視程序陷入死循環(huán)故障,但對中斷關閉故障無能為力;軟件“看門狗”技術(shù)對高級中斷服務程序陷入死循環(huán)也無能為力,但能監(jiān)視全部中斷關閉故障。如果二者結(jié)合起來,就可以取長補短,來取得很好的抗干擾效果。45
圖7-3-13主程序流程圖
46
47若測控功能模塊程序較短,執(zhí)行一次時間內(nèi)不足以使T0、T1發(fā)生定時中斷,這時可采用圖7-3-16所示的方案。48
圖7-3-16主程序流程圖
497.3.4故障自動恢復處理程序一、上電標志設定程序的執(zhí)行總是從0000H單元開始,即微機啟動。啟動方式:其一是上電復位,即首次啟動,又稱冷啟動;冷啟動的特征是系統(tǒng)要徹底初始化,測控程序模塊從頭開始執(zhí)行,即生產(chǎn)工藝過程從最初狀態(tài)開始運行。其二是故障復位,即再次啟動,又稱熱啟動。熱啟動的特征是不需要全部進行初始化,測控程序不必從頭開始執(zhí)行,而應從故障部位開始,即生產(chǎn)工藝過程從故障點重新運行。怎樣區(qū)別是冷啟動,還是熱啟動?這是程序進入0000H后首先遇到的問題,即上電標志的判定。501、PSW?5上電標志設定圖7-3-17PSW.5上電標志判定512、SP建立上電標志MCS-51單片機硬件復位后堆棧指針SP為07H,但在應用程序設計中,一般不會把堆棧指針SP設置在07H這么低的內(nèi)部RAM地址,都要將堆棧指針設置大于07H。根據(jù)SP這個特點,可用SP作為上電標志。應注意,SP標志僅適用于軟件復位方式。3、內(nèi)RAM中上電標志設定單片機內(nèi)RAM中單元上
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《GA 1408-2017 警帽 禮儀大檐帽》專題研究報告
- 《GA 758-2008 9mm警用轉(zhuǎn)輪手槍》專題研究報告
- 中學社團指導教師職責制度
- 養(yǎng)老院入住老人遺物保管與處理制度
- 企業(yè)內(nèi)部培訓與發(fā)展規(guī)劃制度
- 交通管制與疏導方案制度
- 2026湖北省定向重慶大學選調(diào)生招錄備考題庫附答案
- 2026湖南郴州莽山旅游開發(fā)有限責任公司面向社會招聘40人備考題庫附答案
- 2026福建泉州石獅市鳳里街道中心幼兒園春季招聘備考題庫附答案
- 2026西藏自治區(qū)定向選調(diào)生招錄(70人)參考題庫附答案
- 旅居養(yǎng)老可行性方案
- 燈謎大全及答案1000個
- 老年健康與醫(yī)養(yǎng)結(jié)合服務管理
- 中國焦慮障礙防治指南
- 1到六年級古詩全部打印
- 心包積液及心包填塞
- GB/T 40222-2021智能水電廠技術(shù)導則
- 兩片罐生產(chǎn)工藝流程XXXX1226
- 第十章-孤獨癥及其遺傳學研究課件
- 人教版四年級上冊語文期末試卷(完美版)
- 工藝管道儀表流程圖PID基礎知識入門級培訓課件
評論
0/150
提交評論