单片机在嵌入式系统应用中的抗干扰措施
现在已有许多更先进的集电源监视和“看门狗”于一身的新型芯片,如MAX705、MAX706、MAX813L等,有的还具备掉电检测、备用电池自动切换功能。
2.软件看门狗
软件狗实际上就是通常所说的软件陷井。它是在程序存储器的空余地址中全部填上1条跳转指令,一旦程序跑飞,只要程序指针指向这些地址,便立即被强行跳转至程序开头或其他指定地址处,从而使程序继续正常运行。
四、软件中的抗干扰措施
提高系统可靠性的方法有排错设计和容错设计。前面提到的排错设计并不能将干扰完全解决。而容错就是允许系统发生故障,借助冗余技术使其自动抵消,在故障存在的情况下也能使系统正常运行。下面介绍一下常用的几种软件容错方法。
1.数据采集误差的软件对策
对于实时数据采集系统,为了消除传感通器中的干扰信号,在硬件上常采取模拟滤波器对信号实现频率滤波,也可以用CPU的运算控制功能也可以实现频率滤波,这就是数字滤波(软件滤波)。对一点数据连续采样多次,计算其平均值,以平均值作为点的采样结果,这样可以减少系统的随机干扰对采集结果的影响。根据干扰造成采样数据偏大或偏小的情况,对一个采样点连续采集多个信号,对采样值进行比较,取中值作为该点的采集结果。还可利用软件完成RC低通滤波器的算法,实现用软件方法代替硬件RC滤波器。一阶递推数字滤波公式为
式中:Q为数字滤波器时间常数;Yn为第n次采样时的滤波输出;Xn为第n次采样时的滤波输入。
2.时间冗余
在程序的适当位置设置若干检查点,在每一个检查点保存程序在该检查点之前正确运行而得到的全部信息及标志。如果故障是暂时性的,则程序卷回到上一检查点开始重新执行,这样可以完全消除错误,其框图如图3所示。但它只能检出而不能消除永久性故障,用时间换取可靠性。
3.N版本程序设计
N版本程序设计,是为某一个确定功能而独立编制的几个程序同时运行,其结果是通过这些独立程序的运行结果经多数表决而得到的,其结构框图如图4所示。N版本程序设计中,特别强调N版本,因为如果各程序采用了相同的结构、相同的算法,就有可能产生相同的错误而使多数表决失败。
评论