单片机应用系统断电时的数据保护方法
平原大学 苏明强 邝涛

在测量、控制等领域的应用中,常要求单片机内部和外部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这三个区域存储同样一组数据,当使用这些数据前,先对各组进行检查,对于正确的数据方可应用,同时将错误的数据进行修正,在上电与断电过程中,总线不确写性是随机的,不可将所有数据完全冲失。采用硬件对数据进行断电保护,同时在软件上采用冗余的措施是最常用的数据保护方法,在断电突然发生时可保证数据的准确无误。

本文摘自《单片机与嵌入式系统应用》

转载于:https://www.cnblogs.com/harber/archive/2007/12/08/988002.html

【转载】单片机应用系统断电时的数据保护方法相关推荐

  1. 怎样配置VNC服务器使其能在红帽企业Linux3系统引导时自动启动?

    怎样配置VNC服务器使其能在红帽企业Linux3系统引导时自动启动? 解决方法: vncserver服务可以在系统引导时自动启动. 但是需要进行设置才能使之正常自动启动. 首先,编辑/etc/sysc ...

  2. Mac系统 Terminal终端功能使用方法

    [转载]Mac系统 Terminal终端功能使用方法 一.OSX文件系统概述 OSX 采用的Unix文件系统,所有文件都挂在跟目录 / 下面,所以不在要有Windows 下的盘符概念. 你在桌面上看到 ...

  3. 单片机小白学步系列(六) 单片机最小系统——麻雀虽小,五脏俱全

    本文由PurpleSword(jzj1993)原创,转载请注明.原文网址 http://blog.csdn.net/jzj1993 前面介绍了集成电路的管脚编号识别,这里我们简单了解下51单片机的40 ...

  4. 利用单片机最小系统外接DS12C887 在LCD1602上显示实时时钟

    我在上一篇文章中焊接了单片机最小系统板,并且成功驱动了LCD1602,我没有在最后展示LCD显示部分,就放到这篇文章在外接DS12C887的情况下和大家分享一下. 需要准备的模块如下: 1.单片机的最 ...

  5. 2.2 单片机最小系统

    为什么称之为单片机最小系统呢?单片机最小系统,也叫做单片机最小应用系统,是指用最少的原件组成单片机可以工作的系统.单片机最小系统的三要素就是电源.晶振.复位电路,如图 2-1 所示. 图 2-1 单片 ...

  6. 手把手讲解51单片机最小系统焊接、流水灯(跑马灯)编写以及烧录

    (1)首先当然是要购买"51单片机最小系统的散件",淘宝上面卖的比较多,散件的话一般二.三十元左右,其次还需要购买一个电烙铁,一般30瓦的就足够了,这里我就讲一讲51单片机散件的焊 ...

  7. Android系统编译时集成三方APK

    1. 前言 最近在学习Android系统开发,在开发过程中可能要到将三方apk集成到系统中的需求.目前我了解的方法有两种. 一种是在系统编译完毕之后,再将三方apk文件放置到系统目录之下.参考如何将a ...

  8. 单片机复位电路电容一定用电解电容_什么叫51单片机最小系统

    单片机最小系统,或者称为最小应用系统,是指用最少的元件组成的单片机可以工作的系统.对51系列单片机来说,最小系统一般应该包括:单片机.晶振电路.复位电路.下面给出一个51单片机的最小系统电路图. 复位 ...

  9. 51单片机计算机实物焊接,基于51单片机的最小系统焊接图 浅谈单片机最小系统...

    本文主要是关于51单片机的相关介绍,并对基于51单片机的最小系统焊接进行了详尽的阐述. 单片机最小系统 单片机最小系统主要由电源.复位.振荡电路以及扩展部分等部分组成. 对于一个完整的电子设计来讲,首 ...

最新文章

  1. 【翻译】HTML5开发——轻量级JSON存储解决方案Lawnchair.js
  2. 【Flask】SelectedField 同步数据库
  3. linux下qt实现计算器,QT实现计算器
  4. 玩转StyleGAN2模型:教你生成动漫人物
  5. Git服务器报错:host key for (ip地址) has changed and you have requested strict checking
  6. 数学知识在游戏中的运用
  7. SSM项目使用example查询时多次查询条件相同
  8. java虚拟机之二虚拟机内存结构
  9. 【M25】将构造方法和非成员方法虚化
  10. (49)移动端开发之流式布局(百分比布局)
  11. python编写排列组合,密码生产功能
  12. ESP32+st7789/ili9341运行LVGL例程,依赖ESP-IDF编译lv_port_esp32官方Demo(1)
  13. Unofficial Windows Binaries for Python Extensi...
  14. SQL2016安装错误:安装程序无法与下载服务器联系。请提供 Microsoft R Open 和 Microsoft R Server 安装文件的位置
  15. OpenCV基础(4)使用OpenCV裁剪图像
  16. C++ 数据结构(三)列表(3)有序列表
  17. Unity3D-Shader之两张图片叠加并且通过颜色调控
  18. 推荐这款,SpringBoot 开源商城系统,挣钱太轻松了
  19. C++点云PCL基础ROS代码
  20. Ubuntu中.bashrc默认内容

热门文章

  1. python热部署_关于Spring Cloud 框架热部署的方法
  2. Xtrabackup安装以及应用
  3. 求解多变量非线性全局最优解_一种求解非线性约束优化全局最优的新方法
  4. ansys里面自带chemkin_ANSYS CFD原来还有这么多功能,初学者都进来了解
  5. python 二维数组长度_谈一谈多维数组
  6. 程序员,与工程师的区别在哪里? (3)
  7. 《大数据》编辑推荐 | 基于遥感大数据的信息提取技术综述
  8. 作者:姚阳(1979-),女,广州市社会科学院经济学副研究员。
  9. 【软件质量】软件设计要考虑性能
  10. 【Python】TensorBoard已发送内容的清除