當(dāng)前位置:首頁 > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]應(yīng)用于工業(yè)過程控制和智能化儀器儀表的單片機(jī),由于現(xiàn)場(chǎng)條件往往十分惡劣,不可避免地會(huì)受到各種各樣的電磁干擾。當(dāng)串入系統(tǒng)的干擾作用于單片機(jī)內(nèi)部的CPU部件時(shí),后果更加嚴(yán)重,將導(dǎo)致系統(tǒng)失控。最典型的失控故障是破

應(yīng)用于工業(yè)過程控制和智能化儀器儀表的單片機(jī),由于現(xiàn)場(chǎng)條件往往十分惡劣,不可避免地會(huì)受到各種各樣的電磁干擾。當(dāng)串入系統(tǒng)的干擾作用于單片機(jī)內(nèi)部的CPU部件時(shí),后果更加嚴(yán)重,將導(dǎo)致系統(tǒng)失控。最典型的失控故障是破壞程序計(jì)數(shù)器PC的狀態(tài),導(dǎo)致程序在地址空間內(nèi)“亂飛”,或者陷入“死循環(huán)”。因此,盡可能早地發(fā)現(xiàn)程序失控,并采取相應(yīng)的補(bǔ)救措施,是單片機(jī)應(yīng)用系統(tǒng)抗干擾設(shè)計(jì)的重要內(nèi)容。

使程序從“亂飛”狀態(tài)納入正軌的方法稱為程序攔截技術(shù),包括指令冗余技術(shù)、軟件陷阱技術(shù)等。使程序擺脫“死循環(huán)”,通常多采用硬件電路實(shí)現(xiàn)的監(jiān)視技術(shù),又稱“看門狗”技術(shù)(Watchdog)。常見的硬件“看門狗”電路有單穩(wěn)態(tài)型“看門狗”電路、計(jì)數(shù)器型“看門狗”電路、微處理器監(jiān)控專用芯片等。上述的抗干擾方法可參閱有關(guān)資料文獻(xiàn)。本文將討論由軟件實(shí)現(xiàn)的“看門狗”技術(shù)。

由硬件電路實(shí)現(xiàn)的“看門狗”技術(shù),可以有效地克服主程序或中斷服務(wù)程序由于陷入“死循環(huán)”而帶來的不良后果。但在工業(yè)應(yīng)用當(dāng)中,嚴(yán)重的干擾有時(shí)會(huì)破壞中斷方式控制字,導(dǎo)致中斷關(guān)閉,這時(shí)一般的硬件“看門狗”將不能使中斷恢復(fù)正常。依靠軟件進(jìn)行多重監(jiān)視,可以彌補(bǔ)上述不足。

軟件“看門狗”技術(shù)的基本思路是:在主程序中對(duì)中斷服務(wù)程序的運(yùn)行進(jìn)行監(jiān)視;在中斷服務(wù)程序中對(duì)主程序的運(yùn)行進(jìn)行監(jiān)視;采用兩個(gè)中斷實(shí)施相互監(jiān)視,稱之謂軟件三重監(jiān)視抗干擾技術(shù)。從概率觀點(diǎn),這種相互依存,相互制約的抗干擾措施,將使系統(tǒng)的可靠性大大提高。

本文以MCS—51單片機(jī)為例,說明軟件三重監(jiān)視的基本原理。系統(tǒng)軟件包括主程序、T0定時(shí)中斷子程序和T1定時(shí)中斷子程序3部分,將T0設(shè)計(jì)成高級(jí)中斷,T1設(shè)計(jì)成低級(jí)中斷,從而形成中斷嵌套。

1 主程序監(jiān)視過程設(shè)計(jì)

主程序完成系統(tǒng)測(cè)控功能的同時(shí),還要監(jiān)視T0中斷服務(wù)程序因干擾而引起的中斷關(guān)閉故障。A0為T0中斷服務(wù)程序運(yùn)行狀態(tài)的觀測(cè)單元,T0每發(fā)生一次中斷,A0計(jì)數(shù)單元少一次中斷(T0定時(shí)溢出時(shí)間小于測(cè)控功能模塊運(yùn)行時(shí)間),引起A0的變化。在測(cè)控功能模塊的出口處,將A0值與E0值進(jìn)行比較,以判斷A0是否發(fā)生變化。若A0發(fā)生變化,說明T0中斷運(yùn)行正常;若A0不變化,說明T0中斷關(guān)閉,則轉(zhuǎn)到程序入口0000H處,進(jìn)行出錯(cuò)處理后,程序恢復(fù)正常運(yùn)行。

設(shè)A0、E0、M計(jì)數(shù)單元分別為內(nèi)RAM中的30H、40H和50H單元,監(jiān)視程序如下:

loop1:MOV  50H, #00H; 清M單元

MOV 40H, 30H ;暫存A0單元

…; 測(cè)控功能模塊

CLR C

MOV A, 30H

SUBB A, 40H; 判斷A0變化

JZ loop

MOV 30H, #00H

LJMP loop1

loop:LJMP 0000H

2 T1中斷服務(wù)程序監(jiān)視過程設(shè)計(jì)

T1中斷服務(wù)程序在完成特定測(cè)控功能的同時(shí),還要監(jiān)視主程序的運(yùn)行狀態(tài)。在中斷服務(wù)程序中設(shè)置一個(gè)主程序運(yùn)行計(jì)時(shí)器M1,T1每中斷一次,M便自行加1。M中的數(shù)值與T1定時(shí)溢出時(shí)間之積表示時(shí)間值。若由M表示的時(shí)間值大于主程序的運(yùn)行時(shí)間,說明主程序因干擾而陷入了“死循環(huán)”,T1中斷服務(wù)程序便修改斷點(diǎn)地址,返回0000H,進(jìn)行出錯(cuò)處理。若M不大于主程序運(yùn)行時(shí)間,說明主程序運(yùn)行正常,中斷服務(wù)程序也正常返回。M單元在系統(tǒng)主程序運(yùn)行中循環(huán)清“0”。

設(shè)單片機(jī)晶振頻率為6MHz,T1以工作方式1產(chǎn)生2ms的定時(shí)中斷,則T1的計(jì)數(shù)初值為:

(216-N)×2×10-6=2×10-3

N=64536D=FC18H

主程序的最大循環(huán)時(shí)間為200ms,T取值應(yīng)不小于64H,可取68H。A1為T1中斷程序運(yùn)行狀態(tài)監(jiān)測(cè)單元,取內(nèi)RAM 31H單元,M仍取50H單元,60H、61H為暫存單元,則T1中斷監(jiān)視程序如下:

PUSH  PSW       ;保護(hù)現(xiàn)場(chǎng)

PUSH ACC

MOV TH1, #0FCH    ;T1置初值

MOV TL1, #18H

INC 31H     ;A1單元加1

INC 50H ;M單元加1

CLR C

MOV A,#68H

SUBB A,50H ;T≥M?

JC loop

…     ;中斷測(cè)控程序

POP ACC ;恢復(fù)現(xiàn)場(chǎng)

POP PSW

RETI  ;返回

loop:POP  ACC       ;恢復(fù)現(xiàn)場(chǎng)

POP PSW

POP 60H ;原斷點(diǎn)彈出

POP 61H

MOV 60H,#00H ;斷點(diǎn)修改為0000H

MOV 61H,#00H

PUSH 60H

PUSH 61H

RETI    ;返回

3 T0中斷服務(wù)程序監(jiān)視過程設(shè)計(jì)

T0中斷的功能是監(jiān)視T1中斷服務(wù)程序的運(yùn)行狀態(tài)。由于T0中斷服務(wù)程序較短,因干擾而引起的“死循環(huán)”的幾率很小,重點(diǎn)考慮中斷關(guān)閉故障。A1、B1為T1中斷運(yùn)行狀態(tài)觀測(cè)單元。A1的初值為00H,T1每中斷一次,A1便加1,T0中斷服務(wù)程序中若檢測(cè)到A1>0,說明T1中斷正常;若A1=0,則B1單元加1(B1的初值為00H),若B1的累加值大于Q,說明T1中斷失效,失效時(shí)間為T0定時(shí)溢出時(shí)間與Q值之積。例如:T0的定時(shí)溢出時(shí)間為4ms,T1的定時(shí)溢出時(shí)間為2 ms,當(dāng)Q=5時(shí),說明允許T1的失效時(shí)間為20 ms,在這樣長(zhǎng)的時(shí)間內(nèi),T1并沒有發(fā)生中斷,說明T1中斷發(fā)生了故障。由于T0中斷級(jí)別高于T1中斷級(jí)別,所以T1的任何故障(如死循環(huán)、中斷關(guān)閉)都會(huì)由T0檢測(cè)出來。T0中斷服務(wù)程序一般很短,發(fā)生“死循環(huán)”的幾率很小。

設(shè)單片機(jī)晶振頻率為6MHz,T0以工作方式1產(chǎn)生4 ms的定時(shí)中斷,則T0的計(jì)數(shù)初值為:

(216-N)×2×10-6=4×10-3

N=63536D=F830H

設(shè)計(jì)數(shù)單元A0、A1、B1分別為內(nèi)RAM 30H、31H、32H,Q=5,60H、61H為暫存單元,則T0中斷監(jiān)視程序如下:

PUSH   PSW     ;保護(hù)現(xiàn)場(chǎng)

PUSH ACC

MOV TH0,#0F8H ;設(shè)T0初值

MOV TL0,#30H

INC 30H ;A0加1

MOV A,31H ;A1單元判0

JZ loop1

CLR A     ;清A1、B1單元

MOV 31H,A

MOV 32H,A

loop0:POP ACC ;恢復(fù)現(xiàn)場(chǎng)

POP PSW

RETI  ;返回

loop1:INC 32H ;B1加1

CLR C

MOV A  ,32H;B1≥Q?

SUBB A,#05H

JC loop0

POP  ACC    ;恢復(fù)現(xiàn)場(chǎng)

POP PSW

POP 60H ;原斷點(diǎn)彈出

POP 61H

MOV 60H,#00H ;修改斷點(diǎn)0000H

MOV 61H,#00H

PUSH 60H

PUSH 61H

RETI

當(dāng)系統(tǒng)受到干擾后,主程序可能發(fā)生“死循環(huán)”,中斷服務(wù)程序也可能陷入“死循環(huán)”,或因中斷方式字的破壞而關(guān)閉中斷。主程序的“死循環(huán)”可由T1中斷服務(wù)程序監(jiān)視;T1中斷服務(wù)程序的“死循環(huán)”和中斷關(guān)閉故障由T0中斷服務(wù)程序監(jiān)視;T0的中斷故障可由主程序監(jiān)視。由于采取了三重軟件監(jiān)測(cè)方法,大大提高了系統(tǒng)運(yùn)行的可靠性。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉