软件抗干扰既能提高效能、节省硬件,又能解决硬件解决不了的问题。大量的干扰源虽然不能造成硬件的破坏,但却使系统的工作不稳定、数据不可靠、运行失常、程序“跑飞”,严重时可导致DSP的控制失灵、发生严重事故。由于故障是暂时、间歇、随机的,用硬件解决比较困难,而软件可借助以下的技术予以解决:
(1)利用陷阱技术防止干扰造成的乱序现象扩展下去;
(2)利用时间冗余技术,屏蔽干扰信号,即多次采样输入、判断,以提高输入的可靠性;利用多次重复输出来判断,提高输出信息的可靠性;重新初始化,强行恢复正常工作,以免I/O的输入输出不正常;查询中断源的状态,防止干扰造成误中断;在不需要的时间里屏蔽中断,以减少因干扰引起的误中断;
(3)容错技术:采用一些特定的编码,对数据进行检查,判断是否因存放受干扰,然后从逻辑上对错误进行纠正;
(4)指令冗余:对重要的指令可重复写多个;
(5)标志法:设特征标志、识别标志,常在内部数据区的保护中应用;
(6)数字滤波技术:主要针对模拟信号受到干扰。