新聞中心

EEPW首頁(yè) > 設(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ī)電系 李善田 時(shí)間:2008-04-07 來(lái)源:電子產(chǎn)品世界 收藏
  序存儲(chǔ)器常常使用2764、27128、27512等EPROM芯片,但嵌入式應(yīng)用系統(tǒng)很少有將其空間全部用完,剩余的大片未編程ROM空間,芯片都維持“0FFH”(原狀態(tài)),而“0FFH”對(duì)MCS51系列單片機(jī)指令來(lái)說(shuō),恰巧是一個(gè)單字節(jié)指令:“MOV   R7,A”。若程序彈飛到這一區(qū)域,將順流而下,不再跳躍(除非又受到新的干擾)。

  ·對(duì)表格使用軟件陷阱

本文引用地址:http://2s4d.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ī)對(duì)此類表格可以在最后安排五字節(jié)的陷阱。

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

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

  軟件看門狗

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

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

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

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

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

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

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

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



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

評(píng)論


相關(guān)推薦

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

關(guān)閉