单片机系统的可靠性与抗干扰技术.ppt

上传人:本田雅阁 文档编号:2309463 上传时间:2019-03-19 格式:PPT 页数:91 大小:1MB
返回 下载 相关 举报
单片机系统的可靠性与抗干扰技术.ppt_第1页
第1页 / 共91页
单片机系统的可靠性与抗干扰技术.ppt_第2页
第2页 / 共91页
单片机系统的可靠性与抗干扰技术.ppt_第3页
第3页 / 共91页
亲,该文档总共91页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《单片机系统的可靠性与抗干扰技术.ppt》由会员分享,可在线阅读,更多相关《单片机系统的可靠性与抗干扰技术.ppt(91页珍藏版)》请在三一文库上搜索。

1、主 编 范立南 谢子殿 副主编 刘 彤 尹授远 李雪飞,单片机原理及应用教程 第8章 单片机系统的可靠性 与抗干扰技术,8.1 可靠性与抗干扰技术概述 8.2 单片机系统的硬件抗干扰技术 8.3 单片机系统的软件抗干扰技术 8.4 Watchdog技术,第8章 单片机系统的可靠性 与抗干扰技术,8.1 可靠性与抗干扰技术概述,近年来,随着单片机在智能化仪器、自动检测、工业控制以及火箭导航尖端技术等领域的广泛应用,有效地提高了生产效率,改善了工作条件,大大提高了控制质量与经济效益。但是,单片机系统的工作环境往往是比较恶劣和复杂的,其必须长期可靠、安全、稳定地运行,否则将导致控制误差加大,严重时会

2、使系统失灵,造成巨大的经济损失,甚至危及人们的生命安全。所以,人们在不断完善单片机系统硬件配置过程中,分析系统受干扰的原因,探讨和提高系统的抗干扰能力,这不仅具有一定的科学理论意义,并且具有很高的工程实用价值。,8.1.1 干扰窜入单片机系统的主要途径,干扰窜入单片机系统的主要途径如图8.1所示。,图8.1 干扰窜入单片机系统主要途径示意图,(1)空间感应;(2)过程通道窜入的干扰;(3)电源系统窜入的干扰; (4)地电位波动窜入的干扰;(5)反射波干扰,8.1.1 干扰窜入单片机系统的主要途径,1. 空间感应的干扰,2. 过程通道的干扰 过程通道的干扰一般分为串模干扰和共模干扰。,(a)内部

3、串扰 (b)外部串扰,图8.2 串模干扰示意图,8.1.1 干扰窜入单片机系统的主要途径,(a)单端输入 (b)双端输入,图8.3 共模干扰示意图,8.1.1 干扰窜入单片机系统的主要途径,3. 交流电源的干扰,4. 地电位波动的干扰,5. 反射波的干扰,8.1.2 干扰的耦合方式,1. 直接耦合方式,2. 公共阻抗耦合方式,3. 电容耦合方式,4. 电磁感应耦合方式,5. 辐射耦合方式,6. 漏电耦合方式,8.1.3 抗干扰原则,所谓抗干扰,就是针对干扰的产生、性质、传播途径、侵入的位置和侵入的形式,采取适当的方法消除干扰源,抑制耦合通道,减弱电路对噪声干扰的敏感性。,1. 消除干扰源,2.

4、 抑制耦合通道,3. 减弱电路对噪声干扰的敏感性,8.2 单片机系统的硬件抗干扰技术 8.2.1 过程通道干扰的抑制,1. 光电隔离,光电隔离是由光电耦合器来完成的。光电耦合器的结构如图8.4所示。,图8.4 光电耦合器结构,8.2.1 过程通道干扰的抑制,图8.5 光电隔离基本配置,8.2.1 过程通道干扰的抑制,光电耦合器的几个特点: (1) 输入和输出在电气上是隔离的。 (2) 光电耦合器的光电耦合部分不会受到外界光的干扰。 (3) 光电耦合器的输入阻抗很低(一般为1001K),而干扰源内阻一般都很大(105106)。按分压原理,传送到光电耦合器输入端的干扰电压就变得很小了。 (4) 光

5、电耦合器的发光二极管只有通过一定的电流才发光,因此,即使电压幅值很高的干扰,若没有足够的能量,也不能使二极管发光,显然,干扰就被抑制掉了。 (5) 输入回路与输出回路之间分布电容极小,因此,在回路中,一端的干扰很难通过光电耦合器馈送到另一端去。,8.2.1 过程通道干扰的抑制,图8.6 长线传输光电耦合浮置处理,8.2.1 过程通道干扰的抑制,2. 继电器隔离,图8.7 继电器隔离,8.2.1 过程通道干扰的抑制,3. 变压器隔离,图8.8 脉冲变压器隔离法,脉冲变压器隔离法传递脉冲输入/输出信号时,不能传递直流分量。,8.2.1 过程通道干扰的抑制,对于一般的交流信号,可以用普通变压器实现隔

6、离。,图8.9 交流信号的幅度检测,8.2.1 过程通道干扰的抑制,4. 采用双绞线作信号线,使双绞线中一根用作屏蔽线,另一根用作信号传输线;这样可以抑制电磁感应干扰。在使用过程中,把信号输出线和返回线两根导线拧和,其扭绞节距与该导线的线径有关。线径越细,节距越短,抑制感应噪声的效果越明显。实际上,节距越短,所用的导线长度就越长,从而增加了导线的成本。一般节距以5cm左右为宜。表8.1列出了双绞线节距与噪声衰减率的关系。,8.2.1 过程通道干扰的抑制,表8.1 双绞线的节距与噪声衰减率,8.2.1 过程通道干扰的抑制,(a),图8.10所示为传送的距离不同时,双绞线的不同使用方法。,8.2.

7、1 过程通道干扰的抑制,(b),(c),图8.10 双绞线数字信号的传送,8.2.1 过程通道干扰的抑制,为了增强其抗干扰能力,可以将双绞线与光电耦合器联合使用,如图8.11所示。,(a),8.2.1 过程通道干扰的抑制,(b),(c),图8.11 光电耦合器与双绞线联合使用,8.2.2 反射波干扰的抑制,影响反射波干扰的因素有两个:其一是信号频率,传输信号频率越高,越容易产生反射波干扰,因此在满足系统功能的前提下,尽量降低传输信号的频率;其二是传输线的阻抗,合理配置传输线的阻抗,可以抑制反射波干扰或大大削弱反射次数。,8.2.2 反射波干扰的抑制,1. 传输线的特性阻抗Rp的测定,根据反射理

8、论,当传输线的特性阻抗Rp与负载电阻R相等(匹配)时,将不发生反射。特性阻抗的测定方法如图8.12所示。调节可变电阻R,当R=Rp时,A门的输出波形畸变最小,反射波几乎消失,这时的R值可以认为该传输线的特性阻抗Rp。,图8.12 传输线的特性阻抗Rp的测定,8.2.2 反射波干扰的抑制,2. 阻抗匹配的方法,(1) 始端串联阻抗匹配,(a),如果传输线的波阻抗是Rp,则当R=Rp时,便实现了始端串联阻抗匹配,基本上消除了波反射。考虑到门A输出低电平时的输出阻抗Rsc,一般选择始端匹配电阻R为R=Rp-Rsc。这种匹配方法会使终端的低电平抬高,相当于增加了输出阻抗,降低了低电平的抗干扰能力。,8

9、.2.2 反射波干扰的抑制,(2) 终端并联阻抗匹配,(b),适当调整R1和R2的阻值,可使R=Rp。为了同时兼顾高电平和低电平两种情况,可选取R1=R2=2Rp。这种匹配方法由于终端阻值低,相当于加重负载,使高电平有所下降,故高电平的抗干扰能力有所下降。,按式(8-1)选取等效电阻R:,(8-1),8.2.2 反射波干扰的抑制,(3) 终端并联隔直阻抗匹配,(c),把电容C串入匹配电路中,当C较大时,其阻抗接近于零,只起隔直流作用,不会影响阻抗匹配,只要使R=Rp就可以了。它不会引起输出高电平的降低,故增加了高电平的抗干扰能力。,8.2.2 反射波干扰的抑制,(4) 终端钳位二极管匹配,(d

10、),利用二极管D把B门输入端低电平钳位在0.3V以下,可以减少波的反射和振荡,提高动态抗干扰能力。,8.2.2 反射波干扰的抑制,3. 输入/输出驱动法,图8.14 应用双驱动器的反射波抑制方法,当A点为低电平时,电压波从B向A传输。由于此时驱动器SN7406的输出呈现近于零的低阻抗,反射信号一到达该门的输出端就有相当部分被吸收掉,只剩下很少部分继续反射。这就是说,由于反射信号遇到的是低阻抗,它的衰减速度很快,反射能力大大地减弱了。当A点为高电平时,发送器T1的输出端对地阻抗很大,可视为开路。为了降低接收器T2的输入阻抗,接入一个负载电阻R1k,这样大大削弱了反射波的干扰。,8.2.2 反射波

11、干扰的抑制,4. 降低输入阻抗法,图8.15 降低输入电阻的反射波抑制方法,当驱动器输出低电平时,A点对地阻抗很低;当驱动器输出高电平时,B点对地阻抗也很低。由此可见,无论是输出高电平还是低电平,反射波都将很快衰减。,8.2.2 反射波干扰的抑制,5. 光电耦合器,图8.16 光电耦合器的反射波抑制方法,该方法除了有效抑制反射波干扰外,还有效地实现了信号的隔离。,8.2.3 空间干扰的抑制,抗空间干扰的主要措施就是采取屏蔽措施。屏蔽是指用屏蔽体把通过空间进行电场、磁场或电磁场耦合的部分隔离开来,隔断其空间场的耦合通道。良好的屏蔽是和接地紧密相连的,因而可以大大降低噪声耦合,取得较好的抗干扰效果

12、。,在单片机系统中,通常是把数字电子装置和模拟电子装置的工作基准地浮空,而设备外壳或机箱采用屏蔽接地。,图8.17所示为一种浮空保护屏蔽层机壳接地方案。,图8.17 浮空保护屏蔽层机壳接地方案,8.2.3 空间干扰的抑制,这种方案的特点是将电子部件外围附加保护屏蔽层,且与机壳浮空;信号采用三线传输方式,即屏蔽电缆中的两根芯线和电缆屏蔽外皮线;机壳接地。图中信号线的屏蔽外皮A点接附加保护屏蔽层的G点,但不接机壳B。假设系统采用差动测量放大器,信号源信号采用双芯信号屏蔽线传送,r3为电缆屏蔽外皮的电阻,Z3为附加保护屏蔽层相对机壳的绝缘电阻,Z1、Z2为二信号线对保护层的阻抗,则有,(8-2),显

13、然,只要增大附加保护屏蔽层对机壳的绝缘电阻,减小相应的分布电容,则有r3/Z3远远小于1,干扰电压Uin可显著减小。,8.2.4 单片机系统的接地技术,接地技术对单片机系统是极为重要的,不恰当的接地会造成极其严重的干扰,而正确接地却是单片机系统抑制干扰的重要手段。接地的目的有两个,一是保护单片机、电器设备和操作人员的安全。二是为了抑制干扰,使单片机工作稳定。通常接地可分为工作接地和保护接地两大类。保护接地主要是为了避免操作人员因设备的绝缘损坏或下降时遭受触电危险和保证设备的安全。而工作接地则主要是为了保证单片机系统稳定可靠地运行,防止地环路引起的干扰。 在单片机系统中,大致有交流地、系统地、安

14、全地、数字地(逻辑地)和模拟地等几种。,8.2.4 单片机系统的接地技术,1. 交流地 交流地是单片机交流供电电源地,即动力线地。 2. 系统地 是指信号回路的基准导体(如控制电源的零电位)。 3. 安全地 其目的是使设备机壳与大地等电位,以避免机壳带电而影响人身及设备安全。通常安全地又称为保护地或机壳地。 4. 数字地 作为单片机系统中各种数字电路的零电位,应该与模拟地分开,避免模拟信号受数字脉冲的干扰。 5. 模拟地 作为传感器、变送器、放大器、A/D转换器和D/A转换器中模拟地的零电位。,8.2.4 单片机系统的接地技术,在单片机系统中一般应该遵循如下的接地原则。 (1) 数字地与模拟地

15、要分开。 (2) 单点接地与多点接地的选择。 (3) 传感器、变送器和放大器等通常采用屏蔽罩,而信号的传送往往使用屏蔽线。对于这些屏蔽层的接地要十分谨慎,应该遵循单点接地原则。 (4) 接地线要尽量加粗。 (5) 在交流地上任意两点之间,往往很容易就有几伏至几十伏的电位差存在。另外,交流地也很容易带来各种干扰。因此,交流地绝对不允许与其他几种地相连,而且交流电源变压器的绝缘性能要好,绝对避免漏电现象。,8.2.5 单片机系统的掉电保护技术,进行掉电保护有两种方法:一是在系统的电源发生变化时,即上电或掉电时,保证SRAM芯片的数据不丢失;二是永久保护,即直接把要保护的SRAM区加上备用电源或整个

16、系统用可靠的不间断电源UPS供电。,8.2.5 单片机系统的掉电保护技术,仔细调节图中的R1、R2的两个电阻值,使电压小于等于4.5V时就使开关断开,线上拉至“1”,这样,RAM中的数据就不会冲失;当电压大于4.5V时,4060开关应接通,使RAM能正常进行读写。,图8.18 利用4060开关实现的RAM掉电保护电路,1. 掉电保护基本电路,8.2.5 单片机系统的掉电保护技术,例8-1 如图8.19所示电路为一种RAM掉电保护电路,试分析其工作原理。,图8.19 RAM掉电保护电路,8.2.5 单片机系统的掉电保护技术,解:由图可见,系统在正常工作时,+5V电源除了给6264提供电源以外,同

17、时也给电池BAT供电;当系统电源掉电时将由电池BAT给SRAM供电。只要在上电和断电期间保证使CE2立即变为低电平,或立即变为高电平就可以使SRAM中的数据保持不变。在图中上电时,系统电源对C1进行充电,在此期间,CE2的输入要经过一定的延时后才能变为高电平,同时,由于U1、U2的电源也是由系统电源对C2充电来建立的,这就保证了在上电时SRAM处于写禁止状态。在系统电源掉电瞬间,U1的输入立刻变低,而端为高电平,从而禁止对SRAM进行写入。同时C1也通过D2和R2放电从而使CE2的电平变低。因此,在掉电瞬间和掉电后,SRAM也处于禁止状态。,8.2.5 单片机系统的掉电保护技术,当掉电发生时,

18、仅由电池在电压下降到一定值时接替供电是不够的。一个完善的保护电路,必须具备以下功能:,(1) 掉电时在CPU的失效电压到达以前,存储器的写信号线应被封锁。CPU失效电压约在4.54.65V之间。 (2) 在存储器失效电压到达以前,备用电池应立即接替供电。 (3) 在掉电保护期间,电池电压不得低于存储器电压。 (4) 上电时,电压升到存储器有效工作电压以上时才允许电源接替电池供电。 (5) 电源电压升到CPU有效工作电压以上,且CPU已处在稳定状态时,才允许将存储器的写信号线开锁。,8.2.5 单片机系统的掉电保护技术,2. 不间断电源UPS,不间断电源UPS(Uninterruptible P

19、ower System)的基本结构分为两大类:一部分是将交流市电变为直流电的整流/充电装置,另一部分是把直流电再度转变为交流电的PWM逆变器。蓄电池在交流电压正常供电时储存能量,此时它一直维持在一个正常的充电电压上。一旦市电供应中断,蓄电池立即对逆变器供电,从而保护UPS电源交流输出电压的连续性。,UPS电源按其操作方式可分为后备式和在线式的UPS电源。,8.2.5 单片机系统的掉电保护技术,(1) 后备式UPS电源的原理图如图8.20所示。电网正常时,由市电直接向单片机供电。UPS系统使蓄电池保持满电量,蓄电池只提供DC-AC逆变器的空载电流。当市电不正常时,由故障检测器发出信号,通过静态开

20、关,由DC-AC逆变器提供交流电源,即UPS电源的逆变器总是处于对单片机提供后备供电状态。,图8.20 后备式UPS电源方框图,8.2.5 单片机系统的掉电保护技术,(2) 在线式UPS电源的原理图如图8.21所示。它平时由交流整流逆变器方式对单片机提供交流电源,使负载的交流供电不受影响。一旦市电中断时,UPS该由蓄电池逆变器方式对单片机提供电源。当市电恢复供电后,UPS又重新切换到由整流器逆变器方式对单片机提供电源。,图8.21 在线式UPS电源框图,8.3 单片机系统的软件抗干扰技术 8.3.1 指令冗余技术,所谓指令冗余技术是指在程序的关键地方人为地加入一些单字节指令NOP,或将有效单字

21、节指令重写,当程序“跑飞”到某条单字节指令上,就不会发生将操作数当作指令来执行的错误,使程序迅速纳入正轨。常用的指令冗余技术有两种:NOP指令的使用和重要指令冗余。,1. NOP指令的使用,通常是在双字节指令和3字节指令之后插入两个单字节NOP指令。这样,即使因为“跑飞”使程序落到操作数上,由于两个空操作指令NOP的存在,不会将其后的指令当操作数执行,从而使程序纳入正轨。,8.3.1 指令冗余技术,通常,一些对程序流向起重要作用的指令(如RET、RETI、ACALL、LCALL、LJMP、SJMP、JZ、JNZ、JC、JNC、JB、JBC、DJNZ等)和某些对系统工作状态起重要作用的指令(如S

22、ETB等)的前面插入两条NOP指令,以保证跑飞的程序迅速纳入轨道,确保这些指令的正确执行。,8.3.2 软件陷阱技术,1. 软件陷阱,所谓软件陷阱,就是当PC失控,造成程序“乱飞”而进入非程序区时,在非程序区设置一些拦截程序,将失控的程序引至复位入口地址0000H或处理错误程序的入口地址ERR,在此处将程序转向专门对程序出错进行处理的程序,使程序纳入正轨。软件陷阱可以采用3种形式如表8.2所示。,8.3.2 软件陷阱技术,表8.2 软件陷阱形式,8.3.2 软件陷阱技术,2. 软件陷阱的安排,(1) 未使用的中断向量区 MSC-51单片机的中断向量区为0003H002FH,当未使用的中断因干扰

23、而开放时,在对应的中断服务程序中设置软件陷阱,就能及时截获错误的中断。在中断服务程序中返回指令用RETI也可以用LJMP。,8.3.2 软件陷阱技术,例8-2 某系统未使用两个外部中断和,它们的中断服务子程序入口地址分别为SINT0和SINT1,试编制其软件陷阱程序。,ORG 0000H 0000H START: LJMP MAIN ;引向主程序入口 ORG 0003H LJMP SINT0 ;中断服务程序入口 ORG 0013H LJMP SINT1 ;中断服务程序入口 ORG 0080H 0080H MAIN: ;主程序 SINT0: NOP NOP POP direct1 ;将断点弹出堆

24、栈区 POP direct2 LJMP 0000H ;转到0000H处,8.3.2 软件陷阱技术,SINT1: NOP NOP POP direct1 ;将原先的断点弹出 POP direct2 PUSH 00H ;断点地址改0000H PUSH 00H RETI,注:中断服务程序中的direct1和direct2为主程序中非使用单元。,8.3.2 软件陷阱技术,(2) 未使用的EPROM空间,程序一般都不会占用EPROM芯片的全部空间,对于未使用完的EPROM空间,一般都维持原状,即其内容为0FFH,0FFH对于MSC-51单片机来说是一条单字节指令“MOV R7, A”。如果程序“跑飞”到

25、这一区域,则将顺利向下执行,不再跳跃(除非又受到新的干扰),因此在非程序区内用0000020000或020202020000数据填满。注意,最后一条填入数据必须为020000。当“乱飞”程序进入此区后,读到的数据为0202H,这是一条转移指令,使PC转入0202H入口,在主程序0202H设有出错处理程序,或转到程序的入口地址0000H执行程序。,8.3.2 软件陷阱技术,(3) 表格,单片机程序设计中一般会遇到两种表格:一类是数据表格,供“MOV A, APC”指令或“MOVC A, ADPTR”指令使用;另一类是散转表格,供“JMP ADPTR”指令使用。由于表格的内容与检索值是一一对应的关

26、系,在表格中安排陷阱会破坏表格的连续性和对应关系,因此只能在表格的最后安排陷阱。如果表格区较长,则安排的陷阱不能保证一定能够捕捉到“跑飞”的程序,这时只能借助于别的软件陷阱或冗余指令来使程序恢复正常。,8.3.2 软件陷阱技术,(4) 运行程序区,在进行单片机系统程序设计时常采用模块化设计,单片机按照程序的要求一个模块、一个模块地执行。所以可以将陷阱指令组分散放置在用户程序各模块之间空余的单元里。在正常程序中不执行这些陷阱指令,保证用户程序正常运行。但当程序“跑飞”一旦落入这些陷阱区,马上将“跑飞”的程序拉到正确轨道。这个方法很有效,陷阱的多少一般依据用户程序大小而定,一般每1K字节有几个陷阱

27、就够了。,8.3.2 软件陷阱技术,(5) RAM数据保护的条件陷阱,单片机受到严重的干扰时,可能不能正确地读写外部的RAM区。为解决这个问题,可以在进行RAM的数据读写之前,测试RAM读写通道的畅通性,这可以通过编写陷阱实现,当读写正常时,不会进入陷阱,若不正常,则会进入陷阱,且形成死循环。实现程序为:,MOV A, #NNH ;NN是任意的 MOV DPTR, #XXXXH MOV 6EH, #55H MOV 6FH, #0AAH NOP NOP CJNE 6EH, #55H, XJ ;6EH中不为55H则落入死循环 CJNE 6FH, #0AAH, XJ ;6FH中不为AAH则落入死循环

28、 MOVX DPTR, A ;A中数据写入RAM的XXXXH单元中,8.3.2 软件陷阱技术,NOP NOP MOV 6EH, #00H MOV 6FH, #00H RET XJ: NOP ;死循环 NOP SJMP XJ 落入死循环以后,可以通过后面将要介绍的“看门狗”技术来复位系统。,8.3.3 数字滤波技术,所谓数字滤波,就是在单片机中用某种计算方法对输入的信号进行数学处理,以便减少干扰在有用信号中的比重,提高信号的真实性。这种滤波方法不需要增加硬件设备,只需根据预定的滤波算法编制相应的程序即可达到信号滤波的目的。,下面介绍几种常用的数字滤波方法:程序判断滤波、算术平均值滤波、加权平均值

29、滤波、滑动平均值滤波、中值滤波、一阶滞后滤波和复合数字滤波法。,8.3.3 数字滤波技术,1.程序判断滤波,程序判断滤波的方法,是根据生产经验,确定出两次采样输入信号可能出现的最大偏差Y。若实际先后两次采样值大于Y,则表明本次输入信号是干扰信号,取上次采样值作为本次采样值;若小于Y,则本次采样值有效,即: 当|Yn-Yn-1|Y时,则取Yn=Yn 当|Yn-Yn-1|Y时,则取Yn=Yn-1 (8-3) 式中,Yn第n次采样值; Yn-1第(n-1)次采样值;Y为相邻两次采样值所允许的最大偏差,它的大小取决于采样周期T及被测参数Y应有的正常变化率。因此,一定要按照实际情况来确定Y,否则非但达不

30、到滤波效果,反而会降低控制品质。Y通常可根据经验数据获得,必要时,也可由实验得出。这种程序判断滤波方法,主要用于变化比较缓慢的参数,如温度、物理位置等测试系统。,8.3.3 数字滤波技术,2. 算术平均值滤波,算术平均值法滤波的实质即把连续采样的N个值进行算术平均,作为本次的输出 ,即:,(8-4),N值决定了信号平滑度和灵敏度。随着N的增大,平滑度提高,灵敏度降低。应视具体情况选取N,以便得到满意的滤波效果。为方便求平均值,N值一般取4、8、16之类的2的整数幂,以使用移位来代替除法。通常流量信号取12项,压力信号取6项,温度、成分等缓慢变化的信号取2项甚至不平均。这种滤波方法主要用于对压力

31、、流量等周期脉动的采样值进行平滑加工,但对偶然出现的脉冲性于扰的平滑作用尚不理想,因而它不适用于脉冲性干扰比较严重的场合。,8.3.3 数字滤波技术,3. 加权平均值滤波,算术平均值滤波法对每次采样值给出相同的加权系数,即1/N。实际上某些场合需要增加新采样值在平均值中的比重,可采用加权平均值滤波法,滤波公式为:,(8-5),其中,K1、K2、Kn为加权系数,且应满足K1、K2、Kn均大于0,且它们的和为1。加权系数体现了各次采样值在平均值中所占的比例,可根据具体情况决定,一般采样次数愈靠后,取的比例愈大,这样可增加新的采样值在平均值中的比例。这种滤波方法可以根据需要突出信号的某一部分,抑制信

32、号的另一部分。,8.3.3 数字滤波技术,4. 滑动平均值滤波,先在RAM中建立一个数据缓冲区,依顺序存放N个采样数据,每采样进一个新数据,就将最早采集的那个数据丢掉,而后求包括新数据在内的N个数据的算数平均值或加权平均值。这样,每进行一次采样,就可计算出一个新的平均值,从而加快了数据处理的速度。,滑动平均值滤波对周期性干扰有良好的抑制作用,平滑度高,灵敏度低;但对偶然出现的脉冲性干扰的抑制作用差,不易消除由于脉冲干扰引起的采样值的偏差,因此它不适用于脉冲干扰比较严重的场合,而适用于高频振荡系统。通过观察不同N值下滑动平均的输出响应来选取N值,以便既少占有时间,又能达到最好滤波效果。通常对流量

33、信号,N取12,压力信号N取4,液面参数N取412,温度信号N取14。,8.3.3 数字滤波技术,5. 中值滤波,中值滤波法就是对某一被测参数连续采样N次(一般N取奇数),然后把N次采样值按大小排列,取中间值为本次采样值。中值滤波能有效地克服因偶然因素引起的波动干扰。对温度、液位等变化缓慢的被测参数采用此法能收到良好的滤波效果。但对于流量、速度等快速变化的参数一般不宜采用中值滤波法。,8.3.3 数字滤波技术,6. 一阶滞后滤波,在单片机系统中,常用一阶滞后RC模拟滤波器来抑制干扰。当用这种方法对低频干扰滤波时,要求滤波器有大的时间常数和高精度的RC网络。滤波时间常数越大,要求R、C值越大,其

34、漏电流也必然加大,从而使RC网络的精度降低了。采用一阶滞后的数字滤波程序,能很好克服上述这种模拟量滤波器的缺点,在滤波常数要求大的场合,此法更合适。一阶滞后滤波算法为: Yn=(1-)Yn-1+Xn (8-6) 式中:Xn第n次采样值; Yn-1第n-1次滤波结果输出值; Yn第n次滤波结果输出值; 滤波平滑系数,滤波时间常数; T采样周期;,8.3.3 数字滤波技术,对于一个确定的采样系统而言,T为已知量,所以由 ,可得:,(8-7),当1时, ,则式(8-7)可简化为:,(8-8),从式(8-8)中可清楚地看出,采样周期T与RC滤波器的时间常数及相应的数字滤波器的滤波平滑系数之间的关系。,

35、一阶滞后滤波算法对周期性干扰具有良好的抑制作用,适用于波动频率较高参数的滤波。其不足之处是带来了相位滞后,灵敏度低。滞后的程度取决于的大小。同时,它不能滤除高于采样频率二分之一的干扰信号。,8.3.3 数字滤波技术,7. 复合数字滤波,为了进一步提高滤波效果,有时可以把两种或两种以上不同滤波功能的数字滤波器组合起来,组成复合数字滤波器,或称多级数字滤波器。,例如,算术平均值滤波和加权平均值滤波,都只能对周期性的脉动采样值进行平滑加工,但对于随机的脉冲干扰,如电网的波动,变送器的临时故障等,则无法消除。然而,中值滤波即可以解决这个问题。因此,可以将算术平均值滤波和加权平均值滤波组合起来,形成多功

36、能的复合滤波。即把采样值按序排列,然后将最大值和最小值去掉,再把余下的部分求和并取其平均值。这种滤波方法的原理可由下式表示: 若X(1)X(2)X(N), 3N14,则:,(8-9),8.3.4 故障自动恢复处理程序,1. 辨别上电方式,所谓辨别上电方式,就是根据某些信息来确定是以何种方式进入0000H单元的,是上电复位还是故障复位。通常以软件设置上电标志的方式来判定。,软件设置上电标志是以单片机上电复位后某些寄存器的值、RAM中预先设定的标志位或程序计数器PC的值作为上电标志。在程序开始处检测这些标志位,若改变了,即可认为是上电复位;若未改变,则认为是故障复位。 可以利用PSW、SP、和RA

37、M中特定的单元设置软件上电标志。PSW中的第5位PSW.5可以由用户自行设定,若系统是上电复位,则PSW的内容为00H,程序开始后,通过将PSW.5置1来作为上电标志;SP的上电复位值是07H,可以将SP设置为其他大于07H的值作为上电标志;利用RAM与此类似。,8.3.4 故障自动恢复处理程序,例8-3 PSW.5是用户设定标志,它可以置位和清0,也可供测试。试用PSW.5作为上电标志,编制出相应的程序。 解:相应的程序清单如下: ORG 0000H AJMP START START: MOV C, PSW.5 ;判别标志位PSW.5 JC LOOP ;PSW.51转向出错程序处理 SETB

38、 PSW.5 ;置PSW.51 LJMP START0 ;转向系统初始化入口 LOOP: LJMP ERR ;转向出错程序处理,应注意,PSW.5标志判定仅适合于软件复位方式(在RESET为低电平情况下,由软件控制转到0000H)。,8.3.4 故障自动恢复处理程序,例8-4 单片机内部RAM单元上电复位时其状态是随机的,可以选取内部RAM中某个单元为上电标志。如果选用50H、51H单元为上电标志单元,上电标志字为55H和AAH。试编制相应的程序。,ORG 0000H AJMP START START: MOV A, 50H CJNE A, 55H, LOOP ;50H中不为55H则转 MOV

39、 A, 51H CJNE A, 0AAH, LOOP ;51H中不为AAH则转 LJMP ERR ;转向出错程序处理 LOOP: MOV 50H, #55H MOV 51H, 0AAH LJMP START0 ;转向系统初始化入口,应注意,RAM单元上电标志适用于硬件、软件复位方式。,8.3.4 故障自动恢复处理程序,2. 系统的复位处理,用软件抗干扰措施来使失控的系统恢复到正常状态,重新进行彻底的初始化使系统的状态进行修复或有选择地进行部分初始化,这种操作也被称之为“热启动”。热启动首先要对系统进行复位,也就是执行一系列指令来使各种专用寄存器达到与硬件复位时同样的状态,但是需要注意的是还有中

40、断激活标志。因为MCS51单片机系统响应中断后会自动把相应的中断激活标志置位,阻止同级的中断响应。若系统受到干扰后,很可能是在执行中断服务程序过程中而导致程序“跑飞”,没有执行RETI指令而跳出中断服务程序,这时不可能清除该中断的激活标志。这样,系统热启动时,不管中断允许标志是否置位,都不予响应同级中断的请求。由此可见,清除中断激活标志是非常重要的。下面给出了一段系统复位处理的程序。,8.3.4 故障自动恢复处理程序,ORG 0080H ERR: CLR EA ;关中断 MOV DPTR, #ERR1 ;准备返回地址 PUSH DPL PUSH DPH RETI ;清除高优先级中断激活标志 E

41、RR1: MOV 50H, #0AAH ;重置上电复位标志 MOV 51H, #55H MOV DPTR, #ERR2 ;返回出错处理程序入口地址 PUSH DPL PUSH DPH RETI ;清除低优先级中断激活标志,8.3.4 故障自动恢复处理程序,3. RAM数据的备份与纠错,实践表明,在单片机系统遭受干扰后,储存在其RAM中的数据通常是局部单元会遭到破坏或值被更改,不可能将RAM区所有的数据都冲掉。因此,在编程时,应将一些重要的数据多作备份。备份时,各备份数据间应远离且分散设置,以防同时被破坏,此外备份数据区应远离堆栈,避免堆栈操作对数据的更改。对于重要的数据,在条件允许的情况下,应

42、多作备份。,纠错是根据备份的数据来进行的。将原始数据与各备份数据的对应单元逐一比较,若这一组单元数据中大多数都是同一个值,只有少数单元的值显示了较大的差异,说明某些单元遭到破坏,则把同一值的数据作为正确数据,并将那些存在差异的单元存储值设置成与大多数单元相同的值,完成数据的纠错,这样几份数据又保持一致,从而避免了数据的丢失。因此,对RAM中重要的数据做备份对提高RAM数据抗干扰能力是很重要的。,8.3.4 故障自动恢复处理程序,4. 程序失控后系统信息的恢复,一般来说,主程序总是由若干功能模块组成,每个功能模块入口设置一个标志。系统故障复位后,可根据这些标志选择进入相应的功能模块。例如,某系统

43、有两个功能模块,当系统进入第一个模块时。在该单元写上该模块的编码值0AAH,系统退出该模块、进入第二个模块后,即将该单元写上第二个模块的编码值55H。这样,故障后通过直接读取该单元就可以知道故障前程序运行至何处。,8.4 Watchdog技术,“看门狗”技术就是不断监视程序循环运行时间,若发现时间超过已知的循环设定时间,则认为系统陷入了“死循环”,然后强迫程序返回到0000H入口,在0000H处安排一段出错处理程序,使系统运行纳入正轨。WDT可以由硬件实现,也可以由软件实现。,MCS-51单片机的片内没有监视定时器(WDT),但可利用片内定时器与中断程序,或者片外定时器与中断程序来作为WDT。

44、这种方法要求定时器的定时时间稍大于主程序正常运行一个循环的时间,若程序正常运行时间为T,则定时器的定时时间应为1.1Ttw2T。注:程序每循环一次,就要刷新一次定时器的定时常数。只要程序正常运行,就不会出现定时中断;只有在程序失常时,不能刷新定时常数才产生中断。此时,在中断服务程序中使系统程序从头开始执行,或使程序从失常处重新执行。,8.4.1 硬件Watchdog电路,1. 单稳态型Watchdog电路,用双可再触发单稳态多谐振荡器74LS123构成的“看门狗”电路如图8.22所示。,图8.22 单稳态“看门狗”电路,8.4.1 硬件Watchdog电路,图8.22中的双可再触发单稳态多谐振

45、荡器74LS123在清除端为高电平,B端为高电平的情况下,若A端输入负跳变,则单稳态触发器脱离原来的稳态(Q为低电平)进入暂态,即Q端变为高电平。在经过一段延时后,Q端重新回到稳定状态。这就使Q端输出一个正脉冲,其脉冲宽度由定时元件R、C决定。当C1000pF时,输出脉冲宽度计算如下: tw0.45RC (8-10) 式中,R的单位为,C的单位为F,tw的单位为s。,图8.22中,若R1100k,C10F,则单稳态1#的暂态时间tw1为450ms。若R22k,C21F,则单稳态2#的暂态时间tw2为0.9s。,8.4.1 硬件Watchdog电路,第一个单稳态电路的工作状态由单片机的P1.0控

46、制。在系统开始工作时,P1.0向1A端输入一个负脉冲,使1Q端产生正跳变,但并不能触发单稳2#动作,2Q仍为低电平。P1.0负触发脉冲的时间间隔取决于系统控制主程序运行周期的大小。考虑系统参数的变化及中断、干扰等因素,必须留有足够的余量。本系统最大运行周期为0.3s。单稳1#的输出脉冲宽度为450ms,若此期间内1A端再有负脉冲输入,则1Q端高电平就会在此刻重新实现450ms的延时。因此只要在1A端连续不断地输入间隔小于450ms的负脉冲,则1Q输出将始终维持在高电平上。这时2A保持高电平,2#单稳不动作,2Q端始终维持在低电平。 一旦程序由于干扰而进入“死循环”,“看门狗”脉冲不能正常触发,

47、经过450ms后单稳态1#脱离暂态,1Q端回到低电平,并触发单稳态2#翻转到暂态,在2Q端产生足够宽的正脉冲(0.9ms),使单片机可靠复位。一旦系统复位后程序就可重新进入正常的工作循环中,使系统的运行可靠性大大提高了。,8.4.1 硬件Watchdog电路,例8-5 如图8.23所示电路为由定时器/计数器8253和可再触发单稳态多谐振荡器74LS123组成的硬件“看门狗”电路,将8253计数器0设置成方式0计数结束中断方式,试分析其工作原理,8.4.1 硬件Watchdog电路,解:将8253计数器0设置成方式0计数结束中断方式,写入控制字后,输出端OUT为低电平作为初始状态。因GATE位始

48、终为高电平,则允许计数。对计数器0的计数器高字节和低字节连续两次写操作(由方式控制字的D5D4确定为11)以启动计数器工作。因通常选8253的定时时间稍大于正常程序循环一次运行的时间,所以,若程序正常运行,则在计数值减到0以前,CPU又重写计数值,将重新启动计数器,所以OUT端仍为低电平,74LS123的 端一直为高电平,不能复位8051单片机。但若在计数器减到0时CPU未刷新计数值,说明程序飞掉或死循环,将产生溢出,则GATE变为高电平“1”,相当于74LS123的A端输入一个负跳变信号,则其进入暂稳态, 变为低电平“0”,取反后变为高电平,即可复位8051单片机,使程序进入0000H重新执

49、行程序。,8.4.1 硬件Watchdog电路,2. 由MAX813L构成的Watchdog电路,MAX813L是一款带有WDT和电压监控功能的芯片,其输入在1.6s内没有变化时,就会有复位输出,同时,电压监控功能可以保证当电源电压低于1.25V时,产生掉电输出。此外,MAX813L还具有上电时自动产生200ms宽的复位脉冲、人工复位功能,是一款能对CPU提供良好保护的芯片。 MAX813L芯片的各引脚功能描述如表8.3所示。,8.4.1 硬件Watchdog电路,表8.3 MAX813L引脚功能,8.4.1 硬件Watchdog电路,例8-6 图8.24所示为MAX813L与80C51单片机的接口电路,该电路可以很好地实现“看门狗”、电源故障监控即复位单片机的功能。试分析其工作原理。,图8

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1