辽宁科技学院 辽宁本溪 117004
摘要:单片机的工作环境中存在着许多的干扰因素,这些干扰会使单片机的程序计数器PC的值出错,这种错误的出现往往会造成一些无法预估的危害。因此,对于单片机应用系统通常会采取许多抗干扰措施,单片机应用系统的抗干扰措施主要分为两个方面,一是硬件方面,二是软件方面。硬件方面的抗干扰措施一般花销比较大,由于财力有限,可能相关人员不能实施完美的抗干扰方案,但软件方面的抗干扰措施花销较小,且能更为有效地进行单片机应用系统的抗干扰工作,因此,我们必须加强对单片机应用系统软件抗干扰方法的探究。
关键词:单片机应用系统;软件;抗干扰
一、浅析单片机应用系统的软件抗干扰措施的重要性
1.1干扰因素及影响分析
干扰存在于单片机应用系统的各个运行过程之中。笔者先介绍一下单片机应用系统的运行过程,要使单片机应用系统开始运行,就需要对单片机应用系统的激励输入端输入一个正常激励,单片机应用系统接收到激励信号时就会开始运行,将输入的信号通过输入通道传输到程序运行空间之中,程序运行的结果再通过输出通道传出,传出后响应墙会对结果进行正常响应。再来说一下干扰,第一,在激励输入端接收正常激励信号时,还会接收到不正常的激励信号(即干扰),这些不正常的激励信号会叠加到将要传送至输入通道的数字量之中,程序运行空间会将其与数字量同化,这就会使数据采集误差变大。第二,数字量输入过程中,还会受到输入通道中的干扰,这些干扰也会与数字量一起进入程序运行空间之中,由此进一步地加大了数据采集误差。第三,程序运行过程中也会受到外界的干扰,这些干扰会影响到程序的正常运行,从而导致程序计数器PC值发生改变,干扰较为严重时甚至还会使程序跑飞造成单片机死机。第四,尽管单片机应用系统的响应墙是安全性包容的,可以保证响应的正常,但程序运行结果在通过输出通道时也会受到外界的干扰,这就会导致结果的数字量发生变化,从而使响应墙所响应的结果并不是真实的。综合以上四个过程中的干扰,可见干扰对单片机应用系统造成的影响有多么恶劣。
1.2软件干扰的必要条件分析
从专业角度来讲,单片机系统的抗干扰属于系统本身的一种自我保护,尤其是对于抗干扰软件的应用就是为了即使受到环境等因素的干扰软件本身的工作程序不会受到任何影响。在对单片机软件抗干扰稳定性进行设计时,从安全角度考虑,将软件的程序数据放在了ROM中。而一般情况下,单片机抗干扰软件应当具有以下几个方面的条件。第一,当单片机系统受到外界干扰后,在抗干扰软件的作用下系统的硬件组成不应受到损坏,另外为了方便对系统运行状态的监控,应当在关键核心的位置设置相应的检测状态。第二,当程序区因外界因素受到干扰后不会产生一定的损坏。一般情况下,在ROM中与系统有关的表格、常数等即使在受到干扰后也不会发生损坏,但是RAM程序中的系统可能因外界等的干扰发生一定的故障。而一旦RAM区的有关程序受到外界干扰,为了从根本上消除干扰带来的不利影响,应当向RAM区重新输入有关的程序。另外对于RAM区的数据在受到干扰后可能会发生一定的改变,而为了阻止这种变化对系统的影响,要求其具有一定的自我恢复数据的能力。
期刊文章分类查询,尽在期刊图书馆
二、软件抗干扰技术
通过我们的调查研究,我们发现单机片的抗干扰措施主要包含硬件抗干扰措施和软件抗干扰措施两种。对于单片机的干扰,最为常见的就是噪音等周围环境的干扰、磁场的干扰、以及系统自身操作和程序的干扰。软件抗干扰的具体措施。
2.1软件冗余技术
MCS-51所有指令都不超过三个字节,且多为单字节指令,指令由操作码和操作数组成,操作码指明CPU完成什么样的操作,单字节指令仅有操作码,隐含操作数。CPU受到干扰后,PC内容发生变化,当程序弹飞到某一单字节指令时,便自动纳入正规。当跑飞到某一双字节或三字节指令时,若恰恰在取指令时刻落到其操作数上,CPU就将操作数当作操作码来执行,引起程序混乱。因此软件设计应多采用单字节指令,并在关键的地方人为的插入一些单字节指令NOP,或将有效的单字节指令重写,这称作指令冗余。在实际软件设计中,往往在双字节和三字节指令之后插入两个NOP指令,可以保证程序跑飞后其后面的指令不会拆散,后面的程序可以正常运行。在那些对程序流向起决定作用的指令,如RET、RETI、ACALL、LJMP、JZ、JNC等之前也插入2条NOP指令,可保证跑飞的程序迅速进入正确的控制轨道。
2.2软件陷阱技术
一般而言,软件冗余技术适用于干扰后PC指向不正确的程序区,当跑飞程序进入非程序区时,我们应该采取怎样的措施呢?软件陷阱技术就是一个很好的选择,下面就让我们具体的来了解一下。(1)未使用的中断向量区。在中断向量区使用陷阱技术可以在最短的时间内发现中断信号所在区域,通过数据感应显示就可以在最短的时间里解决问题了。(2)未使用的EPROM区。假设使用了一片2764,但程序并没有用完这个2764区域,这些非程序区可以用0000020000数据填满,020000是指令LJMP0000H的机器码,当跑飞程序进入此区后,便会迅速自动进入正确轨道。(3)数据表格区。我们都知道,表格的使用是比较频繁的,表格与内容是一一对应的关系,但是庞大的表格系统如果哪一个环节出现了问题我们是比较难找出来的,而陷阱技术的运用就可以更好的改变这一状况,对症下药。(4)程序区。程序区可以说是问题的高危阶段,一旦发现问题也是致命性的,所以我们要采用该项技术,并且是广泛的运用,但也不能设置太多,一般每1K字节有几个陷阱就够了。(5)非EPROM芯片空间。MCS-51有64K程序系统空间,一般除了EPROM芯片占用的地址外,还剩余大片未编程的EPROM空间。当PC跑飞进入这些空间时,读入数据为0FFH,对51系列而言,相当于指令MOVR7,A,将修改R7的内容。当CPU读程序存储器时,会产生一个PSEN的低电平信号,可利用该信号和EPROM的地址译码信号产生选通信号,引起一个空闲的中断,在中断服务程序中设置软件陷阱,将跑飞程序拉入正规。
2.3看门狗技术
顾名思义就是实时监控,而这一技术无论是在硬件抗干扰中还是软件抗干扰的技术中都是有所运用的,但是最优的选择就是软件与硬件同时运用,这样就可以做到一个全方位的监控与控制干扰的散播与影响。
三、总结
总而言之,干扰对单片机应用系统会造成无法预估的影响。因此,相关人员必须注意对单片机应用系统的软件抗干扰方法进行探究,对于软件抗干扰方法的探究应从单片机应用系统各个运行过程分别进行考虑,以使系统能受到全方位的保护。
参考文献:
[1]张晓玲.论单片机应用系统的软件抗干扰措施[J].电子制作,2014(10)
[2]姜彬.单片机应用系统的软件抗干扰研究[J].信息与电脑,2014(12)
论文作者:姚颖
论文发表刊物:《建筑细部》2019年第10期
论文发表时间:2019/11/5
标签:抗干扰论文; 单片机论文; 干扰论文; 程序论文; 系统论文; 软件论文; 指令论文; 《建筑细部》2019年第10期论文;