999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

單片機系統軟件抗干擾設計

2013-08-15 00:54:11方向陽
科技視界 2013年5期
關鍵詞:指令單片機程序

方向陽

(鄭州市第六十三中學,河南鄭州450009)

0 引言

隨著單片機測控系統越來越復雜, 工作環境的干擾也越來越嚴重。 面對環境惡劣的工業現場,大量的干擾源雖然不會造成單片機系統硬件的破壞,卻常常會侵入系統破壞數字信號的時序,更改單片機寄存器內容,導致程序在地址空間內“亂飛”,或者陷入死循環。 因此,要保證新型微控制器的可靠性、安全性,就必須在提高硬件可靠性的基礎上,在程序設計中采取措施,通過軟件技術增強系統的穩定運行。

由于程序設計靈活,節省硬件資源,所以軟件抗干擾設計越來越引起人們的重視。下面,就以MCS-51 系列單片機為例,討論在基于單片機的測控系統中,主要應用的軟件抗干擾設計。

1 指令冗余設計

“指令冗余”就是在程序關鍵的地方人為插入一些單字節指令,或將有效單字節指令重寫。它是使程序從“亂飛”狀態恢復正常的一種有效措施,其前提條件要求PC 指針必須指向程序運行區,且必須執行到冗余指令。 正常情況下CPU 取指令過程是先取操作碼,再取操作數,當指令計數器PC 受到干擾出現錯誤時,程序便脫離正常軌道“亂飛”,導致CPU 把一些操作數當作操作碼來執行, 從而引起整個程序的混亂。

NOP 指令的插入是指令冗余設計的一種主要方式,由于MCS-51的所有指令不超過3 個字節,且多為單字節指令,所以通常是在雙字節指令和三字節指令后插入兩個字節以上的NOP 指令。 這樣即使程序“亂飛”落到操作數上,由于空操作指令NOP 的存在,就避免了后面的指令被當作操作數執行,使程序自動納入正軌。

此外,在對于程序流向控制起決定作用(如RET、ACALL、LJMP 等)或對系統工作狀態起重要作用(如SETB 等)的指令后面,插入兩條NOP 指令或重復寫入該指令,也可迅速將亂飛程序納入正軌,確保這些重要指令的正確執行。

2 軟件陷阱的設計

當亂飛的程序進入非程序區,冗余指令便失去作用。 此時可通過軟件陷阱的設定,攔截亂飛程序,將其迅速引向一個指定位置,再進行錯誤處理,使程序重新納入正軌。

2.1 未使用的中斷向量區

MCS-51 單片機的中斷向量區為:0003H~002FH, 如果部分因干擾而開放的話,可以在此區設計軟件陷阱,捕捉錯誤中斷。

設計陷阱時,首先要開放相應的中斷,在中斷服務程序中安排軟件陷阱,將程序引至復位入口地址或處理錯誤的程序入口地址。 當設定復位入口地址時,常采用的軟件陷阱形式為:

NOP

NOP

LJMP 0000H

也可利用某中斷源,如定時溢出中斷T0,可在中斷服務程序中設定陷阱程序如下:

ORG 000BH ;T0 溢出中斷入口地址

NOP

NOP

POP ACC

POP ACC;丟棄PC 壓入堆棧的錯誤斷點

PUSH 00H

PUSH 00H;將斷點地址0000H 送入棧頂

RETI

2.2 未使用的EPROM 區

作為軟件陷阱的常用指令形式:LJMP 0000H, 其機器碼為0000020000。 對于沒有使用完的EPROM 芯片空間, 可用020000 填充,如果程序飛入該區間,即可快速導入正軌。

3 程序監視定時器的設計

程序監視定時器(Watchdog,WDT),俗稱“看門狗”。 WDT 通過監視程序運行狀態, 判斷程序是否進入死循環或出現程序跑飛現象,進而強迫程序回到復位狀態。一可通過硬件電路實現,二可設置軟件“監視跟蹤定時器”實現,也就是我們要講的軟件“看門狗”技術。

在工業應用中,嚴重的干擾有時會破壞中斷方式控制字,關閉中斷,使對應的中斷服務程序得不到執行,此時硬件看門狗電路將失效,必須采用軟件“看門狗”予以配合,才能有效地解決此類問題。

設計軟件“看門狗”時,采用環形中斷監視系統,具體過程如下:

(1)用定時器T1 監視主程序的運行時間。估算系統主程序執行一次循環所需的時間t,給T1 設定一稍大于t 的定時時間(給主程序留有一定的裕度),在主程序中對T1 進行初始化編程。 如果主程序運行出現故障,T1 不能被及時初始化, 經過時間t 后,T1 必將產生溢出中斷,轉入中斷服務程序,使PC 重新獲得主程序入口地址。 對于經常使用定時器T1 進行串行通訊的測控系統,T1 則不能進行中斷, 可在主程序中設一運行觀測標志變量,改由串行口中斷進行監控。

(2)用定時器T0 監視定時器T1 的運行。在T1 中斷服務程中設一運行觀測標志變量WatchT1,T1 中斷服務程序每執行一次,WatchT1加1,在T0 中斷服務程序中通過檢測WatchT1 的變化情況判定T1 運行是否正常。 若檢測到標志變量變化不正常,比如應當加1 而未加1,則可斷定主程序運行出現故障,須在中斷服務程序中修改地址使程序重新復位。

(3)主程序監視定時器T0 的運行。 在T0 中斷服務程序中設一運行觀測標志變量WatchT0,T0 中斷服務程序每執行一次,WatchT0 加1。主程序在運行的開始儲存變量WatchT0 的初值,在主程序的尾部對變量進行判斷比較, 如果變量值發生了預期的變化, 說明T0 中斷正常,如果沒有變化則使程序重新復位運行。

采用以上這種環形結構的軟件“看門狗”具有良好的抗干擾性能,大大提高了系統可靠性,從而保證系統的穩定運行。

4 結束語

從根本上來說,軟件抗干擾仍是被動措施,而硬件抗干擾是主動措施。所以對基于單片機的測控系統來說,由于干擾信號眾多,我們必須通過分析系統所處環境的各種干擾來源,采用硬件與軟件抗干擾相結合的方法,完善系統監控程序,更好地保證單片機系統長期穩定可靠的運行。

[1]王幸之.單片機應用系統抗干擾技術[M].北京:北京航空航天大學出版社,2001.

[2]劉光斌,劉冬,姚志成.單片機系統實用抗干擾技術[M].北京:人民郵電出版社,2003.

[3]何立民.MCS-51 系列單片機應用系統設計系統配置與接口技術[M].北京:北京航空航天大學出版社,2001.

猜你喜歡
指令單片機程序
聽我指令:大催眠術
基于單片機的SPWM控制逆變器的設計與實現
電子制作(2019年13期)2020-01-14 03:15:28
基于單片機的層次漸變暖燈的研究
電子制作(2019年15期)2019-08-27 01:12:10
基于單片機的便捷式LCF測量儀
電子制作(2019年9期)2019-05-30 09:42:02
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
ARINC661顯控指令快速驗證方法
測控技術(2018年5期)2018-12-09 09:04:26
LED照明產品歐盟ErP指令要求解讀
電子測試(2018年18期)2018-11-14 02:30:34
“程序猿”的生活什么樣
英國與歐盟正式啟動“離婚”程序程序
環球時報(2017-03-30)2017-03-30 06:44:45
創衛暗訪程序有待改進
中國衛生(2015年3期)2015-11-19 02:53:32
主站蜘蛛池模板: 国产成人超碰无码| 久久99热66这里只有精品一 | 71pao成人国产永久免费视频| 亚洲色图欧美| 玖玖免费视频在线观看| 久久婷婷六月| 亚洲精品第五页| 又污又黄又无遮挡网站| 69精品在线观看| 欧美国产日韩一区二区三区精品影视| 激情视频综合网| 欧美在线免费| 国产欧美在线| 宅男噜噜噜66国产在线观看| 欧美一级爱操视频| 日本黄色a视频| 国产精品午夜电影| 视频国产精品丝袜第一页| 天堂va亚洲va欧美va国产| 少妇极品熟妇人妻专区视频| 亚洲欧美自拍视频| 久久综合色天堂av| 99国产精品一区二区| 国产精品视频导航| 人人爱天天做夜夜爽| 91无码网站| 四虎精品国产AV二区| 91麻豆国产视频| 扒开粉嫩的小缝隙喷白浆视频| 久久精品中文字幕少妇| av午夜福利一片免费看| 国产成人高清精品免费5388| 无码高潮喷水专区久久| 日韩国产黄色网站| 国产成人资源| h网址在线观看| 亚洲黄色成人| 日韩专区欧美| 黄色片中文字幕| 男女男免费视频网站国产| 亚洲国产成人久久精品软件 | 色九九视频| 精品国产女同疯狂摩擦2| 四虎综合网| 一区二区影院| 亚洲欧美人成人让影院| 99视频国产精品| 98精品全国免费观看视频| 久久精品无码专区免费| 全裸无码专区| 亚洲水蜜桃久久综合网站| 先锋资源久久| 亚洲天堂网2014| 亚洲国产中文精品va在线播放| 欧美一级一级做性视频| 韩国v欧美v亚洲v日本v| 欧美第二区| 欧美性猛交一区二区三区| 国产欧美精品一区二区| 亚洲精品动漫| 欧美成a人片在线观看| 在线观看国产精品一区| 国内精品久久人妻无码大片高| 91成人在线观看视频| 国产午夜一级毛片| 99热线精品大全在线观看| 亚洲国产成人久久77| 久久精品国产电影| 欧美视频免费一区二区三区| 美女一级毛片无遮挡内谢| 国产精品无码AV中文| 香蕉eeww99国产在线观看| 永久在线播放| 国产视频入口| 成人午夜免费观看| 国产精品色婷婷在线观看| 亚洲色无码专线精品观看| 制服丝袜无码每日更新| 欧美亚洲国产精品久久蜜芽| 国产嫩草在线观看| 天堂成人在线| 999精品视频在线|