软件抗搅扰技能是指当体系受搅扰后,使体系康复正常运转或输入信号受搅扰后去伪存真的一种辅佐办法。
输入输出软件抗搅扰办法
1、开关量(数字量)信号输入抗搅扰办法
软件冗余技能
1、数据冗余
数据冗余便是即将维护的原始数据在别的两个区域一起寄存,树立两个备份,当原始数据块被损坏时,用备份数据块去修正。备份数据的寄存地址应远离原始的寄存地址避免被一起损坏。数据区也不要接近栈区,以避免假如仓库溢出而冲掉数据。
2、指令冗余
当CPU遭到搅扰后,往往将一些操作数当作指令码来履行,引起程序紊乱。当程序弹飞到某一单字节指令上时,便主动归入正轨。当弹飞到某一双字节指令上时,有或许落到其操作数上,然后持续犯错。当程序弹飞到三字节指令上时,因它有两个操作数,持续犯错的时机更大,因而,咱们应多选用单字节指令,并在要害的当地人为地刺进一些单字节指令(NOP)或将有用单字节指令重复书写,这便是指令冗余。
程序运转异常的软件抗搅扰
1、设置软件圈套
当搅扰导致程序计数器PC值紊乱时,或许形成CPU脱离正确的指令次序而跑飞到非程序区去履行一些无意义地址中的内容,或进入数据区,把数据当作操作码来履行,使整个作业紊乱,体系失控。针对这种状况,能够在非程序区设置圈套,一旦程序飞到非程序区,很快进入圈套,然后逼迫程序由圈套进入初始状况。
所谓软件圈套,便是一条引导指令,强即将捕获的程序引向一个指定的地址,在那里有一段专门对程序犯错处理的程序。软件圈套安排在以下4种当地:(1)未运用的中断向量区;2)未运用的大片ROM空间;3)表格;4)程序区。
2、设置监督盯梢守时器
也称为看门狗守时器(Watchdog),能够使堕入“死机”的体系发生复位,从头启动程序运转。在程序运转的每个循环周期内,对守时器从头初始化。假如程序运转异常,跑飞或进入部分死循环,不能按正常循环道路运转,则看门狗守时器得不到及时的初始化而使守时时刻到,引起复位。
声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/changshang/jieda/258581.html