• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 設(shè)計(jì)應(yīng)用 > 智能接觸器可靠性設(shè)計(jì)的軟件實(shí)現(xiàn)方法(06-100)

    智能接觸器可靠性設(shè)計(jì)的軟件實(shí)現(xiàn)方法(06-100)

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

      ·對表格使用軟件陷阱

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

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

      ·對程序區(qū)設(shè)置軟件陷阱

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

      軟件看門狗

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

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

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

      ·當(dāng)CPU陷入死循環(huán)后,能及時發(fā)覺并使系統(tǒng)復(fù)位。

      軟件看門狗(SWD)技術(shù)具體實(shí)現(xiàn)方法如下:

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

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

      下面,簡單介紹筆者在零侵蝕接觸器的應(yīng)用軟件開發(fā)中,常使用的幾種軟件冗余設(shè)計(jì)技巧。



    關(guān)鍵詞: 智能接觸器 控制器

    評論


    相關(guān)推薦

    技術(shù)專區(qū)

    關(guān)閉
    主站蜘蛛池模板: 永川市| 武鸣县| 遂溪县| 三河市| 精河县| 甘南县| 郧西县| 晴隆县| 永平县| 无棣县| 轮台县| 新余市| 宿松县| 长沙县| 凯里市| 丹棱县| 松阳县| 蓝田县| 融水| 左云县| 常宁市| 五峰| 敦煌市| 新疆| 绥芬河市| 台北市| 都匀市| 竹溪县| 四平市| 普格县| 湖南省| 安义县| 广南县| 沂南县| 青海省| 长兴县| 湖口县| 祁门县| 综艺| 丰原市| 得荣县|