单片机控制系统中的抗干扰策略研究
本文对单片机控制系统干扰的类型和耦合方式进行了分析,并从硬件、软件方面探讨了单片机抗干扰的一些措施。
标签:单片机 抗干扰 软件
引言
目前,单片机及其系统正朝着快速化、高度集成方向发展,在工业自动化控制、家用电器、智能化仪表中的应用越来越广泛,已成为进行老设备技术改造、新产品研制与开发的重要技术手段。然而,单片机系统在实际工作中会受到自身或外界的各种各样的干扰,干扰对系统轻则影响测量及控制精度,重则使工作系统瘫痪。因此对一个单片机系统而言,其工作可靠性和系统的抗干扰能力息息相关,为提高系统的可靠性,必须有效地抑制各种干扰。本文对单片机控制系统中的抗干扰策略做了进一步研究。
1.单片机控制系统干扰分析
1.1单片机控制系统的干扰类型:干扰的类型有好多种,通常可以按照噪声产生的原因、传导方式、波形特性等等进行不同的分类。按产生的原因分:可分为放电噪声音、高频振荡噪声、浪涌噪声。按传导方式分:可分为共模噪声和串模噪声。按波形分:可分为持续正弦波、脉冲电压、脉冲序列等等。
1.2单片机控制系统的干扰耦合方式:干扰源产生的干扰信号是通过一定的耦合通道才对测控系统产生作用的。因此,我们有必要看看干扰源和被干扰对象之间的传递方式。干扰的耦合方式,无非是通过导线、空间、公共线等等,细分下来,主要有以下几种:直接耦合;公共阻抗耦合;电容耦合;电磁感应耦合与漏电耦合。
2.单片机控制系统干扰的抑制策略
2.1采用硬件抗干扰技术
2.1.1电源干扰的抑制:单片机系统大多采用市电(个别采用电池供电),极易受到各种原因造成的电网波动产生的干扰,从而造成系统工作不稳定或出现“死机”现象。可采取如下措施来抑制电源干扰:(1)采用开关电源供电;(2)采取电网滤波技术,即在开关电源前增加电源滤波模块,以滤去电网中由各种大功率设备产生的尖峰脉冲干扰;(3)直流电源滤波,对稳压后的直流电源进一步采取滤波技术,如对各种芯片电源增加电容滤波,对直流电源与地线增加电感滤波。
2.1.2地线干扰的抑制:单片机系统中主要有模拟地和数字地两种地线。由于模拟地与电网直接相连,为“火地”,故会串入电网中的各种干扰,而数字地富
含各种高次谐波并具有较强辐射作用。若与模拟地直接相连会对模拟小信号产生干扰,所以频率小于2MHz时采用一点接地,频率大于10MHz时采用多点接地;数字地与模拟地分开;交流地与信号地不共用;采用系统浮地,机壳接保护地(保护地即大地)。所谓系统浮地是指将系统电路的各个部分地线浮置起来,不与大地相连,系统与大地的绝缘电阻不能小于50MΩ。传感器信号地采用浮空隔离,并可采用三线采样双层屏蔽浮地技术。
2.1.3合理布线及合理结构布局提高系统抗干扰能力:(1)电路板布线时,注意将模拟地与信号地分离,并两者单点接地。(2)尽可能加粗地线。(3)布局时注意强、弱电分开,特别是本系统中采样信号取自220V交流电,更应注意防止交流干扰及高压放电。(4)采取各种屏蔽措施提高系统抗干扰能力。如电能采样电路进行电路板大面积覆铜、通信及信号连接线采用屏蔽线。
2.1.4采用光电隔离技术:光电隔离技术是通过光电耦合器将信号输入通道或信号输出通道与中央处理单元进行隔离,光电耦合器将输入信号通过内部发光二极管变成光信号,然后再由內部光敏三极管转变成电信号,将输入均输出完全实现了电隔离,因而也就完全隔离了输入和输出间的各种干扰。它通过光信号实现了有用信号的正常传输,是一种很好的抗干扰措施,因而得到了广泛的应用。本系统中采用光电耦合器既实现了传输信号,隔离干扰的作用,同时也完成了将具有220V高压的“火地”与单片机系统信号地的隔离。
2.1.5采用“看门狗”电路:由于干扰或程序自身的原因,程序在运行过程中可能会偏离正常运转顺序而进入失控状态,甚至陷入死循环,这种情况称之为程序跑飞或死机。为避免这种状态造成严重后果,需要对程序运行状态进行监控,一旦这种情况发生,应使系统可以自行复位而重新恢复正常运行。具备这种对系统程序运行状态进行监控的电路或软件称为“看门狗”电路或“看门狗”定时器。“看门狗”电路的工作原理是在系统运行过程中,每隔一段固定时间给“看门狗”一个信号,表示系统运行正常。如果超过这一时间没有给出信号,则表示系统运行失控。于是“看门狗”电路将自动产生一复位信号使系统复位,或产生一个中断请求要求系统响应中断,使系统转去执行一中断程序处理当前的故障。设计“看门狗”电路可采用专用的集成电路,如MAX813L等,亦可选用内置“看门狗”电路的微处理器,如89S52单片机就内置了“看门狗”定时器。采用这种内置“看门狗”微处理器可使电路设计更加简洁可靠。
2.2采用软件抗干扰技术
2.2.1软件看门狗:单片机系统受到干扰后可造成程序失控,引起程序乱飞,也可能使程序进入死循环。看门狗技术可以不断地监视程序运行时间,若发现时间超过设定时间,就认为系统进入了死循环,看门狗立即将CPU复位,强迫程序返回到0000H处,在0000H处安排一段出错处理程序,使系统运行返回到正常的程序流程。软件看门狗一般要占用单片机系统的定时器,在51系列中可占用T0或T1,并且将这两个定时器设置为最高级中断,在主程序中要根据定时器的溢出周期对定时器进行初始化,一旦程序受到干扰跑飞,则在中断子程序里设置一条出错跳转指令,将程序转移到出错子程序中,在出错子程序中完成整个程
序的初始化过程,使程序从头执行。
2.2.2软件陷阱:软件陷阱就是用引导指令将捕捉到的乱飞程序引向复位入口地址0000H处,在此处将程序转向专门对程序出错进行处理的程序,使程序纳入正规,实现的方法可在程序存储器的未使用区域中加上几条空操作指令和无条件跳转指令,无条件跳转指令转向复位入口地址。如在0202H以后的程序区未使用,可在该区域用NOP和LJMP指令填充。
ORG 0000H
AJMP MAIN
MAIN: ****
ORG 0202H
NOP
NOP
LJMP MAIN
2.2.3指令冗余:指令冗余与软件陷阱相似,但是有区别:软件陷阱用在程序存储器的未使用区域中,而指令冗余通常用在程序区中。其做法是在正常的指令后插入一些NOP指令或将有效字节重写,采用指令冗余技术不仅可以使跑飞的程序纳入正规,还有助于消除随机干扰,提高测控系统的可靠性。
2.2.4开机自检:开机自检程序通常包括对RAM、ROM、I/O口状态的检测。在程序编制中可将RAM或ROM中的内容分区存放,在程序运行初始或中间过程经常对这些数据进行比较检查,如发现数据出错,则重写这些数据。
2.2.5延时抖动技术:工业测控系统往往会遇到强干扰,如浪涌电压、电源过压、欠压以及尖峰干扰等,在软件设计中可以采取措施加以避开,当干扰到来时,使CPU暂停工作,待干扰过后再恢复CPU工作。
3.结束语
系统的设计开发者应从抑制干扰源、切断干扰传播途径、提高(上接第80页)
敏感器件的抗干扰性能等方面采取各种措施来提高系统性能。在抗干扰设计中,软件抗干扰是被动措施,而硬件抗干扰是主动措施,只要认真分析系统所处环境的干扰来源以及传播途径,采用两者相结合的方法,就能保证系统长期稳定可靠的运行。
参考文献
[1]姜玉晗,李默之,李志刚.一种高性能单相预付费电能表的硬件设计[J].仪器仪表用户,2004,2.
[2]周航慈.单片机应用程序设计技术[M].(修订版)北京:北京航空航天大学出版社,2002.
因篇幅问题不能全部显示,请点此查看更多更全内容