对于高可靠性的工业产品中,如果利用软件应对有可能引起指令异常的干扰是<br />不现实的,尤其现在对产品的EMI测试要求愈来愈严格的情况下,比如现在越来<br />越多的工业产品需要应对CLASS A 的测试,在实际系统中,任何一个指令的异<br />常都可能引起系统的异常,这在CLASS A 中的测试是不允许的.即使在CLASS B<br />的测试中也只允许一次复位,如果你启动了watchdog,但是你的硬件不能<br />抵抗持续的EMI测试,那么MCU将会reset again and again.<br /><br />在EMI的分析上,通常分为干扰源,干扰路途,接受对象,当MCU的指令异常时,<br />从干扰源到接受对象整个干扰已经完成.所谓的软件抗干扰只是收拾善后工作,<br />减小系统fail后的危害后果而已.<br /><br />所以软件抗干扰只能作为系统抗干扰的一种辅助手段,<br />在比如通信数据流中的编码检错,是一种比较有用<br />的手段.数字滤波也是应对采样信号受干扰的有效手段之一,<br />实际上,这些手段更多的体现的是数学功能.<br /><br />结论:<br />1,软件抗干扰对指令异常是无能为力,只是让系统死的风光一点<br />2,学好数字信号处理,让你的软件更稳定一些.<br />3,做好系统的设计和MCU周边硬件电路的设计,做好早期的EMI设计规划,不要期望到后来软件来补漏.<br />4,选一颗坚强的"芯",推荐freescale.<br />5,以上针对的是工业产品,如果是消费产品,如果你能用到通常介绍的软件抗干扰方法,你的产品将立刻与众不同,<br />不要象我家的机顶盒遥控器,老要拔掉电池 and restart,shit.<br /> |