新闻中心

EEPW首页 > 设计应用 > 智能接触器可靠性设计的软件实现方法(06-100)

智能接触器可靠性设计的软件实现方法(06-100)

——
作者:安徽淮化集团设计研究院 洪滨 安徽省淮南联合大学机电系 李善田时间:2008-04-07来源:电子产品世界收藏
  序存储器常常使用2764、27128、27512等EPROM芯片,但嵌入式应用系统很少有将其空间全部用完,剩余的大片未编程ROM空间,芯片都维持“0FFH”(原状态),而“0FFH”对MCS51系列单片机指令来说,恰巧是一个单字节指令:“MOV   R7,A”。若程序弹飞到这一区域,将顺流而下,不再跳跃(除非又受到新的干扰)。

  ·对表格使用软件陷阱

本文引用地址:http://www.eepw.com.cn/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空间)把干扰的后果“屏蔽”掉,而不改变现行监控程序的进程;其二是“备用冗余软件模块”,它在发现特定的随机干扰后,通过中断程序,调用对应的软件模块,恢复或重构数据结构。然后,再返回现行监控程序。

  下面,简单介绍笔者在零侵蚀接触器的应用软件开发中,常使用的几种软件冗余设计技巧。



评论


相关推荐

技术专区

关闭