单片机在嵌入式系统应用中的抗干扰措施
N版本程序设计中包含了程序设计上的冗余,用效率换取可靠性,能容忍设计错误的能力,还能屏蔽某些类型的暂时性硬件故障。
数据的冗余保护也是N版本程序设计思想的应用。将重要数据同时存入几个不相邻的存储单元,由于不相邻存储单元因干扰而被同时改写的可能性很小,即使有一两个存储单元出错也能得到正确的数据。
4.弃权规则
就是当程序运行或继续运行的某些必要条件未能具备时,放弃对这些条件的要求,不是产生等待、中断、出错或停机,而是采用跳过、转移、N-1、默认等方式保证程序继续运行,这些方法只适用于屏蔽暂时故障,所以要求同时产生报警输出,以便确定是否需要人为干预来消除永久故障。弃权规则首先要不影响程序的正确性和适应用性。
(1)跳过
在不影响控制系统正常运行的前提下,跳过条件不具备而导致故障的模块向下执行,这是软件失效运行的形式之一。所谓软件失效运行就是在故障发生时先把故障模块从系统中断开,再对系统的其余模块进行重构,使系统能继续运行,但功能降低,即降级运行。可靠性的提高是以某些功能的损失为代价的。
(2)N-1方式
N-1方式是基于控制程序的循环执行特性,即采用上一次循环(第N-1次)的数据代替本次循环(第N次)所需的却未出现或未具备的数据。这种方法特别适用于缓变的被控对象。例如某次控制输出被判断为不合理,则利用上次循环的输出来代替它。
(3)默认
默认也是弃权规则形式之一,与跳过不同的是采用预先置入的合理条件代替未具备的条件,即默认条件存在。例如将非法输入的操作指令默认的无输入,继续原操作。
总之,弃权规则的目的是使工作在实时方式的控制系统保证连续运行,以确保被控系统长期稳定工作,虽然系统的功能有可能降低。
控制系统常用的软件容错方法很多,还有非正常性规则、失效保险设计等,在此就不不一一介绍。排错设计和容错设计的方法也很多,要根据现场情况选择适当的方法。以上介绍的抗干扰措施是在长期实践中摸索出的一些经验,在此提出仅供参考。
linux操作系统文章专题:linux操作系统详解(linux不再难懂)
评论