亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        單片機(jī)系統(tǒng)軟件抗干擾設(shè)計(jì)

        2013-08-15 00:54:11方向陽
        科技視界 2013年5期
        關(guān)鍵詞:服務(wù)程序看門狗主程序

        方向陽

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

        0 引言

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

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

        1 指令冗余設(shè)計(jì)

        “指令冗余”就是在程序關(guān)鍵的地方人為插入一些單字節(jié)指令,或?qū)⒂行巫止?jié)指令重寫。它是使程序從“亂飛”狀態(tài)恢復(fù)正常的一種有效措施,其前提條件要求PC 指針必須指向程序運(yùn)行區(qū),且必須執(zhí)行到冗余指令。 正常情況下CPU 取指令過程是先取操作碼,再取操作數(shù),當(dāng)指令計(jì)數(shù)器PC 受到干擾出現(xiàn)錯(cuò)誤時(shí),程序便脫離正常軌道“亂飛”,導(dǎo)致CPU 把一些操作數(shù)當(dāng)作操作碼來執(zhí)行, 從而引起整個(gè)程序的混亂。

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

        此外,在對于程序流向控制起決定作用(如RET、ACALL、LJMP 等)或?qū)ο到y(tǒng)工作狀態(tài)起重要作用(如SETB 等)的指令后面,插入兩條NOP 指令或重復(fù)寫入該指令,也可迅速將亂飛程序納入正軌,確保這些重要指令的正確執(zhí)行。

        2 軟件陷阱的設(shè)計(jì)

        當(dāng)亂飛的程序進(jìn)入非程序區(qū),冗余指令便失去作用。 此時(shí)可通過軟件陷阱的設(shè)定,攔截亂飛程序,將其迅速引向一個(gè)指定位置,再進(jìn)行錯(cuò)誤處理,使程序重新納入正軌。

        2.1 未使用的中斷向量區(qū)

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

        設(shè)計(jì)陷阱時(shí),首先要開放相應(yīng)的中斷,在中斷服務(wù)程序中安排軟件陷阱,將程序引至復(fù)位入口地址或處理錯(cuò)誤的程序入口地址。 當(dāng)設(shè)定復(fù)位入口地址時(shí),常采用的軟件陷阱形式為:

        NOP

        NOP

        LJMP 0000H

        也可利用某中斷源,如定時(shí)溢出中斷T0,可在中斷服務(wù)程序中設(shè)定陷阱程序如下:

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

        NOP

        NOP

        POP ACC

        POP ACC;丟棄PC 壓入堆棧的錯(cuò)誤斷點(diǎn)

        PUSH 00H

        PUSH 00H;將斷點(diǎn)地址0000H 送入棧頂

        RETI

        2.2 未使用的EPROM 區(qū)

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

        3 程序監(jiān)視定時(shí)器的設(shè)計(jì)

        程序監(jiān)視定時(shí)器(Watchdog,WDT),俗稱“看門狗”。 WDT 通過監(jiān)視程序運(yùn)行狀態(tài), 判斷程序是否進(jìn)入死循環(huán)或出現(xiàn)程序跑飛現(xiàn)象,進(jìn)而強(qiáng)迫程序回到復(fù)位狀態(tài)。一可通過硬件電路實(shí)現(xiàn),二可設(shè)置軟件“監(jiān)視跟蹤定時(shí)器”實(shí)現(xiàn),也就是我們要講的軟件“看門狗”技術(shù)。

        在工業(yè)應(yīng)用中,嚴(yán)重的干擾有時(shí)會(huì)破壞中斷方式控制字,關(guān)閉中斷,使對應(yīng)的中斷服務(wù)程序得不到執(zhí)行,此時(shí)硬件看門狗電路將失效,必須采用軟件“看門狗”予以配合,才能有效地解決此類問題。

        設(shè)計(jì)軟件“看門狗”時(shí),采用環(huán)形中斷監(jiān)視系統(tǒng),具體過程如下:

        (1)用定時(shí)器T1 監(jiān)視主程序的運(yùn)行時(shí)間。估算系統(tǒng)主程序執(zhí)行一次循環(huán)所需的時(shí)間t,給T1 設(shè)定一稍大于t 的定時(shí)時(shí)間(給主程序留有一定的裕度),在主程序中對T1 進(jìn)行初始化編程。 如果主程序運(yùn)行出現(xiàn)故障,T1 不能被及時(shí)初始化, 經(jīng)過時(shí)間t 后,T1 必將產(chǎn)生溢出中斷,轉(zhuǎn)入中斷服務(wù)程序,使PC 重新獲得主程序入口地址。 對于經(jīng)常使用定時(shí)器T1 進(jìn)行串行通訊的測控系統(tǒng),T1 則不能進(jìn)行中斷, 可在主程序中設(shè)一運(yùn)行觀測標(biāo)志變量,改由串行口中斷進(jìn)行監(jiān)控。

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

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

        采用以上這種環(huán)形結(jié)構(gòu)的軟件“看門狗”具有良好的抗干擾性能,大大提高了系統(tǒng)可靠性,從而保證系統(tǒng)的穩(wěn)定運(yùn)行。

        4 結(jié)束語

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

        [1]王幸之.單片機(jī)應(yīng)用系統(tǒng)抗干擾技術(shù)[M].北京:北京航空航天大學(xué)出版社,2001.

        [2]劉光斌,劉冬,姚志成.單片機(jī)系統(tǒng)實(shí)用抗干擾技術(shù)[M].北京:人民郵電出版社,2003.

        [3]何立民.MCS-51 系列單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)系統(tǒng)配置與接口技術(shù)[M].北京:北京航空航天大學(xué)出版社,2001.

        猜你喜歡
        服務(wù)程序看門狗主程序
        基于移動(dòng)終端的人事信息員工自助服務(wù)系統(tǒng)設(shè)計(jì)
        基于C#的進(jìn)程守護(hù)程序的設(shè)計(jì)
        視聽(2020年3期)2020-06-11 14:28:18
        淺談數(shù)控銑削技術(shù)代碼程序的嵌套方式研究
        把他叫醒
        電控冰箱軟件模塊化設(shè)計(jì)
        日用電器(2019年12期)2019-02-26 01:53:06
        時(shí)光倒流 換回PotPlayer老圖標(biāo)
        一種采用FPGA實(shí)現(xiàn)的通用看門狗電路
        大眾科技(2015年11期)2015-11-24 01:57:16
        水利工程施工監(jiān)理服務(wù)程序及質(zhì)量控制
        把它叫醒
        把它叫醒
        91色婷婷成人精品亚洲| 亚洲国产成人av在线观看| 欧美日韩不卡合集视频| 国产欧美日韩午夜在线观看| 国内精品人人妻少妇视频| 免费观看人妻av网站| 精品国产av色一区二区深夜久久| 中文字幕亚洲乱码熟女一区二区| 欧美人与物videos另类| 久久想要爱蜜臀av一区二区三区| 乱中年女人伦| 同性男男黄g片免费网站| 精品国产迪丽热巴在线| 成人一区二区三区国产| 人妻 日韩 欧美 综合 制服| 精品久久综合亚洲伊人| 亚洲精品中文字幕尤物综合 | 亚洲AV无码精品色欲av| 国产三级在线观看不卡| 一区二区三区在线观看人妖| 2021精品国产综合久久| 人妻妺妺窝人体色www聚色窝| 亚洲丁香婷婷综合久久小说| 国内精品极品久久免费看| 肥老熟女性强欲五十路| 777午夜精品免费观看| 国产精品18久久久久网站| 极品少妇一区二区三区| 日本爽快片100色毛片| 中国精学生妹品射精久久| av天堂吧手机版在线观看| 麻豆精品一区二区综合av| 撕开奶罩揉吮奶头视频| 中文字幕久久久人妻无码| 有码视频一区二区三区| 中国人妻与老外黑人| 国产精品亚洲欧美云霸高清| 女同性恋一区二区三区四区| 免费av一区二区三区| 久久午夜无码鲁丝片直播午夜精品 | 99久久免费看精品国产一|