51单片机系统断电时的数据保护方法

发布者:tanjunhui最新更新时间:2012-01-03 关键字:51单片机  系统断电  数据保护 手机看文章 扫描二维码
随时随地手机看文章

     在测量、控制等领域的应用中,常要求单片机内部和外部RAM中的数据在电源掉电时不丢失,重新加电时,RAM中的数据能够保存完好,这就要求对单片机系统加接掉电保护电路。掉电保护通常可采用以下三种方法:一是加接不间断电源,让整个系统在掉电时继续工作,二是采用备份电源,掉电后保护系统中全部或部分数据存储单元的内容;三是采用EEPROM来保存数据。由于第一种方法体积大、成本高,对单片机系统来说,不宜采用。第二种方法是根据实际需要,掉电时保存一些必要的数据,使系统在电源恢复后,能够继续执行程序,因而经济实用,故大量采用[1]。EEPROM既具有ROM掉电不丢失数据的特点,又有RAM随机读写的特点。但由于其读写速度与读写次数的限制,使得EEPROM不能完全代替RAM。下面将介绍最常用的一些掉电保护的处理方法,希望能对相关设计人员在实际工作中有所帮助。  

1 简单的RAM数据掉电保护电路 

       在具有掉电保护功能的单片机系统中,一般采用CMOS单片机和CMOS RAM。CMOS型RAM存储器静态电源小,在正常工作状态下一般由电源向片外RAM供电,而在断电状态下由小型蓄电池向片外RAM供电,以保存有用数据,采用这种方法保存数据,时间一般在3-5个月[2]。然而,系统在上电及断电过程中,总线状态的不确定性往往导致RAM内某些数据的变化,即数据受到冲失。因此对于断电保护数据用的RAM存储器,除了配置供电切换电路外,还要采取数据防冲失措施,当电源突然断电时,电压下降有个过程,CPU在此过程中会失控,可能会误发出写信而冲失RAM中的数据,仅有电池是不能有效完成数据保护的,还需要对片选信号加以控制,保证整个切换过程中CS引脚的信号一直保持接近VCC。通常,采用在RAM的CS和VCC引脚之间接一个电阻来实现COMS RAM的电源切换,然而,如果在掉电时,译码器的输出出现低电平,就可能出现问题,图1给出一种简单的电路设计,它能够避免上述问题的产生。  

       图1中,4060开关电路起到对CS控制的作用。当电压小于等于4.5V时就使开关断开,CS线上拉至"1",这样,RAM中的数据就不会冲失;当电压大于4.5V时,4060开关接通,使RAM能正常进行读写。

  
2 可靠的RAM掉电保护电路 

       上述的电路虽然简单,但有时可能起不到RAM掉电保护的作用,原因是在电源掉电和重新加电的过程中,电源电压跃变的干扰可能使RAM瞬间处于读写状态,使原来RAM中的数据遭到破坏,因此,在掉电刚刚开始以及重新加电直到电源电压保持稳定下来之前,RAM应处于数据保持状态,6264 RAM、5101 RAM等RAM芯片上都有一个CE2引脚,在一般情况下需将此引脚拉高,当把该引脚拉至小于或等于0.2V时,RAM就进入数据保持状态。 

       实用的静态RAM掉电保护电路如图2所示,图2中U1、U2为电压比较器,稳压管D3提供一个基准电压Vr(Vr=3.5V)。当Vcc为5V时,在R4上得到的分压大于Vr,U2输出高电平,又因为U4输出也为高电平,故CE2输出为高电位,单片机此时可对RAM进行存取,当电源掉电时,Vcc开始下降,当满足如下条件时: 

       R4×Vcc/[(R4+R3)/(R5+R6)]≥Vr 


  
        U2输出低电平,通过U5和U6使CE2输出小于等于0.2V,RAM进入数据保持状态(按图2中元件参数代入上式,当Vcc降到4.7V时,U2输出为低电位)。若Vcc继续下降使U3翻转,再通过D4、U4和U6进一步保证CE2为低电平。此外,当Vcc下降到小于E时,D2截止,D1导通,这时E作为RAM的备份电源,当单片机重新加电时,Vcc由0跃变到5V时,U2的输出端会出现瞬间的干扰脉冲,由于U3和U4间电路的积分延迟(约0.7RC),CE2并不立即升到高电平,因而阻止了U2的干扰脉冲,当延时结束时,电源电压已稳定在5V,此后CE2升高,单片机便可对RAM进行存取。图2中U3和U6为一块四施秘特与非门(CD4093),该电路直接由E供电,这样才能保证掉电后使CE2≤0.2V,并在重新加电时CE2不受电源电压跃变的干扰,比较器U1和U2为电源供电,Vcc为后备电源U1的电压监视电路,当后备电池快用完时(小于3.5V),发光管会发出亮光,表明要换上新电池,备份电源可用3节5号干电池,也可以采用锂电池或镍电池。 

3 利用TL7705对现场数据进行保护 

       单片机构成的应用系统在突然断电时,往往使片内RAM数据遭到破坏,下面介绍一种利用TL7705构成的电源监控电路,使单片机系统在掉电时自动保护现场数据。  

3.1 TL7705的工作原理 

       TL7705是电源监控用集成电路,采用8脚双列直插式封装,其内部结构图3所示。图3中,基准电压发生器具有较高的稳定性,可由1脚输出2.5V基准电压,为了吸收电源的同脉冲干扰,通常在1脚上接一个0.1μF的滤波电容来提高其抗干扰能力,被监控的电源电压由SENSE端7脚引入,经过R1和R2分压后送入比较器CMP1,与基准电压进行比较,当其值小于基准电压时,T1导通,定时电容CT通过T1放电,使CMP2比较器翻转,T2和T3导通,输出脚RESET为高电平,SESET反为低电平,当送入CMP1比较器的电压高于基准电压时,T1截止100μA恒流源给CT充电,当CT上的电压高于2.5V时,CMP2比较器翻转,T2和T3截止,RESET和RESET反输出关断。  
      
3.2 TL7705与80C51单片机的接法
       在某些单片机应用系统中需要在系统掉电时记忆当前现场状态,以使电源恢复后能继续从断电处运行,图4是以80C51单片机为例采用其空闲方式或掉电方式,在备用电池支持下实现掉电后的数据保护。

 
  
       图4中,R1、C1和74LSO4构成单片机的上电自动复位和手动按钮复位电路,备用电池P1及D1、D2实现掉电时备用电池的切换。电源正常时D1不导通,+5V直接给单片机供电,并为电池P1充电,为了减小电池耗电,备用电池只给单片机供电,保护片内RAM中的数据,电源掉电后,其他外围电路的工作电压仅靠电源电容维持很短的时间,电位器RW用来调节检测电压,范围为4.5-4.75V,当掉电时,外围电路的电压下降到门限设定电压时,可将片外RAM中需要保护的数据写入片内RAM中,并使单片机进入掉电工作方式以完成数据保护,为了保证单片机有足够的处理时间,取检测电压为4.75V,当电源电压降至4.75V时,TL7705由RESET反向单片机发出中断请求信号(INTO反)。单片机运行到一个可断断点后,相应中断,在中断服务程序中保护现场数据,使单片机进入掉电工作状态。
       
4 采用软件冗余措施保证数据的准确性

       最常用的一种方法是采用软件冗余措施,即将欲保护的数据写入RAM中的不同区域,如0000H-00FFH、0100H-01FFH和0200H-02FFH这三个区域存储同样一组数据,当使用这些数据前,先对各组进行检查,对于正确的数据方可应用,同时将错误的数据进行修正,在上电与断电过程中,总线不确写性是随机的,不可将所有数据完全冲失。采用硬件对数据进行断电保护,同时在软件上采用冗余的措施是最常用的数据保护方法,在断电突然发生时可保证数据的准确无误。  


       
4 采用软件冗余措施保证数据的准确性

       最常用的一种方法是采用软件冗余措施,即将欲保护的数据写入RAM中的不同区域,如0000H-00FFH、0100H-01FFH和0200H-02FFH这三个区域存储同样一组数据,当使用这些数据前,先对各组进行检查,对于正确的数据方可应用,同时将错误的数据进行修正,在上电与断电过程中,总线不确写性是随机的,不可将所有数据完全冲失。采用硬件对数据进行断电保护,同时在软件上采用冗余的措施是最常用的数据保护方法,在断电突然发生时可保证数据的准确无误。 

关键字:51单片机  系统断电  数据保护 引用地址:51单片机系统断电时的数据保护方法

上一篇:基于单片机的OLED显示器的应用
下一篇:一种基于单片机的正弦波输出逆变电源的设计

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

51单片机和CPLD的望远镜伺服控制器设计
引言 微电子技术和计算机的发展推动着伺服控制技术的进步,控制系统的硬件系统越来越高速化、小型化、模块化,功能也日趋强大完善;而且,伺服控制技术是朝着更开放、更加模块化的控制结构的方向发展的,要求控制器算法实现简单、控制接口灵活,针对不同的伺服控制对象时硬件系统不变,软件系统也可以完成参数的自动调整。 在高精度大型望远镜伺服控制应用场所,采用高精度光电编码器作为主要反馈手段,主要有绝对式和增量式编码器。驱动电机的信号有模拟电压输出或PWM脉冲输出,通过调整电压的大小或PWM的占空比来调整电机的速度。系统具有和上位机的通信接口以及一些逻辑输入/输出接口等。大型望远镜是用于跟踪测量空中飞行目标或观测天体目标的精密光学设备。伺服系
[单片机]
<font color='red'>51单片机</font>和CPLD的望远镜伺服控制器设计
手把手教学51单片机 | 第五课 独立键盘 矩阵键盘
编码键盘 电脑的键盘 非编码键盘 (1)硬件消抖 (2)软件消抖 独立键盘 线与的关系 先给IO口高电平 用一个if检测IO口高低电平,若按键按下IO口为0(1&0=0)没按下则继续保持高电平 按键在闭合和断开开始 触电会存在抖动的现象 2.矩阵键盘 #include reg52.h #define uint unsigned int #define uchar unsigned char sbit dula=P2^6; sbit wela=P2^7; sbit key1=P3^4; uchar code table ={ 0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7
[单片机]
手把手教学<font color='red'>51单片机</font> | 第五课 独立键盘 矩阵键盘
关于51单片机的复位
单片机启运运行时,都需要先复位,其作用是使CPU和系统中其他部件处于一个确定的初始状态,并从这个状态开始工作。因而,复位是一个很重要的操作方式。但单片机本身是不能自动进行复位的,必须配合相应的外部电路才能实现。 复位电路: 当MCS-5l系列单片机的复位引脚RST(全称RESET)出现2个机器周期以上的高电平时,单片机就执行复位操作。如果RST持续为高电平,单片机就处于循环复位状态。 根据应用的要求,复位操作通常有两种基本形式:上电复位和上电或开关复位。 上电复位要求接通电源后,自动实现复位操作。常用的上电复位电路如下图A中左图所示。图中电容C1和电阻R1对电源十5V来说构成微分电路。上电后,保持RST一段高电平时
[单片机]
关于<font color='red'>51单片机</font>的复位
SPI总线在51单片机系统中的实现
  一个完整的单片机系统,通常包括键盘输入、显示输出、打印输出、数据采集等许多功能模块。这些功能模块一般是通过I/O端口实现与单片机的数据交换,但是单片机的I/O端口有限,且一般用来处理数字信号,从而产生了总线式传输模式。   现在大多数单片机都是传统的三总线结构,即地址,数据,控制三总线。由于方便控制,三总线得到广泛的应用。但是作为并行总线,它也有一定的局限性。不适合远距离的传输。与I/O口的数目存在矛盾。随着电子技术的进步,发展出很多新的总线接口,如USB、I2C、CAN、SPI、1-Wire等。这些总线的特点都是串行接口,只需要几根甚至一根线就可以实现数据的传输。本文通过对支持SPI总线的AD器件MAX189性能分析,简要介
[嵌入式]
51单片机C语言教程(八) 表达式语句1
从第四课到第七课,学习了大部分的基本语法,这一课所要学习的各种基本语句的语法可以说是组成程序的灵魂。在前面的课程中的例子里,也简单理解过一些语句的用法,可以看出C语言是一种结构化的程序设计语言。C语言提供了相当丰富的程序控制语句。学习掌握这些语句的用法也是C语言学习中的重点。   表达式语句是最基本的一种语句。不同的程序设计语言都会有不一样的表达式语句,如VB就是在表达式后面加入回车就构成了VB的表达式语句,而在51 单片机 的C语言中则是加入分号 ; 构成表达式语句。举例如下:   b = b * 10;   Count++;   X = A;Y = B;   Page = (a+b)/a-1;   以上的都是合法的表达式语句。
[单片机]
<font color='red'>51单片机</font>C语言教程(八) 表达式语句1
51单片机简单的驱动LCD1602
【LCD1602】 什么是LCD1602 LCD1602是一种工业字符型液晶,能够同时显示16x02即32个字符。LCD1602液晶显示的原理是利用液晶的物理特性,通过电压对其显示区域进行控制,即可以显示出图形。 1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。它由若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此所以它不能很好地显示图形(用自定义CGRAM,显示效果也不好)。 1602LCD是指显示的内容为16X2,即可以显示两行,每行16个字符液晶模块(显示字符和数字
[单片机]
<font color='red'>51单片机</font>简单的驱动LCD1602
8051单片机存储器的组织结构是怎样的?
8051存储器包括程序存储器和数据存储器,从逻辑结构上看,可以分为三个不同的空间: (1)64KB的程序存储器地址空间:0000H~FFFFH,其中0000H~0FFFH为片内4KB的ROM地址空间,1000H~FFFFH为外部ROM地址空间; (2)256B的内部数据存储器地址空间,00H~FFH,分为两大部分,其中00H~7FH(共128B单元)为内部静态RAM的地址空间,80H~FFH为特殊功能寄存器的地址空间,21个特殊功能寄存器离散地分布在这个区域; (3)64KB的外部数据存储器地址空间:0000H~FFFFH,包括扩展I/O地址空间。
[单片机]
如何用51单片机点亮一盏LED灯
首先应该了解51单片机最小系统:51最小系统也称为51最小应用系统,是指用最少的元件组成的51单片机可以工作的系统。如图2.1.1所示,51最小系统一般应该包括:单片机、晶振电路、复位电路。 晶振电路的原理及组成,作用: 在单片机系统里晶振的作用非常大,他结合单片机内部的电路,产生单片机所必须的时钟频率,单片机的一切指令的执行都是建立在这个基础上的,晶振的提供的时钟频率越高,那单片机的运行速度也就越快。简单地说,没有晶振,就没有时钟周期,没有时钟周期,就无法执行程序代码,单片机就无法工作。单片机工作时,是一条一条地从RoM中取指令,然后一步一步地执行。单片机访问一次存储器的时间,称之为一个机器周期,这是一个时间基准。—个机
[单片机]
如何用<font color='red'>51单片机</font>点亮一盏LED灯
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

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

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

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