干扰信号对单片机各部分的影响
单片机属于数字系统,各逻辑部分都有相应的阈电平和噪声容限,外来噪声只要不超过逻辑元件的容限值,系统就能正常运行。然而一旦侵入系统的噪声超过了容限,干扰就会被逻辑器件放大、整型,于是产生误动作。假如干扰改变了触发器或存储器的信息,即便干扰消除了,系统也无法恢复正常运行。
(1)运算部件和控制器
CPU属高速数字器件,其中容易受到干扰的有运算部件和控制器。运算部件实现数据的各种运算、处理和传送操作,而控制器时单片机的神经中枢。噪声的存在有可能导致CPU错误地执行指令、控制寄存器中的数据被改写,从而产生误动作或得到错误的结果,甚至引起系统瘫痪。
(2)程序计数器PC
单片机系统受干扰后最典型的故障是程序计数器PC的状态被破坏,导致程序无法按正常的顺序执行,在地址空间内“乱飞”,结果往往时陷入“死循环”。因此,程序计数器PC属于重点防范对象,它出错时必须尽可能早地发现并采取补救措施。
(3)特殊功能寄存器SFR
SFR对CPU非常重要,它实质上是一些具有特殊功能的RAM单元,包括各种I/O寄存器、片内部件工作方式寄存器,以及堆栈指针、数据指针等。 SFR传递数据的速率非常高,能够与CPU的运行密切配合。若某个SFR被干扰信号改写,则意味着程序运行结果异常,轻则改变单片机内各部件的操作控制,重则导致整个系统的输出紊乱,引发故障甚至安全事故。因此,对于与程序有关的SFR内容必须提供及时有效的保护。
(4)各类存储器MEMORY
单片机的存储器包括片内存储器和片外扩展存储器。其中,程序存储器(EEPROM或EPROM或FLASH)的抗干扰性能最好,CPU内部的数据存储器(片内RAM)抗干扰性能也较好,而片外扩展数据存储器(片外RAM)的抗干扰性能就相对较差。因此,在干扰信号较强的环境中运行的单片机,其较持久和重要的数据应当保存在片内RAM中,在扩展RAM中只宜保存临时数据,否则应当采用软件措施在应用程序中进行数据恢复。