MAX813L在51单片机系统抗干扰中的应用及工作原理

发布者:WhisperingWish最新更新时间:2011-12-03 关键字:MAX813L  51单片机  抗干扰 手机看文章 扫描二维码
随时随地手机看文章
    近年来,单片机以其体积小、价格廉、面向控制等独特优点,在各种工业控制、仪器仪表、设备、产品的自动化、智能化方面获得了广泛的应用。与此同时,单片机应用系统的可靠性成为人们越来越关注的重要课题。影响可靠性的因素是多方面的,如构成系统的元器件本身的可靠性、系统本身各部分之间的相互耦合因素等。其中系统的抗干扰性能是系统可靠性的重要指标。

1 MAX813L芯片及其工作原理
1.1 芯片特点  
· 加电、掉电以及供电电压下降情况下的复位输出,复位脉冲宽度典型值为200 ms。
· 独立的看门狗输出,如果看门狗输入在1.6 s内未被触发,其输出将变为高电平。
· 1.25 V门限值检测器,用于电源故障报警、电池低电压检测或+5 V以外的电源监控。
· 低电平有效的手动复位输入。
  · 8引脚DIP封装。
1.2 MAX813L的引脚及功能  
1.2.1 MAX813L芯片引脚排列见图1—1

MAX813L工作原理及其在51单片机系统抗干扰中的应用
1.2.2 各引脚功能及工作原理
(1)手动复位输入端
  当该端输入低电平保持140 ms以上,MAX813L就输出复位信号.该输入端的最小输入脉宽要求可以有效地消除开关的抖动。与TTL/CMOS兼容。
(2)工作电源端(VCC):接+5V电源。
(3)电源接地端(GND):接0 V参考电平。
(4)电源故障输入端(PFI)
  当该端输入电压低于1.25 V时,5号引脚输出端的信号由高电平变为低电平。
(5)电源故障输出端
  电源正常时,保持高电平,电源电压变低或掉电时,输出由高电平变为低电平。
(6)看门狗信号输入端(WDI)
  程序正常运行时,必须在小于1.6 s的时间间隔内向该输入端发送一个脉冲信号,以清除芯片内部的看门狗定时器。若超过1.6 s该输入端收不到脉冲信号,则内部定时器溢出,8号引脚由高电平变为低电平。
(7)复位信号输出端(RST)
  上电时,自动产生200 ms的复位脉冲;手动复位端输入低电平时,该端也产生复位信号输出。
(8)看门狗信号输出端
  正常工作时输出保持高电平,看门狗输出时,该端输出信号由高电平变为低电平。

2 电路设计
2.1 基本工作原理  
  工业环境中的干扰大多是以窄脉冲的形式出现,而最终造成微机系统故障的多数现象为“死机”。究其原因是CPU在执行某条指令时,受干扰的冲击,使它的操作码或地址码发生改变,致使该条指令出错。这时,CPU执行随机拼写的指令,甚至将操作数作为操作码执行,导致程序“跑飞”或进入“死循环”。为使这种“跑飞”或进入“死循环”的程序自动恢复,重新正常工作,一种有效的办法是采用硬件“看门狗”技术。用看门狗监视程序的运行。若程序发生“死机”,则看门狗产生复位信号,引导单片机程序重新进入正常运行。

MAX813L工作原理及其在51单片机系统抗干扰中的应用

  此外,工业现场由于诸多大型用电设备的投入或撤出电网运行,往往造成系统的电源电压不稳,当电源电压降低或掉电时,会造成重要的数据丢失,系统不能正常运行。若设法在电源电压降至一定的限值之前,单片机快速地保存重要数据,将会最大限度地减少损失。
  单片机的掉电工作方式电路原理图如图2—1所示:当PD设置为1时,激活掉电方式,与非门输出为低电平,时钟发生器停止工作,单片机内所有运行状态均被停止,只有片内RAM和SFR中的数据被保存起来。在单片机系统中可借助于一定的外部附加电路监测电源电压,并在电源发生故障时及时通知单片机(如通过引发中断来实现)快速保存重要数据,且断开外围设备用电电源,使整个应用系统的功耗降到最少。当电源恢复正常时,取消掉电工作方式,通过复位单片机,使系统重新正常工作。

MAX813L工作原理及其在51单片机系统抗干扰中的应用[page]

 

2.2 硬件实现电路图
  图2—2给出了MAX813L在单片机系统中的典型应用线路图。此电路可以实现上电、瞬时掉电以及程序运行出现“死机”时的自动复位和随时的手动复位;并且可以实时地监视电源故障,以便及时地保存数据。
  本电路巧妙地利用了MAX813L的手动复位输入端。只要程序一旦跑飞引起程序“死机”,MAX813L工作原理及其在51单片机系统抗干扰中的应用端电平由高到低,MAX813L工作原理及其在51单片机系统抗干扰中的应用当变低超过140 ms,将引起MAX813L产生一个200 ms的复位脉冲。同时使看门狗定时器清0和使MAX813L工作原理及其在51单片机系统抗干扰中的应用引脚变成高电平。也可以随时使用手动复位按钮使MAX813L产生复位脉冲,由于为产生复位脉冲端MAX813L工作原理及其在51单片机系统抗干扰中的应用要求低电平至少保持140ms以上,故可以有效地消除开关抖动。
  该电路可以实时地监视电源故障(掉电、电压降低等)。图2—2中R1的一端接未经稳压的直流电源。电源正常时,确保R2上的电压高于1.26 V,即保证MAX813L的PFI输入端电平高于1.26 V。当电源发生故障,PFI输入端的电平低于1.25 V时,电源故障输出端电平由高变低,引起单片机中断,CPU响应中断,执行相应的中断服务程序,保护数据,断开外部用电电路等。

3 抗干扰程序设计
3.1 程序运行“死机”及相应对策
程序正常运行时,由主程序在小于1.6 s的时间间隔内周期性地从P1.7端向MAX813L的WDI输入端发送一个脉冲信号,以清除芯片内部的看门狗定时器。实现指令为:
RST-PRG:SETB P1.7
NOP     
CLR P1.7
若超过1.6 s该输入端收不到脉冲信号,则内部看门狗定时器溢出,8号引脚由高电平变为低电平。引起MAX813L产生一个200 ms的复位脉冲。同时使看门狗定时器清0和使MAX813L工作原理及其在51单片机系统抗干扰中的应用引脚变成高电平。
  需要引起注意的是,整个单片机系统完成复位后,在PC指针的指引下整个程序将从0000H地址处重新开始初始化运行,而这在很多情况下是不允许的(如连续的工艺流程),为此必须采取相应的措施。首先在对单片机系统完成复位后,程序应该先判断是开机运行(冷启动)还是运行过程中“死机”之后的重新加载运行(热启动)。因为一般情况下在这两种启动方式下,系统程序在进入主流程前所要做的工作往往不同。如冷启动后,系统程序在初始化程序中往往要进行系统资源的自检以及将各外围设备设置为相应的待机状态等。而热启动后往往不再对系统的资源自检,同时应尽量避免对各外围设备修改设置,只是对单片机系统本身的一些资源进行必要的设置工作。其次,在大多数情况下,我们总可以把一个连续的过程分解开来,把它变成一个个独立的子过程(状态)组成的连续过程。在主程序运行过程中,适时保存相应状态和该状态下的相关参数。这样当程序运行出现“死机”,在MAX813L作用下系统复位和初始化后,将首先查询事先保存的状态参数,然后根据此参数决定程序的流向。同时把该状态下事先保存的参数取出,对系统外围设备进行必要的恢复设置工作和引导程序继续运行。根据这一思想设计的系统程序流程图如图3—1所示。
3.2 电源故障及相应对策  
  当电源发生故障时,引起单片机中断,CPU响应中断,执行相应的中断服务程序,保护数据,断开外部用电电路等。为了做到这一点,必须把中断优先级(PX0)设为最高,特别是系统中还有其它中断时,更应如此。中断优先级的设置可通过中断优先寄存器IP实现,此外还要设置中断允许寄存器IE的总允许位(EA)及外部中断0中断允许位(EX0)。实现指令为:

SETB IP.0    ;设置PX0=1
SETB IE.7    ;设置EA=1  
SETB IE.0    ;设置EX0=1

 MAX813L工作原理及其在51单片机系统抗干扰中的应用
  至于中断源的触发方式。如果选择电平触发,则中断擦除时必须外加辅助电路,否则中断不能正常执行;如果选择跳变触发,当MAX813L工作原理及其在51单片机系统抗干扰中的应用端出现负跳变时,CPU内部硬件自动置位中断标志IE0,CPU响应中断,通过向量地址转入中断服务程序时IE0被硬件清0。所以基于上述分析,必须选用跳变触发方式。触发方式由定时器控制寄存器TCON中的IT0位决定。实现指令为:
SETB TCON.0
  设计好中断服务程序对于系统的连续可靠运行具有重要意义。在中断服务程序中,先保存重要数据到片内RAM(掉电时由备用电源供电,相应实现电路未画出)。发出控制信号断开外围设备,最后把电源控制寄存器PCON的PD位置1,激活掉电工作方式,中断返回。中断服务程序实现如下(其中R0代表保存的数据在内存中的缓冲区首址,DPTR代表要保存的数据在外部RAM中的缓冲区首址,R1代表要保存的数据字节量):
INT0:MOVX A,@DPTR  ;保存数据
MOV @R0,A
INC R0        ;内存缓冲区指针加1
INC DPTR       ;外存缓冲区指针加1
DJNZ R1,INT0     ;保存完?没完,继续保存
SETB PCON.1     ;激活掉电方式
RET1    

4 结束语
本系统巧妙地利用MAX813L芯片,实现了单片机系统的看门狗电路、电源故障监视电路和手动、自动复位电路,电路结构紧凑,设计合理。结合本文给出的程序抗干扰设计方案,可有效地解决程序运行中出现的“死机”现象和电源故障带来的不利影响。在我们设计氮化镓半导体薄膜生长工艺流程实时监控系统中实际运行表明:该方案设计合理,运行可靠,抗干扰能力强,达到了满意的使用效果,并且可推广应用到其它的单片机控制系统中去。

 

关键字:MAX813L  51单片机  抗干扰 引用地址:MAX813L在51单片机系统抗干扰中的应用及工作原理

上一篇:单片机SoC技术在工业无线网络中的具体应用
下一篇:基于51单片机的温湿度分析遥控开关门窗系统

推荐阅读最新更新时间:2024-03-16 12:47

51单片机“积木式”实验板的制作
这套实验板每块板上的元件数不多,采用万能板和敷铜板丙种方法制作均可,上图中的实物就是用l5xLOCm万能板制作的。主控板的制作要注意的是PO口的引出端,从主控板原理下图可以看到,PO口引出端接线柱的排列方向和51 芯片 的PO口引脚的排列方向正好相反,所以要接跳线,别的三个 端口 的对外接线柱排列方向和51芯片的端口引脚方向一致。这样安排主要是保证不管主板怎样摆放,板上边两个端口各自的8个接线柱排列从左到右分别按PX.7、PX.6、...、PX.1、PX.0(X为0、1、2、3)的顺序,这样容易记忆,特别是外接数码管驱动时尤为方便。 另外要注意各元件的安装高度,保证40脚锁紧式插座装上芯片后,锁紧柄按下不被板上所装的元件挡住。
[单片机]
<font color='red'>51单片机</font>“积木式”实验板的制作
基于80C51单片机的多功能肌电测量仪设计
肌电测量或肌电图是检查人体神经、肌肉系统功能的重要方法,广泛应用于神经科、骨科、耳鼻喉科及口腔科。它可为临床诊断、治疗神经肌肉系统疾患提供客观的科学依据。肌电测量仪一般只具有在示波器上显示波形和记录波形的功能。早期,肌电信号通过照相对胶片进行显影才能看到;后来,把肌电信号描绘在肌电图纸上。这两种肌电信号记录法的机构都很复杂。这里介绍一种利用普通的示波器,通过单片机和A/D、D/A转换控制系统构成的,具有记忆、波形分析(诊断)功能和各种操作的实时处理的低功耗智能肌电测量仪。该肌电测量仪可实现一次采集后,多次重复显示、打印,实现了肌电信号测量仪的智能化 1 多功能肌电测量仪的硬件设计 1.1 系统硬件结构框图 系统硬件结构框图如图
[单片机]
基于80C<font color='red'>51单片机</font>的多功能肌电测量仪设计
51单片机入门经验分享6-利用STC单片机的ADC采集电压
在实际开发中,AD,DA用的相当多,这一节,我们写一个程序,将采集到的电压数值显示在数码管上,程序如下: /******************************************************************************* * 文件名: ADC转换器使用 * 描 述: 电池电压 * 功 能:中断方式 11.059200MHZ * 作 者:大核桃 * 版本号:1.0.1(2017.05.23) *******************************************************************************/ #in
[单片机]
<font color='red'>51单片机</font>入门经验分享6-利用STC单片机的ADC采集电压
51单片机C语言教程(五) 常量
上一节我们学习了KEIL C51编译器所支持的数据类型。而这些数据类型又是怎么用在常量和变量的定义中的呢?又有什么要注意的吗?下面就来看看吧。晕!你还区分不清楚什么是常量,什么是变量。常量是在程序运行过程中不能改变值的量,而变量是可以在程序运行过程中不断变化的量。变量的定义可以使用所有C51编译器支持的数据类型,而常量的数据类型只有整型、浮点型、字符型、字符串型和位标量。这一节我们学习常量定义和用法,而下一节则学习变量。 常量的数据类型说明是这样的   1.整型常量可以表示为十进制如123,0,-89等。十六进制则以0x开头如0x34,-0x3B等。长整型就在数字后面加字母L,如104L,034L,0xF340等。   2.浮点型
[单片机]
<font color='red'>51单片机</font>C语言教程(五) 常量
51单片机-控制LED灯
1.硬件设计 通过原理图分析,LED 采用共阳接法,即所有 LED 阳极管脚接电源 VCC(5V),阴极管脚通过一个限流电阻接到 P2 口上;要让 LED 发光即对应的阴极管脚应该为低电平,若为高电平则熄灭;所以如何配置P2口的高低电平(P2寄存器),就是怎么去控制这8颗LED灯。 2.软件设计 2.1.点亮一颗LED灯 功能需求:点亮D1这一颗LED灯 程序设计:根据原理图去配置对应的寄存器(P2口),去控制LED灯的亮灭状态,如:D1亮,其他灯不亮,即P20输入低电平,其他管脚输入高电平; #include REGX52.H void main() { P2=0XFE;//1111 1110 D1灯亮,其
[单片机]
<font color='red'>51单片机</font>-控制LED灯
51单片机控制的智能台灯设计
功能及概述 本系统组成如图一所示,主要由三部分组成: 传感器及信号处理部分:检测人体辐射红外信号及光强信号经过处理后变成可处理的数字信号 以80C51组成的中央处理单元:处理信号并发出控制命令 提醒电路及灯光控制电路 :给出提醒信号并根据80C51给出的命令控制灯光 整个系统是以80C51控制下工作的。其工作过程为:当环境光比较强时,光敏电阻阻值比较小,信号处理电路检测到低电平信号,禁止热释电红外传感器工作,省去了80C51处理过程。当环境光比较弱时,光敏电阻阻值变大,信号处理电路接收到高电平,从而启动热释电红外传感器工作。热释电红外传感器1探测比较远的距离,当人体进入到传感器1的控测范围内且光强较弱时,信号检测电
[单片机]
<font color='red'>51单片机</font>控制的智能台灯设计
12232c液晶显示和8051单片机的接口c语言程序
以下为彭总编写的c语言程序,我用过了!赫赫!!在atmega128中写通讯协议的头四位数字时好像不能分开一位一位的送,而是要把它当作一个16进制的整体移位写入!程序中的comm为写0表示写12232c的指令,dat为1表示写数据。cs,sclk,std分别为片选、时钟、及数据io口,可用sbit指令定义。 /************lcd初始化程序**************/ void init_lcd (void) { wr_lcd (comm,0x30); /*30---基本指令集动作,8位控制接口*/ wr_lcd (comm,0x01); /*清
[单片机]
51单片机系列——外部中断怎么写(讲解+实例:改变流水方
在学习51单片机中断的时候常常被外部中断、定时/计数器和串行口弄的稀里糊涂的,本来就是个小小学渣,怎么能经得起折磨!!! 闲来无事,今天写一遍这个来介绍说明一下外部中断INT0、INT1。其他的小编以后再整理给大家。 先上一个实例: 题目: 实例仿真图: 程序 #include reg52.h #include intrins.h #define uint unsigned int void delay1s(void) //延时1s { unsigned char a,b,c; for(c=167;c 0;c--) for(b=171;b 0;b--) for(a=16;
[单片机]
<font color='red'>51单片机</font>系列——外部中断怎么写(讲解+实例:改变流水方
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved