新聞中心

        EEPW首頁 > 設計應用 > 智能接觸器可靠性設計的軟件實現方法(06-100)

        智能接觸器可靠性設計的軟件實現方法(06-100)

        ——
        作者:安徽淮化集團設計研究院 洪濱 安徽省淮南聯合大學機電系 李善田 時間:2008-04-07 來源:電子產品世界 收藏
          序存儲器常常使用2764、27128、27512等EPROM芯片,但嵌入式應用系統很少有將其空間全部用完,剩余的大片未編程ROM空間,芯片都維持“0FFH”(原狀態),而“0FFH”對MCS51系列單片機指令來說,恰巧是一個單字節指令:“MOV   R7,A”。若程序彈飛到這一區域,將順流而下,不再跳躍(除非又受到新的干擾)。

          ·對表格使用軟件陷阱

        本文引用地址:http://www.104case.com/article/81284.htm

          單片機表格有兩類:一類是數據表格供“MOVC A,@A+PC”或“MOVE A,@A+DPTR”兩類指令使用,它的內容完全不是指令,僅僅是指令所使用的數據,可以不按排陷阱。另一類是散轉表格供“JMP @A+DPTR” 指令使用,其內容為一系列三字節指令LJMP或兩字節指令AJMP,單片機對此類表格可以在最后安排五字節的陷阱。

          ·對程序區設置軟件陷阱

          當程序運行到含有LJMP、SJMP、AJMP、RET、RETI、ACALL、LCALL等指令則會發生跳轉,即正常執行的程序運行到此類指令便不會繼續往下執行(程序斷裂點),PC的值將出現正常轉移。如果干擾使彈飛來的程序剛好落到斷裂點的操作數上或斷裂點下一條指令的操作數上時,則程序就會越過斷裂點,繼續往前沖,應用軟件必然出錯。所以,在程序斷裂點處設置軟件陷阱可有效地捕獲因干擾引起的跨斷點彈飛,而不會影響正常執行的程序流程。

          軟件看門狗

          當程序受干擾,彈飛到一個臨時構成的死循環中,軟件陷阱就無能為力了。此時,系統將面臨著完全癱瘓。而軟件看門狗(SWD)法可以成功地解決此類問題。軟件看門狗實質上是一種監控定時器,它具有以下特征:

          ·本身能獨立工作,基本上不依賴于CPU。

          ·CPU在一個固定的時間間隔與該系統打一次交道,以表明系統目前尚正常。

          ·當CPU陷入死循環后,能及時發覺并使系統復位。

          軟件看門狗(SWD)技術具體實現方法如下:

          首先,在初始化程序中設置Ti的工作方式,并啟動其中斷和計數功能。其次,計算各條指令執行時所耗時間,以適當的間隔設置Ti的初值。最后,設計Ti溢出所對應的中斷子程序。此子程序只有一條指令,即在Ti對應的中斷向量地址(000BH)寫入無條件轉移指令,把PC拖回整個程序的第一行,對單片機重新進行初始化,并獲得正確執行順序。
          
          中的軟件冗余技術

          “冗余設計”原是系統可靠性設計的一種技術,常用于系統工程設計上。在零侵蝕接觸器的軟件容錯模塊設計中,筆者充分利用冗余設計思想,有效的解決許多難點問題。軟件冗余模塊,可分為兩類,其一是,“工作冗余軟件模塊”,它利用冗余資源(CPU時間,RAM空間)把干擾的后果“屏蔽”掉,而不改變現行監控程序的進程;其二是“備用冗余軟件模塊”,它在發現特定的隨機干擾后,通過中斷程序,調用對應的軟件模塊,恢復或重構數據結構。然后,再返回現行監控程序。

          下面,簡單介紹筆者在零侵蝕接觸器的應用軟件開發中,常使用的幾種軟件冗余設計技巧。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 兴化市| 定远县| 南投县| 汉中市| 大新县| 桂林市| 浑源县| 淮阳县| 通海县| 疏附县| 桓仁| 漳浦县| 鹿邑县| 衡山县| 资中县| 望城县| 南岸区| 翁源县| 桐乡市| 屯留县| 镇巴县| 东平县| 丹东市| 祁连县| 万宁市| 枣强县| 洛扎县| 吉水县| 阿拉尔市| 广安市| 呼伦贝尔市| 祥云县| 张家港市| 太谷县| 舒城县| 岐山县| 满城县| 海城市| 牡丹江市| 若尔盖县| 巨鹿县|