新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于MCS-96單片機控制系統的程序失控防范

        基于MCS-96單片機控制系統的程序失控防范

        作者: 時間:2012-02-15 來源:網絡 收藏

        3 無擾動重恢復

          上述各項措施,只解決了如何發現系統被干擾和如何捕捉到失控的程序,這對于巡回檢測、顯示之類的普通單片機應用系統已經足夠了。但是,在一些關鍵的工業控制系統中,由于工作過程和生產工藝的邏輯性和順序性,當后,希望引導系統恢復執行剛才失控發生時的那個程序模塊,不希望,甚至不允許程序從入口處重新執行。更重要的是,失控程序往往會亂涂亂寫,不僅會破壞一些重要的信息,而且會對輸出口進行非法操作。在此情況下前述方法就顯得太不完整了。因此,如何恢復系統的重要信息,盡量無擾動地重新進入正常工作狀態,是一個必須解決的問題,同時也是一個比較難解決的問題。

        3.1 利用軟件選擇啟動方式的方法

          復位有兩種方式:即初始復位和再次復位。習慣上稱前者為“冷啟動”,后者為“熱啟動”?!袄鋯印睍r,系統的狀態全部無效,需進行徹底的初始化操作。而 “熱啟動”僅對系統的當前狀態進行修復和有選擇的初始化,從而使系統盡可能快的恢復正常。系統初次上電投入運行時,必須是“冷啟動”。運行過程中,由于抗干擾措施引起的復位,一般均為“熱啟動”。為了使系統能正確地決定采用何種啟動方式,往往由軟件用“上電標志”來區分。系統入口程序設計策略如圖3—1所示。

          為使“熱啟動”順利進行,首先要關中斷,重新設置堆棧,將所有的I/O口設置為安全狀態,封鎖I/O操作,以免事態擴大,然后進行信息的恢復和狀態的重入工作。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 冕宁县| 枞阳县| 台北县| 额尔古纳市| 平阴县| 建阳市| 福贡县| 宜兰县| 瑞金市| 湄潭县| 神池县| 甘南县| 德安县| 安吉县| 淳安县| 克东县| 科技| 乡宁县| 宜春市| 绥化市| 海兴县| 汾西县| 皋兰县| 泉州市| 西乌珠穆沁旗| 满洲里市| 民乐县| 体育| 彭山县| 惠来县| 厦门市| 得荣县| 静乐县| 盐城市| 台南市| 乌兰察布市| 孟津县| 巴中市| 临沧市| 峨边| 宽甸|