51Testing软件测试论坛
标题:
软件抗干扰技术与测试
[打印本页]
作者:
addvalue
时间:
2005-11-13 17:51
标题:
软件抗干扰技术与测试
嵌入式软件测试中需要关注的软件抗干扰技术主要有“指令冗余技术”、“软件陷阱技术”、“软件看门狗技术”、“数字滤波技术”、“掉电保护技术”等,从而确保系统的可靠性
作者:
Tender
时间:
2005-11-14 12:33
版主讲得再详细点……
作者:
念の忧
时间:
2005-12-5 16:27
能详尽叙述一下吗?期待斑竹~~~~
作者:
addvalue
时间:
2005-12-21 10:57
从系统可靠性测试角度看,软件抗干扰技术是确保系统可靠性的重要保证。
第一,指令冗余,就是动作冗余。举个例子,你要在某个输出口上输出一个高电平去驱动一个外部器件,你如果只送一次“1”,那么,当干扰来临时,这个“1”就有可能变成“0”了。正确的处理方式是,你定期刷新这个“1”。那么,即使偶然受了干扰,它也能恢复回来。
1、LCD显示方面。总是要记得定期刷新送显数据(即使显示内容没有改变)。对于CPU中自带LCD DRIVER 的,也要定期刷新LCD RAM
2、中断使能标志的设置。不要以为你在程序初始化段将中断设置好就OK了。应该在主程序中适当的地方定期刷新一下,以免你的中断被挂起来
3、其它一些标志字和参数寄存器(包括你自己定义的),也要记得常常刷新
第二,单片机开发中经常提及这些软件滤波方法:限幅滤波法、中位值滤波法、算术平均滤波法、递推平均滤波法(又称滑动平均滤波法)、中位值平均滤波法(又称防脉冲干扰平均滤波法)、限幅平均滤波法、一阶滞后滤波法、权递推平均滤波法、消抖滤波法、限幅消抖滤波法。作为测试人员应该做些比较和错误插入对其进行测试
第三,完善的掉电保护与状态恢复技术对于嵌入式系统而言,是保证其系统可靠性的重要保证
第四,看门狗技术是一种通过不断监视程序循环运行时间使程序脱离死循环困境的软件抗干扰技术。
针对交通信号控制机举个例子说明
(1) 软件冗余技术
软件冗余技术是一种通过消耗一定系统资源达到一定纠错目的的软件抗干扰技术。其中,“重复输出法”和“利时避开法”在提高信号机的抗干扰能力方面起到了至关重要的作用。利用“重复输出法”对信号机控制信号输出锁存器和显示接口芯片进行实时刷新,能够非常有效地抑制外部干扰。在允许的情况下,信号机控制信号输出锁存器的输出重复周期应尽可能地短,使得输出端口受到某种干忧而输出错误控制信号时,外部执行设备还来不及作出有效反应,正确的控制信号就又输出到了输出端口,从而及时地避免错误动作的发生,极大地提高了信号机的抗干扰能力和安全可靠性。由于信号机显示可编程接口芯片容易受到外部干扰而产生错误的显示信息,影响信息的正常交换,因此可以将其工作方式控制字与输出状态字每次一并设备,从而有效抑制了外部干扰对显示接口芯片的影响,确保了显示信息的准确可靠。
利用“延时避开法”可在信号机即将接通或断开大功率负载(信号灯)时,使CPU进入睡眠状态暂停工作,待干扰过去以后再恢复工作,这样即有效地避开了信号灯通断电时所产生的强干扰。使用延时避开时间冗余技术的程序流程图如图2所示。
(2) 软件陷阱技术
软件陷阱技术就是通过跳转指令强行将捕获到折乱飞程序引向复位入口地址0000H,使程序纳入正轨。在各控制程序模块之间和未使用的EPROM空间设备软件软件陷阱可以有效地抑制程序乱飞,使程序运行更加可靠。在中断服务程序区通过判定中断断点地址 是否在程序存储区间,利用软件陷阱可以将乱飞入非EPROM空间的程序返回到复位入口地址0000H。在未使用的中断区使用软件陷阱可以及时捕捉到因干扰而开放的错误中断,迅速将程序返回到复位入口,通过初始化设备关闭因干扰而开放的错误中断。在写外部数据存储器之前加入条件陷阱,可以屏蔽非法写操作,防止CPU因干扰而非法修改外部数据存储器中的内容。
(3) 看门狗技术
看门狗技术是一种通过不断监视程序循环运行时间使程序脱离死循环困境的软件抗干扰技术。其中,硬件看门狗技术可以通过选用具有看门狗电路的集成芯片实现,能有效监视程序陷入死循环故障,但它对中断关闭故障无能为力;软件看门狗技术可以通过监视程序运行状态观测单元编程实现,对高级中断服务程序隐入死循环故障无能为力,但能监视全部中断关闭故障。信号机将硬件看门狗技术和软件看门狗技术有机结合起来,获得了良好的抗干扰效果。
作者:
gubinger
时间:
2006-1-5 16:02
恩,不错的文章.但是这些技术的引用,也会有后遗症,比如性能下降,代码可读性下降等等,所以很多都是根据需求,在其中做折中处理,以便能找到最合适的解决办法
作者:
AlanStone
时间:
2006-1-5 22:04
好文章
作者:
hnkfzhaomeng
时间:
2006-1-12 14:29
好东西。。。
作者:
aaa3
时间:
2006-3-21 23:37
单片机软件的可靠性设计
作者:
zdf
时间:
2007-10-9 22:13
拜读了!
作者:
takeme99
时间:
2008-6-10 10:59
谢谢 长见识了
欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/)
Powered by Discuz! X3.2