程序运行失常的软件对策 点击:111 | 回复:0



coolmay168

    
  • 精华:0帖
  • 求助:2帖
  • 帖子:974帖 | 131回
  • 年度积分:0
  • 历史总积分:3280
  • 注册:2013年10月23日
发表于:2014-06-17 22:14:39
楼主


系统受到干扰侵害致使PC值改变,造成程序运行失常。对于程序运行失常的软件对策主要是发现失常状态后及时引导系统恢复原始状态。
 1.设置监视跟踪定时器
使用定时中断来监视程序运行状态。定时器的定时时间稍大于主程序正常运行一个循环的时间,在主程序运行过程中执行一次定时器时间常数刷新操作。这样,只要程序正常运行,定时器不会出现定时中断。而当程序运行失常,不能及时刷新定时器时间常数而导致定时中断,利用定时中断服务程序将系统复位。在8031应用系统中作为软件抗干扰的一个事例,具体做法是:
 * 使用8155的定时器所产生的“溢出”信号作为8031的外部中断源INT1。用555定时器作为8155中定时器的外部时钟输入;
 * 8155定时器的定时值稍大于主程序的正常循环时间;
 * 在主程序中,每循环一次,对8155定时器的定时常数进行刷新;
 * 在主控程序开始处,对硬件复位还是定时中断产生的自动恢复进行分类判断处理。
 2.设置软件陷井
当PC失控,造成程序“乱飞”而不断进入非程序区,只要在非程序区设置拦截措施,使程序进入陷井,然后强迫使程序进入初始状态。例如Z80指令系统中数据FFH正好对应为重新起动指令RST 56,该指令使程序自动转入0038H入口地址。因此,在Z80 CPU构成的应用系统中,只要将所有非程序区全部置成FFH用以拦截失控程序。并在0038H处设置转移指令,使程序转至抗干扰处理程序。



热门招聘
相关主题

官方公众号

智造工程师