讨论:智能逆变电源系统中监控模块的抗干扰设计
2012-07-29
干扰的主要形式
工业现场的干扰通常都是以脉冲的形式进入系统,主要渠道有以下三种:空间干扰、供电系统干扰和过程通道干扰。其中空间干扰主要通过电磁波辐射的方式窜入系统,供电系统干扰是由于电源和传输线内阻的存在而产生的叠加干扰,过程通道干扰是指外界干扰通过与微处理器相连的通道引入系统。由于逆变电源监控模块通常由专门的辅助电源供电,因此,影响较大的主要为空间干扰和过程通道干扰。
干扰的主要影响
干扰对监控模块的影响主要在输入、输出以及CPU单元。对输入单元而言,干扰可使模拟信号失真,数字信号出错,从而导致监控系统做出错误的判断。对输出单元而言,干扰可使各种输出信号混乱,不能正常反映系统的真实输出量。而当干扰作用于监控模块的内核CPU时,后果更加严重,最典型的失控故障是破坏程序计数器PC的状态,导致程序跑飞,或者进入死循环,从而导致一系列严重的后果。
硬件抗干扰措施
输入通道的抗干扰措施
模拟输入通道中的干扰主要是来自外部的尖峰型串模干扰,因此在信号提取和转换方面要进行特殊设计。例如:远方温度传感器与电压互感器的信号通过电压/电流转换器转换成4~20mA的电流信号,采取电流传输的形式,在进入A/D转换器时,再并联一个250Ω的电阻,将电流信号转换成1~5V的电压信号;同时,在满足采样速率要求的前提下,模数转换部分尽量采用双积分式A/D转换器;另外,应在输入电路中加装低通滤波器。对于数字量输入通道则应采取光电隔离的措施。
输出通道的抗干扰措施
监控模块的输出信号中,大多是数字信号,例如显示装置、打印装置、通信、各种报警装置以及各种继电器的驱动信号。因此采取建立检测通道的方法,单片机可以通过检测通道来判断输出结果是否正确,并做出相应的处理。
微处理器的抗干扰措施
微处理器抗干扰主要是采用看门狗电路和电压检测电路。看门狗电路本身可以看作是一个可被清除的定时脉冲发生器,如果没有清除脉冲的话,它将产生一个复位信号。现以IMP公司的IMP706为例来说明其工作过程。IMP706每隔1.6s发出一个脉冲,在1.6s时间内若检测到WCI引脚有高低电平跳变信号,则"看门狗"定时器清零并重新开始计时;若超出1.6s后,WCI引脚仍无高低电平跳变信号,则"看门狗"定时器溢出,WDO引脚输出低电平,进而触发MR手动复位引脚,使IMP706复位,从而使"看门狗"定时器清零并重新开始计时,WDO引脚输出高电平,IMP706的RST复位输出引脚输出大约200ms宽度的低电平脉冲,使单片机控制系统可靠复位,重新投入正常运行。
印刷电路板的抗干扰设计
印刷电路板的布线与工艺对监控模块的抗干扰性能至关重要,设计印刷电路板与布线时应本着尽量控制噪声源、尽量减小噪声的传播与耦合,尽量减小噪声的吸收这三大原则。首先印刷板要合理分区,通常分为三个区,即模拟电路区(怕干扰),数字电路区(既怕干扰,又产生干扰),功率区(干扰源);其次,在监控模块中,通常应采取单点接地来抑制干扰,即将模拟地与数字地分开,分别做成闭合的环路,最终将它们与电源地线于一点相连。同时在每个单元电路的电源端加装0.01~1μF的去耦电容,并且连线要尽量地短。另外,对于不使用的CMOS或TLL电路引脚应根据具体情况接电源或接地。
传输线的抗干扰设计
在传输线路上,采用具有差分传输方式的RS485通信,并在其端口进行了阻抗匹配。
软件抗干扰措施
数字滤波和数字调零技术
1)数字滤波技术即通过简单的计算或者判断程序,对采样信号进行平滑处理,分离出有用的信号,消除或减少各种干扰和噪声。目前常用的方法有程序判断滤波法、中值滤波法、算术平均滤波法、加权平均滤波法等。对逆变电源监控模块而言,由于对采集的速度要求不是特别高,但对精度有较高的要求,同时由于被采集的模拟量变化缓慢,因此采用将算术平均滤波和中值滤波结合的复合滤波方法效果较好。其方法是,首先把采样值按大小排队,然后去掉最大和最小值,最后把剩余采集值加起来取平均值。
2)数字调零技术采用这种方法主要是为了消除模拟开关、放大电路以及A/D转换器本身的偏差,削弱各种随时间和温度变化的漂移的影响。具体方法是先把模拟开关接到所需测量的输入信号上,转换后得到测量值为X1,然后把多路开关的输入接地,测出零输入时的测量值为X0,将X1减去X0即为实际输入值X。
开关量和控制信号的冗余输出
对于开关量,利用干扰信号与有效输入信号脉宽不同的特点,采取读两次的办法,即第一次读入数据后延时1段时间后再读一次,两次结果相同才予以确认;在输出的开关量控制中,也采取重复输出数据的方法。这样即使发生错误控制,也可以及时的得到弥补。
指令冗余和陷阱捕捉技术
由于失控的程序可能将操作数当作操作码,使程序完全冲乱,但当遇到单字节指令时则会纳入正轨。利用这一特点,可以在程序中对程序流向起决定性作用的指令(如LCALL、JNC、DJNZ等)或某些对系统工作状态至关重要的指令(如SETBEA等)之前加入两条NOP指令,以确保该指令不被冲散。
陷阱的设置就是采用一条引导指令,强行将捕获的程序引向指定的入口,在该地址处放置程序出错的处理程序,从而使系统重新正常运行。由于LJMP指令的操作码为02,所以把陷阱程序的入口固定在0202H,即陷阱指令为LJMP0202。
利用“时间片"解决系统死锁问题
在逆变电源监控模块中,A/D转换、显示等输入/输出接口是必不可少的。这些接口与CPU之间采用查询或中断方式工作,而这些设备或接口对干扰很敏感,干扰一旦破坏了某一接口的状态字后,就会导致CPU误认为该接口有输入/输出请求而停止工作,转去执行相应的输入/输出服务程序。但由于该接口本身并没有输入/输出数据,从而使CPU资源被该服务程序长期占用而不释放,其它任务程序无法执行,造成整个系统出现“死锁”。对这种干扰造成的“死锁”现象,可以采用“时间片”的方法来解决。其具体步骤如下:
(1)根据不同的输入/输出外设对时间的要求,分配相应的最大正常的输入/输出时间;
(2)在每一输入/输出的任务模块中,加入相应的超时判断程序。这样当干扰破坏了接口状态而造成CPU误操作时,由于该外设准备好信息长期无效,经过一定时间后,系统会从该外设的服务程序中自动返回,保证了整个软件的周期性不受影响,从而避免了“死锁”现象的发生。
以上讨论的各种抗干扰措施,已经成功地在作者研制的智能化逆变电源监控模块中得到了应用。实践证明,采取了上述的措施以后,系统的抗干扰性能明显增强,以前的一些故障现象,比如液晶显示屏在工作过程中有时出现抖动、不稳,严重时无显示的现象,完全消失。