智能接触器可靠性设计的软件实现方法(06-100)
软件博弈(Software subgame)技术借助经济学的博弈思想,在零侵蚀接触器的控制器程序设计时,充分考虑来自不同渠道的各种干扰对监控程序和功能模块的影响及消除办法。下面举例说明:
本文引用地址:http://www.amcfsurvey.com/article/81284.htm软件屏蔽法
利用微处理器的“空闲方式”,使CPU平时处在“磕睡状态”;当有任务时,用中断唤醒它,处理完工作后,再进入“打磕睡”状态。这样一来控制器既节省能源,又减少了沿传输线而来的随机干扰对系统的影响。
软件屏蔽法的具体做法是在主程序中加上一小段指令:
MOV PCON ,#01H ;IDL←1
NOP
NOP
上述指令段中的“PCON”为电源控制寄存器,“IDL”为空闲方式控制位。“软件屏蔽法”特别适合于以CMOS型单片机(80C31、80C51、87C51等)为核心,控制对象运动简单,而环境干扰又较大的实时控制系统。
软件陷阱法
软件陷阱法的指导思想是:把控制系统中未使用的单元,用某种“引导指令”填满,作为“陷阱”,来捕捉“弹飞”的程序,并强行将捕获的程序引向一个特定的地址,在那里有一段专门进行错误处理的程序,来恢复系统的正常运行。如果把该段错误处理程序的入口标号称为“ERR”,则软件陷阱的核心就是一条“LJMP ERR”的指令。为了加强其捕捉弹飞程序的效果,一般还在其前面加两条“NOP”指令。即“软件陷阱”一般由三条指令构成,它们是:
NOP
NOP
LJMP ERR
下面,针对51系列单片机的具体情况给出软件陷阱的实际用法。
·对中断向量区设置软件陷阱
如果干扰信号使未使用的中断开放,并激活这些中断时,就会导致监控程序运行混乱;但如果在这些地方设置软件陷阱,就能及时捕捉到错误中断,提高系统的可靠性。
·对未使用的ROM空间设置软件陷阱
单片机外扩展程序存储器常常使用2764、27128、27512等EPROM芯片,但嵌入式应用系统很少有将其空间全部用完,剩余的大片未编程ROM空间,芯片都维持“0FFH”(原状态),而“0FFH”对MCS51系列单片机指令来说,恰巧是一个单字节指令:“MOV R7,A”。若程序弹飞到这一区域,将顺流而下,不再跳跃(除非又受到新的干扰)。
评论