单片机系统抗干扰能力的分析
2015-02-27赵亚茹
单片机全称是单片微型计算机,又称微控制器,是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能集成到一块硅片上构成的一个小而完善的微型计算机系统,以其小巧且较高的性价比在工业控制领域有着广泛的应用。
1 单片机干扰的形成和分类
1.1 电源开关的通断、电机和大的用电设备的启停会引起供电电网发生波动,使电网出现尖峰脉冲干扰,会使同一供电网的单片机控制系统无法正常运行。这可归结为供电系统干扰。
1.2 控制系统的数据输入输出通道也是干扰源进入的途径,而各种信号线和控制线彼此间也会产生电磁干扰,使系统程序产生错误。此类干扰是过程通道干扰。
1.3 还有就是空间干扰,来自太阳及其他天体辐射电磁波,大功率的广播电视设备和周围其它电气设备发出的电磁干扰。
2 单片机硬件及软件的抗干扰措施
2.1 硬件抗干扰
2.1.1 设计抗干扰的电源。多数单片机对电源噪声有很灵敏的反应,通过设备电源线进入系统内部的干扰会对微机产生很大影响。电源的共用在电源各个电子设备之间也会产生相互干扰。因此,单片机输入电源要与强电设备动力电源分开;在共用的电源上使用隔离变压器,可以阻止由电网产生的干扰;也可以给单片机电源添加稳压器或滤波电路,防止过压或欠压出现带来电源噪声的干扰;对供电系统有较高要求的还可以使用不间断电源。
2.1.2 在集成电路的地线端和电源端设计去耦电路,去耦电容在电路布线时尽量接近电路的电源输入端。这样既可以减弱集成电路通电时产生的能量,也可以消除电路产生的高频噪声。
2.1.3 采用静电屏蔽技术。使用低电阻材料制成屏蔽体,将要分隔的部分包围。而静电屏蔽就是在电容耦合通路上加入接地的金属导体,使其干扰电源为零,隔断干扰电场的耦合通道。
2.1.4 对干扰进行隔离。在设计电路时尽可能地使信号线与功率线远离,用继电器来完成电气方面信号的接收与发送,通过光电耦合器对信号输入输出通道和中央处理单元进行有效隔离。在发光二极管的作用下,系统的输入信号转变为光信号,然后在光敏三极管下转换为电信号,这样对通道干扰能起到有效的抑制作用,还能有效地对火地和信号地进行隔离。
2.1.5 电路板布线和布局是否合理对系统的可靠性有很大影响。布线时,尽量将模拟地与信号地分开,并且两者单点接地;尽可能加粗地线;布局时强、弱电分开;采样电路部分进行电路板大面积覆铜,通信及信号连接线采用屏蔽线等。合理的布线和合理的布局可以使单片机抗干扰能力大大提高。
2.2 软件抗干扰
在保证硬件抗干扰做好后,软件抗干扰也是重要的一环。软件抗干扰主要作用:一是对模拟输入信号夹带的噪声进行消除;二是当程序出现运行错误时如何重新正常工作。
2.2.1 指令冗余。在CPU进行取指令时,是先提取操作码再对操作数进行提取,一旦系统受到干扰出错时,程序就会以非正常的方式运行,通常称为“乱飞”。而纠正乱飞的情况就是指令冗余。指令冗余是指及时在程序的关键地方进行人为的单字节插入,或者重新写入单字节。目前都是在三字节及双字节后面给予超过两字节的NOP指令。执行此操作后,再次遇到程序乱飞在操作数的情况时,由于有NOP指令的存在,将不会对后面的指令进行任何操作,这样就使程序重新步入正轨。
对系统流向起重要作用的指令如RET、JC、LCALL等,可以在这些指令之前插入两条NOP指令,可把乱飞程序纳入正轨,确保这些重要指令的正确执行。指令冗余只能使CPU不再将操作数当作操作码错误地执行,却不能主动把程序错误执行方向扭转过来。
2.2.2 拦截技术。该技术就是将乱飞的程序引入到指定的地方,然后再对程序进行纠错处理,一般使用软件陷阱实现对乱飞的程序进行拦截。首先设计合理的陷阱,而后将其放在合适的地方。
2.2.3 看门狗技术。就是watching dog,一旦乱飞的程序出现死循环,看门狗技术就会使其跳出其中。通过对程序循环运行时间的检测,可以自动判断系统是否出现死循环,而进行相应的处理。看门狗技术不但可通过硬件实现,也可通过软件实现。在如今的工业领域,干扰一旦破坏中断方式的控制字,中断被强制关闭,硬件上的watching dog电路就会失效,此时软件上的watching dog电路就会成为硬件看门狗的替身,及时解决此类问题。
3 根据单片机自身特点采取的抗干扰措施
3.1 降低外时钟频率
外时钟属于高频噪声源,不仅会对自身应用系统产生干扰,还会对外界引起干扰,所以使用低频率单片机是降低系统噪音的有效方法。
3.2 选择低噪声的芯片
许多芯片在设计时将电源和地的引出放在对称的两边,使电源噪声影响到整个芯片。改进后的芯片是把地和电源放在相邻的引脚上,这样可以降低经过芯片的电流,也容易在PCB板上安排外部的去耦电路。
3.3 时钟对电路检测及低电压复位
对系统时钟进行监测,一旦发现系统时钟停振就会通过产生复位信号对时钟进行恢复,这是提高单片机系统稳定的有效办法之一。在系统中使用RC滤波和施密特电路可以消除正弦波上毛刺对时钟信号的干扰。
干扰的产生和传递是很复杂的,为保证系统可靠稳定地运行,还要有个良好的外部环境。