浅谈单片机控制系统软件抗干扰方法
- 格式:pdf
- 大小:388.03 KB
- 文档页数:3
生产一线单片机系统抗干扰浅析文⊙罗小红(衡东县职业中专学校)摘要:在实验室研制并通过调试的单片机系统,将其置入现场后,往往出现这样或那样的问题,系统变得不稳定,影响其正常工作。
产生这种情况的原因主要是由于所在环境中各种干扰造成的,以致单片机系统的可靠性由多种因素决定的,而系统抗干扰性能就成为系统可靠性的重要指标。
因此,单片机应用系统中抗干扰问题也就成为设计应用中重要的课题。
关键词:单片机系统;干扰来源;抗干扰技术单片机由于其优异的性能价格比,在过程控制、运动控制、智能仪表、医疗器械等各个领域的应用越来越深入和广泛,有效地提高了生产效率和经济效益。
然而,单片机系统工作时,可能出现这样或那样的问题,使系统变得不稳定,影响正常工作。
产生这种情况的原因主要是由于所在环境中各种干扰造成的,以致单片机系统的可靠性由多种因素决定,而系统抗干扰性能就成为系统可靠性的重要指标。
因此,单片机应用系统中抗干扰问题也就成为设计应用中重要的课题。
一、单片机干扰来源及后果干扰用数学语言描述为d u/dt ,d i /dt ,雷电、继电器、可控硅、电机、高频时钟等都可能成为干扰源。
典型的干扰传播路径是通过导线的传导和空间的辐射。
敏感器件有A/D 、D/A 变换器,单片机,数字I C ,弱信号放大器等。
(一)干扰的分类按产生的原因分有放电噪声、高频振荡噪声、浪涌噪声。
按传导方式可分为共模噪声和串模噪声。
按波形可分为持续正弦波、脉冲电压、脉冲序列等。
(二)干扰的耦合方式干扰源产生的干扰信号是通过一定的耦合通道才对测控系统产生作用的。
耦合方式是通过导线、空间、公共线等,主要有:1、直接耦合。
这是最直接、最普遍的一种方式。
比如干扰信号通过电源线侵入系统。
对于这种形式,最有效的方法就是加入去耦电路。
2、公共阻抗耦合。
常常发生在两个电路电流有共同通路的情况。
为了防止这种耦合,通常在电路设计上就要考虑。
使干扰源和被干扰对象间没有公共阻抗。
摘要:单片机应用系统在发动机电喷中得到了广泛的应用,然而由于发动机工作环境恶劣,提高控制系统的抗干扰性至关重要。
分析了单片机干扰的主要来源,并从硬件和软件抗干扰设计中总结了一些取得良好抗干扰性的方法。
关键词在进行单片机应用开发的过程中,经常遇到在实验室调整很好的单片机一到工作现场就会出现这样或那样的问题,这主要是由于设计未充分考虑到外界环境存在的干扰,如机械震动、各种电磁波和环境温差都会影响硬件系统的性能,导致电控单元不能正常工作。
鉴于此本文较全面分析了干扰单片机应用系统的因素并结合自己的研究课题,提出一些可增强系统抗干扰性的方法。
1单片机系统的主要干扰源(1)无线电设施的射频干扰;(2)发动机上的高压点火线圈向外辐射磁场强度大、频带宽的电磁波;(3)单片机内部的晶振电路是内部干扰源之一;(4)数字电路本身门电路频繁的导通、截止造成电源地线电流变化,也会产生很大的高频电磁干扰,各种开关电子设备通断时产生的急剧变化的电流会产生较宽频谱干扰;(5)外界交流电路中产生的工频干扰亦会影响模拟电路输出信号的准确性。
2干扰的耦合方式隔离干扰源与控制系统之间的耦合信道。
表1列出了干扰源的主要干扰方式及特征。
3单片机的硬件抗干扰设计断干扰的传输信道。
常用的措施有:滤波技术、去耦技术、屏蔽技术和接地技术。
3.1电源电路的设计源耦合逻辑电路产生的干扰进入模拟电路,二是为了避免传感器通过电源耦合对ECU干扰。
各功能模块供电系统如图1所示,皆采用7812和7805三端稳压集成芯片,且都单独对电源进行负压差保护,这样不会因其中某一稳压电源出现故障而影响整个系统电路;使用低通滤波器亦可减少以高次谐波为主的干扰源,从而改善电源波形;在输出端采用了过压保护电路。
通过上述设计可大大提高供电的可靠性。
图中D1、D2用于负压差保护,防止压差击穿稳压器的be结使器件永久失效,稳压管WY1、晶闸管Q1用于过压保护,电容E1、E2、C1、C2使输出电压波3.2模拟电路抗干扰设计比较大,因此在模拟电路中应选择低温漂系数的集成放大器;在模拟电路中共模信号对电路板影响较大,故在模拟电路中采用差动放大电路,可得出两端输出信号;接收时,将双端信号转化为单端信号,可非常有效地抑制共模信号。
1. 引言
虽然硬件抗干扰抑制技术已经较为成熟,但是,硬件抗干扰技术的针对行较强,预见性较差,无法屏蔽掉所有干扰,且有时成本过高。
软件抗干扰技术是当系统受干扰后,使系统恢复正常运行,或输入信号受干扰后去伪存真的一种辅助方法。
此技术属于一种被动抗干扰措施。
软件抗干扰技术软件不仅设计灵活、节约硬件资源、成本低、操作起来方便易行,同时还由于它是一种干扰过后的补救手段,通用性强,适用于不同的系统抵抗不同的干扰。
因此,软件抗干扰问题的研究越来越引起人们的重视。
2. 软件抗干扰一般方法
干扰的后果主要表现在两个方面:一是使数据采集误差变大。
干扰侵入单片机系统的前向通道叠加在信号上,数据采集误差增大,特别是当前向通道的传感器接口为小电压信号输入时,误差会更加明显。
二是程序运行失常。
主要表现有:控制状态失灵、死机、系统被控对象误操作、被控对象状态不稳定、定时不准和数据发生变化等。
2.1 数据采集系统抗干扰
为了消除实时数据采集系统通道中的干扰信号,需对信号滤波。
通过一定的算法和程序来减小干扰信号在有用信号中的比重,称为软件滤波。
软件滤波有以下特点:不需要增加硬件设备,只需要在程序上考虑,因此有利于降低成本;对于不同的干扰源需要不同的滤波措施,有时需要根据现场实际情况测量噪声,随时进行滤波算法。
在数据采集系统中常用的软件滤波方法较多,下面介绍几种实
用方法:
2.1.1 限值滤波法
首先根据实际经验,在程序中规定输入信号幅值的上限Xmax 和下限Xmin,若被测信号Xi 不在此范围内,即Xi<Xmin 或Xi ≥Xmax,则表明此信号是干扰信号,应除去;若被测信号Xi 在此范围,即Xmin ≤Xi <Xmax,则取Xi 为本次有效采样值。
这种方法适合于滤去大电流电感负载的切断,或电
动工具的火花等产生的随机干扰脉冲。
2.1.2 平均滤波
连续取采样n 个值,然后算术平均。
计算公式为 , 为n 次采样平均值, 是第 i 次采样值,n 为采样次数,这种方法适合用来减少系统的随机干扰对采样结果的影响。
2.1.3 递推随机滤波
递推随机滤波也是求算术平均值,唯一区别是:若要求10ms 取一次输入值,则平均滤波是在1Oms 内采样n 次,并对这n 次取平均值作为输入值,而递推平均滤波是lOms 采样一次,要得到第i 次输入值 ,则要以第i 次采样为准,要依次向前取n 次采样值 来求算术平均值,递推公式为: 。
这种方法用于滤去周期性等幅干扰。
用软件滤波算法,可滤掉大部分由输入信号干扰而引起的输出控制错误。
具体选取何种方法,必须根据信号的变化规律选择。
2.2 程序失控抗干扰
单片机系统工作环境恶劣时,干扰可能破坏CPU 按正常流程执行这些程序,使系统失控。
在实际应用中,为避免这种系统失控状态而恢复到系统
■ 易丽华
浅谈单片机控制系统软件抗干扰方法
正常状态,主要可采取如下技术。
2.2.1 利用软件陷阱控制PC的失控
在单片机正常运行时由于受到干扰使CPU离开原有的“轨道”而进入到非程序区。
在这种情况下,可以利用软件陷阱迫使程序强制跳转到错误处理程序,从而提高单片机的可靠性。
对于MCS一51系列单片机,假设出错处理程序入口标号为ERROR,则软件陷阱指令如下:
NOP
NOP
LJMP ERROR
软件陷一般安排在以下位置:
2.1.1.1 未使用的中断向量区
干扰可使未使用的中断开放并激活中断,在这些地方设置软件陷阱就能及时捕获到错误中断。
程序如下:
ORG O003H;外部中断O
LJMP ERROR
ORG 000BH;定时器TO中断
ORG 0013H;外部中断1
LJMP ERROR
LJMP ERROR
ORG 001BH;定时器T1中断
程序所示,只有定时器T0中断开放,对于可能影响程序的中断,如外部中断、定时器T1中断,在其中断地址入口,均加上了软件陷阱,使其跳转到ERROR这个故障处理程序,从而避免程序的”跑飞”,也便于判断程序的走向。
2.1.1.2 未使用的ROM空间
当装载软件程序的存储芯片为27C64,其地址空间为0000H~1FFFFH,一般程序很少能够用完,可填充FFH。
而FFH是MOV R7,A的机器码,当程序乱入非程序区后,不仅无法转入正轨,而且还会破坏R7的内容,因此在实际使用过程对未使用的EPROM空间应全部填充为00H,因为程序复位入口地址为0000H,当”跑飞”的程序指针跳至无程序处,可以让其重新指向主程序人口,可以起到防”跑飞”的功能。
2.1.1.3 表格
储存在EPROM中的表格后安排软件陷阱可在一定程度上防止软件“弹飞”。
2.1.1.4 程序区
一般程序中不能任意安排软件陷阱,但是在正常程序中会有一些跳转指令,在这些指令后使用软件陷阱可捕获到弹飞到跳转指令的操作数上的出错程序。
2.2.2 软件的Watchdog监视系统实现
Watchdog俗称“看门狗”。
在系统运行时启动看门狗的计数器,看门狗就开始自动计数,到了规定的时间要进行“喂狗”(给计数器重新置初值),如果超过规定的时间不喂狗,则看门狗计数器就会溢出而引起看门狗中断,使系统复位。
在8051单片机中要实现上述功能需要牺牲其一个定时器(当然也可以让定时器来兼职),假如晶振频率为6MHz,则TO在方式0的条件下每10ms喂狗一次,则定时初值可设为TH0=0CH、TL0=78H。
在lOms 内必须重新置初值,否则将被认为是程序跑飞或进入死循环。
在系统中必须对T0进行初始化,其程序如下:
MOV TMOD,#00H ;TO为13位为定时器
SETB EA ;打开中断总允许位
SETB ETO ;允许TO中断
SETB PT0 ;设置为高优先级
MOV TH0,#0CH ;定时10ms
MOV TL0,#78H
SETB TR0 ;启动看门狗定时器
作为Watchdog定时器TO其中断应设置为最高优先级别,且其它中断必须设置为低级中断,一旦超过喂狗时间则系统复位。
但如果是在执行中断服务程序的时候程序出错,在软件复位的时候不能把中断标志位给清除,则可以利用RETI指令清除其相应标志位。
因此可进
行如下处理:
Watchdog:MOV DPTR ,# ERR0
Case
PUSH DPL PUSH DPH
RETI ;清除高级中断标志位ERR0: CLR A
PUSH ACC ;压入复位地址PUSH ACC
RETI ;清除低级中断标志位
如果出错的程序修改了T0相关功能的指令,软件Watchdog 的功能便起不到应有的作用,虽然这种情况发生较少,但对于系统稳定性要求较高的控制系统中,还是会造成很不好的后果,因此在一些复杂要求高的控制系统往往采用带有硬件Watchdog 的单片机,如8096及增强型805l 单片机,也可以采用专门的芯片实现看门狗技术。
各大器件生产商提供了不同的功能的芯片,如MAXIM 的MAX690A,MAX692A,IMP 的IMP690A/692AL 是用于微处理器系统的电源监视和控制电路。
可为CPU
提供复位信号、看门狗监视、备用电池自动切换及电源失效监视。
此外,使用3使用实时嵌入式操作系统RTOS、输入多次采样、输出端口刷新和睡眠抗干扰等技术都能取得不错的抗干扰结果。
3. 结论
在工程实践中通常都是几种抗干扰方法并用,互相补充完善,才能取得较好的抗干扰效果。
从根本上来说,硬件抗干扰是主动的,而软件是抗干扰是被动的。
软件抗干扰技术比硬件抗干扰技术不仅设计灵活,节约硬件资源,成本低,同时还由于它是一种干扰过后的补救手段,通用性强。
随着单片
机的广泛应用,其在使用过程中的抗干扰问题已经引起广泛重视。
(易丽华单位系湖南科技职业学院电子信息工程与技术系)
无线合作小组取得新进展 统一无线技术的操作界面
本刊讯 2月2日,现场总线基金会宣布无线合作小组(WCT)成立一年之后,在开发无线技术操作界面规范和法规遵循纲领方面取得了突破性的进展,目的在于使无线方案能够广泛应用于HART TM , Foundation 现场总线, PROFIBUS 和 PROFINET 等通讯网络中。
通用的界面能让自动化最终用户更方便地使用日益发展的无线技术。
无线合作小组的努力成果得到了现场总线基金会、HART 通讯基金会和Profibus 组织的大力支持,从而使无线技术能够为全球的制造和过程工业所使用。
这些组织的成员来自Emerson Process Management、 Honeywell、 Siemens、 ABB、 Endress+Hauser、 Pepperl+Fuchs 和 Festo 等行业领先的供应商企业。
“2008年,项目小组的主要工作是为无线网关通用接口的输出能够支持HART、 Foundation fieldbus、 PROFIBUS 和 PROFINET 等通讯技术来制定规范,并且取得了很大的进展,”无线合作小组项目指导委员会主席Martin Zielinski 说,“我们计划将于2009年通过这项新的规范和法规遵循纲要。
”
2008年完成的工作中包括制定Foundation 现场总线、PROFIBU 和PROFINET 的要求和结构。
现场总线基金会、HART 通讯基金会以及Profibus 组织这3家赞助机构从2003年起就开始进行EDDL(电子设备描述语言)的合作了,并于2007年9月成立了无线合作小组。