新聞中心

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

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

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

  ·對表格使用軟件陷阱

本文引用地址:http://m.butianyuan.cn/article/81284.htm

  單片機表格有兩類:一類是數(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,單片機對此類表格可以在最后安排五字節(jié)的陷阱。

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

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

  軟件看門狗

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

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

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

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

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

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

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

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



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

評論


相關(guān)推薦

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

關(guān)閉