您现在的位置:智能制造网>技术首页>

单片机抗干扰技术及应用

2006年12月01日 09:22来源:烟台勾股通信技术有限公司 >>进入该公司展台人气:1622

引言

随着单片微机在各个领域中的应用越来越广泛,对其可靠性要求也越来越高。单片机系统的可靠性由多种因素决
定,其中系统抗干扰性能是可靠性的重要指标。工业环境有强烈的电磁干扰,因此必须采取抗干扰措施,否则难以
稳定、可靠运行。

工业环境中的干扰一般是以脉冲形式进入微机系统,渠道主要有三条,如图1所示。

空间干扰(场干扰),电磁信号通过空间辐射进入系统。

过程通道干扰,干扰通过与系统相连的前向通道、后向通道及与其它系统的相互通道进入。

供电系统干扰,电磁信号通过供电线路进入系统。

一般情况下空间干扰在强度上远小于其它两种,故微机系统中应重点防止过程通道与供电系统的干扰。

抗干扰措施有硬件措施和软件措施。硬件措施如果得当,可将绝大部分干扰拒之门外,但仍然会有少数干扰进入微
机系统,故软件措施作为第二道防线*。由于软件抗干扰措施是以CPU为代价的,如果没有硬件消除绝大多
数干扰,CPU将疲于奔命,无暇顾及正常工作,严重影响系统的工作效率和实时性。因此,一个成功的抗干扰系统
是由硬件和软件相结合构成的。

笔者设计的激光打标控制系统由于现场使用环境较恶劣,各种干扰因素较多,如交流噪声、电网干扰及其它电磁干
扰等,因此必须采取有效的抗干扰措施以确保系统稳定工作,下面介绍我们在该系统硬件、软件和CPU上采取的抗
干扰措施。

硬件措施

光电隔离

在输入和输出通道上采用光电隔离器来进行信息传输是很有好处的,它将微机系统与各种传感器、开关、执行机构
从电气上隔离开来,很大一部分干扰将被阻挡。本系统中步进电机驱动电路采用了光电隔离器4N33。电路如图2所
示。

过压保护电路

在输入输出通道上应采用一过压保护电路,以防引入高电压,伤害微机系统。过压保护电路由限流电阻和稳压管组
成,限流电阻选择要适宜,太大会引起信号衰减,太小起不到保护稳压管的作用。稳压管的选择也要适宜,其稳压
值以略高于zui高传送信号电压为宜,太低将对有效信号起限幅效果,使信号失真。步进电机驱动电路即采用过压保
护电路。

抗干扰电源

微机系统供电线路是干扰的主要来源,电源采用隔离变压器接入电网,可以防止电网的干扰侵入微机系统。隔离变
压器与普通变压器的不同之处在于它在初级和次级之间加了一层屏蔽层,并将它和铁芯一起接地。

配置去耦电容

原则上每个集成电路芯片都应安置一个0.01mF的陶瓷电容器,可以消除大部分高频干扰。

良好接地

本系统既有模拟电路又有数字电路,因此数字地与模拟地要分开,zui后只在一点相连,如果两者不分,则会互相干
扰。

软件措施

单片机在输出信号时,外部干扰有可能使信号出错。本系统中单片机发出的驱动步进电机的信号经锁存器锁存后传
送给驱动电路,锁存器对干扰非常敏感,当锁存线上出现干扰时,会盲目锁存当前数据,而不管是否有效。因此首
先应将锁存器与单片机安装在同一电路板上,使传输线上传送的是已经锁存好的控制信号。在软件上,zui有效的方
法就是重复输出同一个信号,只要重复周期尽可能短,锁存器接收到一个被干扰的错误信号后还来不及作出有效的
反应,一个正确的输出信号又来到,就可以及时防止错误动作的产生。

CPU抗干扰措施

前面几项抗干扰措施是针对I/O通道,干扰还未作用到单片机本身,这时单片机还能正确无误地执行各种抗干扰程
序,当干扰作用到单片机本身时(通过干扰三总线等),单片机将不能按正常状态执行程序,从而引起混乱。如何
发现单片机受到干扰,如何拦截失去控制的程序流向,如何使系统的损失减小,如何恢复系统的正常运行,这些就
是CPU抗干扰需要解决的问题。我们采用了以下几种方法。

人工复位

对于失控的CPU,zui简单的方法是使其复位,程序自动从0000H开始执行。为此只要在单片机的RESET端加上一个高
电平信号,并持续10ms以上即可。

掉电保护

电网瞬间断电或电压突然下降将使微机系统陷入混乱状态,电网电压恢复正常后,微机系统难以恢复正常。对付这
一类事故的有效方法就是掉电保护。掉电信号由硬件电路检测到,加到单片机的外部中断输入端。软件中断将掉电
中断规定为中断,使系统及时对掉电作出反应。在掉电中断子程序中,首*行现场保护,保存当时重要的状
态参数,当电源恢复正常时,CPU重新复位,恢复现场,继续未完成的工作。

睡眠抗干扰

CMOS型的51系列单片机具有睡眠状态,此时只有定时/计数系统和中断系统处于工作状态。这时CPU对系统三总线上
出现的干扰不会作出任何反应,从而大大降低系统对干扰的敏感程度。

我们仔细分析系统软件后发现,CPU很多情况下是在执行一些等待指令和循环检查程序,由于这时CPU虽没有重要工
作,但却是清醒的,很容易受干扰。让CPU在没有正常工作时休眠,必要时再由中断系统来唤醒它,之后又处于休
眠。采用这种安排之后,大多数CPU可以有50~95%的时间用于睡眠,从而使CPU受到随机干扰的威胁大大降低,同时
降低了CPU的功耗。

指令冗余

当CPU受到干扰后,往往将一些操作数当作指令码来执行,引起程序混乱。这时我们首先要尽快将程序纳入正轨(执
行真正的指令系列)。MCS-51系统中所有指令都不超过3个字节,而且有很多单字节指令。当程序弹飞到某一条单
字节指令上时,便自动纳入正轨。当弹飞到某一双字节或三字书指令上时,有可能落到其操作数上,从而继续出
错。因此,我们应多采用单字节指令,并在关键的地方人为地插入一些单字节指令(NOP),或将有效单字书指令
重复书写,这便是指令冗余。

在双字节和三字节指令之后插入两条NOP指令,可保护其后的指令不被拆散。或者说,某指令前如果插入两条NOP指
令,则这条指令就不会被前面冲下来的失控程序拆散,并将被完整执行,从而使程序走上正轨。但不能加入太多的
冗余指令,以免明显降低程序正常运行的效率。因此,常在一些对程序流向起决定作用的指令之前插入两条NOP指
令,以保证弹飞的程序迅速纳入正确的控制轨道。此类指令有:RET、RETI、LCALL、SJMP、JZ、CJNE等。在某些对
系统工作状态至关重要的指令(如SETB EA之类)前也可插人两条NOP指令,以保证被正确执行。上述关键指令中,
RET和RETI本身即为单字书指令,可以直接用其本身来代替NOP指令,但有可能增加潜在危险,不如NOP指令安全。

软件陷阱

指令冗余使弹飞的程序安定下来是有条件的,首先弹飞的程序必须落到程序区,其次必须执行到冗余指令。当弹飞
的程序落到非程序区(如EPROM中未使用的空间、程序中的数据表格区)时前一个条件即不满足,当弹飞的程序在没
有碰到冗余指令之前,已经自动形成一个死循环,这时第二个条件也不满足。对付前一种情况采取的措施就是设立
软件陷阱,对于后一种情况采取的措施是建立程序运行监视系统(WATCHDOG)。

所谓软件陷阱,就是一条引导指令,强行将捕获的程序引向对程序出错进行处理的程序。如果我们把这段程序的入
口标号称为ERR的话,软件陷阱即为一条LJMP ERR指令,为加强其捕捉效果,一般还在它前面加两条NOP指令,因
此,真正的软件陷阱由三条指令构成:

NOP

NOP

LJIMP ERR

软件陷阱安排在下列四种地方:

(1)未使用的中断向量区。当干扰使未使用的中断开放,并激活这些中断时,就会进一步引起混乱。如果在这些地
方布上陷阱,就能及时捕捉到错误中断。

(2)未使用的大片ROM空间。现在使用EPROM都很少将其全部用完。对于剩余的大片未编程的ROM空间,一般均维持原
状(0FFH),0FFH对于指令系统,是一条单字节指令(MOV R7,A),程序弹飞到这一区域后将顺流而下,不再跳跃(除
非受到新的干扰)我们只要每隔一段设置一个陷阱,就一定能捕捉到弹飞的程序。软件陷阱一定要指向出错处理过
程ERR。我们可以将ERR字排在0030H开始的地方,程序不管怎样修改,编译后ERR的地址总是固定的(因为它前面的
中断向量区是固定的)。这样我们就可以用00 00 02 00 30五个字节作为陷阱来填充ROM中的未使用空间,或者每隔
一段设置一个陷阱(02 00 30),其它单元保持0FFH不变。

(3)表格。有两类表格,一类是数据表格,供MOVC A,@A+PC指令或MOVC A,@A+DPTR指令使用,其内容*不是指
令。另一类是散转表格,供JMP @A+DPTR指令使用,其内容为一系列的三字节指令 LJMP或两字节指令 AJMP。由于
表格内容和检索值有一一对应关系,在表格中间安排陷阱将会破坏其连续性和对应关系,只能在表格的zui后安排五
字节陷阱(NOP NOP LJMP ERR)。

(4)程序区。程序区是由一串串执行指令构成的,在这些指令串之间常有一些断裂点,正常执行的程序到此便不会
继续往下执行了,这类指令有JMP、RET等。这时PC的值应发生正常跳变。如果还要顺次往下执行,必然就出错
了。当然,弹飞来的程序刚好落到断裂点的操作数上或落到前面指令的操作数上(又没有在这条指令之前使用冗余
指令),则程序就会越过断裂点,继续往前冲。我们在这种地方安排陷阱之后,就能有效地捕捉住它,而又不影响
正常执行的程序流程。例如:

……

AJMP ABC

NOP

NOP

LJMP ERR

……

ABC:MOV A,R2

RET

NOP

NOP

LJMP ERR

ERR: ……

由于软件陷阱都安排在程序正常执行不到的地方,故不会影响程序执行效率。

 

结语

综上所述,通过对单片机应用系统的软硬件全面考虑,并针对不同的情况采取不同的技术措施,保证了系统准确、
可靠运行。激光打标控制系统采用了上述抗干扰措施后,系统可靠性大大增强,运行稳定,效果理想,现已批量生
产,取得了良好的经济效益。■

 
全年征稿/资讯合作 联系邮箱:1271141964@qq.com
  • 凡本网注明"来源:智能制造网"的所有作品,版权均属于智能制造网,转载请必须注明智能制造网,https://www.gkzhan.com。违反者本网将追究相关法律责任。
  • 企业发布的公司新闻、技术文章、资料下载等内容,如涉及侵权、违规遭投诉的,一律由发布企业自行承担责任,本网有权删除内容并追溯责任。
  • 本网转载并注明自其它来源的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品来源,并自负版权等法律责任。
  • 如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。


编辑精选

更多


宣传样本推荐图书

旗下子站

工控网机器人仪器仪表物联网3D打印工业软件金属加工机械包装机械印刷机械农业机械食品加工设备制药设备仓储物流环保设备造纸机械工程机械纺织机械化工设备电子加工设备水泥设备海洋水利装备矿冶设备新能源设备服装机械印染机械制鞋机械玻璃机械陶瓷设备橡塑设备船舶设备电子元器件电气设备



关于我们|本站服务|会员服务|企业建站|旗下网站|友情链接| 兴旺通| 产品分类浏览|产品sitemap

智能制造网 - 工业4.0时代智能制造领域“互联网+”服务平台

Copyright gkzhan.comAll Rights Reserved法律顾问:浙江天册律师事务所 贾熙明律师

客服热线:0571-87756395加盟热线:0571-87759904媒体合作:0571-89719789

客服部:编辑部:展会合作:市场部:

关闭