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

        ?

        51單片機應用系統(tǒng)軟件抗干擾初探

        2016-05-14 12:58:44王芳
        青春歲月 2016年8期
        關鍵詞:指令集看門狗抗干擾

        【摘要】在提高單片機硬件系統(tǒng)抗干擾能力的同時,軟件抗干擾以其設計靈活、節(jié)省硬件資源、可靠性好等特點,越來越受到設計者的重視,本文主要從實際應用的角度闡述單片機系統(tǒng)軟件抗干擾的具體實現(xiàn)方法。

        【關鍵詞】單片機;軟件;看門狗;抗干擾;指令集

        隨著單片機在各個領域應用愈來愈廣泛,單片機應用系統(tǒng)的可靠性越來越成為人們關注的一個重要課題。由于51系列單片機的指令系統(tǒng)是復雜指令集結構,致使其抗干擾性能不高,尤其用在工業(yè)控制的場合,不增加額外的抗干擾措施,甚至無法正常工作。要提高單片機系統(tǒng)的抗干擾性能無非是從硬件和軟件兩個方面加以考慮。硬件系統(tǒng)是單片機系統(tǒng)穩(wěn)定工作的根本,經(jīng)常采用的方法有:改善系統(tǒng)的布局、布線;提高強電與弱電的隔離度;增加濾波器;增加“硬件看門狗”等等,成本高;而軟件抗干擾在不增加系統(tǒng)復雜性,不提高成本,也可以提高系統(tǒng)的穩(wěn)定性。51系列單片機的指令包括單字節(jié)、雙字節(jié)和三字節(jié)指令,雙字節(jié)和三字節(jié)指令包含操作碼和操作數(shù)兩部分。當單片機受到嚴重干擾時,程序計數(shù)器PC因干擾而改變,程序便脫離正常軌道“亂飛”,如果“飛”到單字節(jié)指令或雙字節(jié)、三字節(jié)指令的操作碼上,稱這種“跑飛”為“第一類跑飛”。當“飛”到某雙字節(jié)或三字節(jié)指令的操作數(shù)上,誤將操作數(shù)當作操作碼執(zhí)行,出現(xiàn)嚴重錯誤,稱這種“跑飛”為“第二類跑飛”。無論是前一種情況還是后一種情況,“跑飛”的程序執(zhí)行結果將是無法預料的。

        一、單片機軟件抗干擾設計的主要方法

        軟件抗干擾設計的主要目的就是及時發(fā)現(xiàn)程序的“跑飛”,并及時地將程序拉入正常軌道,主要方法有:指令冗余、軟件“看門狗”、軟件“陷阱”、程序“跑飛”攔截等等。

        1、指令冗余

        CPU取指令過程是先取操作碼,再取操作數(shù)。在程序的關鍵地方人為的插入一些單字節(jié)指令,或將有效單字節(jié)指令重寫稱為指令冗余,通常是在雙字節(jié)指令和三字節(jié)指令后插入兩個字節(jié)以上的NOP指令。此外,對系統(tǒng)流向起重要作用的指令,如RET、RETI、LCALL、LJMP、JC等,可以在這些指令之前插入兩條NOP指令,可將跑飛程序納入正軌,以確保這些重要指令的執(zhí)行。指令冗余只能使CPU不再將操作數(shù)當作操作碼錯誤地執(zhí)行,卻不能主動地將程序的錯誤執(zhí)行方向扭轉過來,要想糾正程序的錯誤執(zhí)行方向,就需要下面的技術。

        2、軟件“看門狗”技術

        跑飛的程序在執(zhí)行一些錯誤操作之后,經(jīng)常會進入“死循環(huán)”,也就是常說的“死機”。通常采用“看門狗”技術使程序脫離“死循環(huán)”,“看門狗”技術可由硬件實現(xiàn),也可由軟件實現(xiàn)。在工業(yè)應用中,嚴重的干擾有時會破壞中斷方式控制字,關閉中斷,造成看門狗失效,這時可以采用環(huán)形中斷監(jiān)視系統(tǒng)。用定時器T0監(jiān)視定時器T1,用定時器T1監(jiān)視主程序,主程序監(jiān)視定時器T0。采用這種環(huán)形結構的軟件“看門狗”具有良好的抗干擾性能,大大提高了系統(tǒng)可靠性。

        軟件“看門狗”技術需要使用定時器,而在大多數(shù)的控制程序中,定時器都是緊俏的資源,這就使軟件“看門狗”技術的實際應用受到了限制,可以采取一些技巧性的處理,將軟件“看門狗”程序與其它定時程序復用同一個定時器,這樣既完成定時功能又完成軟件“看門狗”的功能。

        3、軟件“陷阱”

        通常在程序存儲器中未使用的EPROM空間填入空操作指令NOP(00H),最后再填入一條跳轉指令,跳轉到跑飛處理程序,或者直接填入指令LJMP 0000H (020000),當跑飛程序落到此區(qū),即可在執(zhí)行一段空操作后轉入正軌。

        軟件陷阱的一般結構為:

        NOP

        NOP

        LJMP FLY;FLY為跑飛處理程序。

        如果程序正常執(zhí)行,軟件陷阱部分是永遠也執(zhí)行不到的,只有在程序跑飛到陷阱里,軟件陷阱會立刻將程序跳轉到正常軌道。

        除了程序存儲器的空白區(qū),程序的數(shù)據(jù)表結尾也應該設置軟件陷阱,如果數(shù)據(jù)表比較大,應該在數(shù)據(jù)表的中間也設置軟件陷阱,以保證程序跑飛到數(shù)據(jù)區(qū)能及時轉入正軌。當使用的中斷因干擾而開放時,在對應的中斷服務程序中設置軟件陷阱,能及時捕獲錯誤的中斷。如某應用系統(tǒng)雖未用到外部中斷1,外部中斷1的中斷服務程序可為如下形式:

        NOP

        NOP

        RETI

        返回指令可用“RETI”,也可用“LJMP FLY”,用“LJMP FLY”作返回指令可直接進入故障診斷程序,盡早地處理故障并恢復程序的運行。軟件陷阱的數(shù)量要根據(jù)實際受到干擾的情況和程序存貯器的容量來確定。

        4、設置程序運行標志,攔截“跑飛”程序

        單片機程序的結構一般都是由一個上電復位初始化程序、一個主程序、幾個中斷服務程序和若干子程序組成的,51系列單片機的RAM區(qū)中有一個位尋址區(qū),可以在位尋址區(qū)中設立一些標志位,這些標志位分別代表不同的程序模塊,一個字節(jié)可以對應8個程序模塊。舉一個簡單的例子來說明攔截“跑飛”程序的應用,在調用每一個子程序的開始將自己的標志位置1,在子程序的結尾進行檢查,如果自己的標志位是1,說明程序執(zhí)行正常,否則程序就出現(xiàn)了“跑飛”,在退出該子程序之前,將其對應標志位清零。

        如果程序模塊比較多,位尋址區(qū)不夠使用,可以給不同的模塊分配不同的代碼,在RAM區(qū)選擇一個特殊字節(jié)作為運行標志,當某個程序模塊正在執(zhí)行時,將該特殊字節(jié)賦值為該模塊的代碼,這樣一個RAM字節(jié)就可以對應256個程序模塊。

        二、經(jīng)常用到的其它提高單片機系統(tǒng)抗干擾性能的方法

        1、檢查RAM區(qū)標志數(shù)據(jù),及時發(fā)現(xiàn)嚴重干擾

        這種方法是在RAM區(qū)中選擇幾個固定單元,在初始化程序中將其設置成固定的數(shù)據(jù),如“55H”或“0AAH”等,只要程序正常運行,這些單元的內容是不會改變的。如果因為程序“跑飛”或其它干擾導致這些RAM單元中的任何單元的數(shù)據(jù)發(fā)生了變化,說明單片機系統(tǒng)已經(jīng)受到了嚴重的干擾,不能可靠地運行下去了。適時地檢查RAM單元的內容,發(fā)現(xiàn)有數(shù)據(jù)改變,立刻執(zhí)行LJMP0000H語句,強制單片機復位。

        2、刷新輸出端口,排除嚴重干擾

        當單片機系統(tǒng)受到嚴重干擾時,輸出端口的狀態(tài)也可能因干擾而改變,在程序的執(zhí)行過程中適時地根據(jù)相關程序模塊的運算結果刷新輸出端口,可以排除干擾對輸出端口狀態(tài)的影響,使錯誤的輸出狀態(tài)及時得到糾正。

        3、輸入多次采樣,避免嚴重干擾

        強烈的干擾會影響單片機的輸入信號,造成輸入信號瞬間采樣的誤差或誤讀,要避免干擾的影響,通常采取重復采樣、加權平均的方法。

        4、結束語

        軟件運行過程中受到的干擾是不確定的,軟件抗干擾屬于微機系統(tǒng)的自身防御行為,以上所提到的軟件抗干擾的方法,都不是單獨使用的,只有根據(jù)實際情況將這些方法有效地結合起來,并與硬件抗干擾措施一起使用,才能達到最佳抗干擾效果,使單片機系統(tǒng)穩(wěn)定可靠地工作。

        【參考文獻】

        [1] 胡漢才. 單片機原理及其接口技術. 北京:清華大學出版社, 2005.

        [2] 戴梅萼. 微型計算機及其應用. 北京:清華大學出版社, 2000.

        【作者簡介】

        王芳(1981—),女,漢族,內蒙包頭人,碩士學位,包頭輕工職業(yè)技術學院講師,主要研究方向:計算機科技。

        猜你喜歡
        指令集看門狗抗干擾
        3DNow指令集被Linux淘汰
        電腦報(2021年49期)2021-01-06 18:36:55
        把他叫醒
        反艦導彈雷達導引頭試驗數(shù)據(jù)動態(tài)處理模型設計
        艦載雷達面臨的電子對抗威脅及防范措施分析
        科技視界(2016年18期)2016-11-03 22:40:24
        變頻器控制回路抗干擾措施及調試故障處理
        實時微測量系統(tǒng)指令集及解析算法
        一種采用FPGA實現(xiàn)的通用看門狗電路
        大眾科技(2015年11期)2015-11-24 01:57:16
        異步電動機節(jié)能控制方法及抗干擾技術
        科技視界(2015年25期)2015-09-01 17:50:31
        把它叫醒
        把它叫醒
        911国产在线观看精品| 成人麻豆日韩在无码视频| 久久成人国产精品免费软件| 玩弄放荡人妻一区二区三区| 失禁大喷潮在线播放| 亚洲人成综合网站在线| 国产伪娘人妖在线观看| 亚洲天堂av在线观看免费| 午夜无码一区二区三区在线观看| 熟妇人妻av中文字幕老熟妇| 狼友AV在线| 久久综合激激的五月天| 亚洲av乱码二区三区涩涩屋| 精品无码国产一区二区三区av| jizz国产精品免费麻豆| 青青草国内视频在线观看| 日本av亚洲中文字幕| 精品久久久无码中字| 国产精品主播视频| 国产色婷亚洲99精品av网站| 女人18片毛片60分钟| 国产成人精品av| 9丨精品国产高清自在线看| 蜜桃人妻午夜精品一区二区三区 | 久久综合狠狠色综合伊人| 国产精品嫩草影院午夜| 国产99久久久国产精品免费| 久久国产劲爆∧v内射| 午夜精品久久久久久中宇| 国产成社区在线视频观看| 大屁股流白浆一区二区三区| 中文字幕乱码无码人妻系列蜜桃 | 亚洲色成人网站www永久四虎| 小12箩利洗澡无码视频网站| 男女在线免费视频网站| 国产精品无套一区二区久久| 精品无码人妻一区二区三区不卡| 婷婷色综合成人成人网小说| 亚洲av高清一区二区| 亚洲色一区二区三区四区| 丰满人妻在公车被猛烈进入电影|