微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 软件抗干扰笔记

软件抗干扰笔记

时间:11-26 来源:互联网 点击:
软件抗干扰技术是指当系统受干扰后,使系统恢复正常运行或输入信号受干扰后去伪存真的一种辅助方法

输入输出软件抗干扰措施

1、开关量(数字量)信号输入抗干扰措施

软件冗余技术

1、数据冗余

数据冗余就是将要保护的原始数据在另外两个区域同时存放,建立两个备份,当原始数据块被破坏时,用备份数据块去修复。备份数据的存放地址应远离原始的存放地址以免被同时破坏。数据区也不要靠近栈区,以防止万一堆栈溢出而冲掉数据。

2、指令冗余

当CPU受到干扰后,往往将一些操作数当作指令码来执行,引起程序混乱。当程序弹飞到某一单字节指令上时,便自动纳入正轨。当弹飞到某一双字节指令上时,有可能落到其操作数上,从而继续出错。当程序弹飞到三字节指令上时,因它有两个操作数,继续出错的机会更大,因此,我们应多采用单字节指令,并在关键的地方人为地插入一些单字节指令(NOP)或将有效单字节指令重复书写,这便是指令冗余。

程序运行失常的软件抗干扰

1、设置软件陷阱

当干扰导致程序计数器PC值混乱时,可能造成CPU离开正确的指令顺序而跑飞到非程序区去执行一些无意义地址中的内容,或进入数据区,把数据当作操作码来执行,使整个工作紊乱,系统失控。针对这种情况,可以在非程序区设置陷阱,一旦程序飞到非程序区,很快进入陷阱,然后强迫程序由陷阱进入初始状态。

所谓软件陷阱,就是一条引导指令,强行将捕获的程序引向一个指定的地址,在那里有一段专门对程序出错处理的程序。软件陷阱安排在以下4种地方:(1)未使用的中断向量区;2)未使用的大片ROM空间;3)表格;4)程序区。

2、设置监视跟踪定时器

也称为看门狗定时器(Watchdog),可以使陷入“死机”的系统产生复位,重新启动程序运行。在程序运行的每个循环周期内,对定时器重新初始化。如果程序运行失常,跑飞或进入局部死循环,不能按正常循环路线运行,则看门狗定时器得不到及时的初始化而使定时时间到,引起复位。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top