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

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

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

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

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

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

1 主程序監(jiān)視過程設計

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

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

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

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

…; 測控功能模塊

CLR C

MOV A, 30H

SUBB A, 40H; 判斷A0變化

JZ loop

MOV 30H, #00H

LJMP loop1

loop:LJMP 0000H

2 T1中斷服務程序監(jiān)視過程設計

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

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

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

N=64536D=FC18H

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

PUSH  PSW       ;保護現(xiàn)場

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

…     ;中斷測控程序

POP ACC ;恢復現(xiàn)場

POP PSW

RETI  ;返回

loop:POP  ACC       ;恢復現(xiàn)場

POP PSW

POP 60H ;原斷點彈出

POP 61H

MOV 60H,#00H ;斷點修改為0000H

MOV 61H,#00H

PUSH 60H

PUSH 61H

RETI    ;返回

3 T0中斷服務程序監(jiān)視過程設計

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

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

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

N=63536D=F830H

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

PUSH   PSW     ;保護現(xiàn)場

PUSH ACC

MOV TH0,#0F8H ;設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 ;恢復現(xiàn)場

POP PSW

RETI  ;返回

loop1:INC 32H ;B1加1

CLR C

MOV A  ,32H;B1≥Q?

SUBB A,#05H

JC loop0

POP  ACC    ;恢復現(xiàn)場

POP PSW

POP 60H ;原斷點彈出

POP 61H

MOV 60H,#00H ;修改斷點0000H

MOV 61H,#00H

PUSH 60H

PUSH 61H

RETI

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

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

9月2日消息,不造車的華為或將催生出更大的獨角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉型技術解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數(shù)字化

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

關鍵字: 汽車 人工智能 智能驅動 BSP

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

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據媒體報道,騰訊和網易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

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

關鍵字: 華為 12nm EDA 半導體

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

關鍵字: 華為 12nm 手機 衛(wèi)星通信

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

關鍵字: 通信 BSP 電信運營商 數(shù)字經濟

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

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

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

關鍵字: BSP 信息技術
關閉
關閉