绿电供应链

赛尔电气

单片机系统软件抗干扰策略在通信电源中的应用
来源: | 作者:佚名 | 发布时间: 2021-03-08 | 326 次浏览 | 分享到:

  1 引言

  单片机构成的监控系统广泛应用在工业自动化装置、生产过程控制和仪器仪表等各个领域。单片机应用于工业环境时,工作场所不仅有弱电设备,而且有更多的强电设备;不仅有数字电路,而且有许多模拟电路,形成一个强电与弱电、数字与模拟共存的局面。高速变化的数字信号有可能形成对模拟信号的干扰。此外,在一些强电设备,如:通信电源中往往还有电感、电容等储能元件,当电压、电流发生剧烈变化时就会形成瞬变噪声干扰。瞬变噪声频谱宽、能量大,对电子器件的危害很大,也是导致设备故障停机的主要原因。

  由于单片机应用环境往往比较恶劣,干扰严重,这就要求单片机应用系统既有较强的抗干扰能力。尽管我们采取了硬件抗干扰措施,但由于干扰信号产生的原因很复杂,且具有很大的随机性,难免保证系统完全不受干扰。因此,通常在硬件抗干扰措施的基础上,采用软件抗干扰技术加以补充,作为硬件措施的辅助手段。

  2 干扰信号对单片机各部分的影响

  单片机属于数字系统,各逻辑部分都有相应的阈电平和噪声容限,外来噪声只要不超过逻辑元件的容限值,系统就能正常运行。然而一旦侵入系统的噪声超过了容限,干扰就会被逻辑器件放大、整型,于是产生误动作。假如干扰改变了触发器或存储器的信息,即便干扰消除了,系统也无法恢复正常运行。

  (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中只宜保存临时数据,否则应当采用软件措施在应用程序中进行数据恢复。

  3 软件抗干扰技术

  软件抗干扰技术是当系统受干扰后时系统恢复正常运行或输入信号受干扰后去伪求真的一种辅助方法,因此软件抗干扰是被动措施,而硬件抗干扰是主动措施。软件抗干扰技术所研究的主要内容,其一是采取软件的方法抑制叠加在模拟输入信号上噪声的影响,如数字滤波技术;其二是在因干扰而使运行程序发生混乱,导致程序乱飞和陷入死循环时,采取使程序纳入正轨的措施,这些措施可以由软件单独实现,也可以采用软硬件相结合的方法来实现。

  对于已进入单片机的噪声,必须采取对应措施,尽量维持系统功能,避免导致严重后果。如果CPU已产生误动作或和存储器内容已被误修改,则应通过在应用程序中加入必要的代码进行自恢复。通常的软件抗干扰措施有:数字滤波方法、输入口信号重复检测方法、输出端口数据刷新方法、软件拦截技术(指令冗余、软件陷阱)、“看门狗”技术、发生故障时的自恢复等。以下是几种常用的方法:

  (1)主动初始化

  首先要保证上电或复位后软件能够正确地对单片机及其外围器件的各种功能、端口或方式、状态等实现初始化设置,其次在程序每次使用某功能单元前,都要尽可能地对相应的控制寄存器进行必要的设置。事实证明,这一措施能够大大提高系统对入侵干扰的自恢复性能。