新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 单片机系统软件如何抗干扰的方法

单片机系统软件如何抗干扰的方法

作者:时间:2013-02-17来源:网络收藏

在提高硬件系统能力的同时,软件以其设计灵活、节省硬件资源、可靠性好越来越受到重视。下面以为例,对微机系统软件方法进行研究。

  1 软件抗干扰方法的研究

  在工程实践中,软件抗干扰研究的内容主要是: 一、消除模拟输入信号的嗓声(如数字滤波技术);二、程序运行混乱时使程序重入正轨的方法。本文针对后者提出了几种有效的软件抗干扰方法。

  1.1 指令冗余

  CPU取指令过程是先取操作码,再取操作数。当PC受干扰出现错误,程序便脱离正常轨道“乱飞”,当乱飞到某双字节指令,若取指令时刻落在操作数上,误将操作数当作操作码,程序将出错。若“飞” 到了三字节指令,出错机率更大。

  在关键地方人为插入一些单字节指令,或将有效单字节指令重写称为指令冗余。通常是在双字节指令和三字节指令后插入两个字节以上的NOP。这样即使乱飞程序飞到操作数上,由于空操作指令NOP的存在,避免了后面的指令被当作操作数执行,程序自动纳入正轨。

  此外,对系统流向起重要作用的指令如RET、 RETI、LCALL、LJMP、JC等指令之前插入两条NOP,也可将乱飞程序纳入正轨,确保这些重要指令的执行。

  1.2 拦截技术

  所谓拦截,是指将乱飞的程序引向指定位置,再进行出错处理。通常用软件陷阱来拦截乱飞的程序。因此先要合理设计陷阱,其次要将陷阱安排在适当的位置。

  1.2.1 软件陷阱的设计

  当乱飞程序进入非程序区,冗余指令便无法起作用。通过软件陷阱,拦截乱飞程序,将其引向指定位置,再进行出错处理。软件陷阱是指用来将捕获的乱飞程序引向复位入口地址0000H的指令。通常在EPROM中非程序区填入以下指令作为软件陷阱:

  NOP

  NOP

  LJMP 0000H

  其机器码为0000020000。


上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭