51/AVR单片机技术驿站!  <在线翻译>     便利工具    特色网址   无弹窗、无插件的绿色站点...  英才招聘   学历查询  喜欢>>收藏我站 

当前位置:首页 > 取经杂谈 > 详细内容
在掉电瞬间将数据存入E2PROM的方法
作者:广西-陈瑜峰  发布时间:2009/11/18  阅读次数:2652  字体大小: 【】 【】【

       在单片机的应用中,一些需要高速处理且掉电后需要保存的数据多放在单片机片内RAM中,采用备用电池保存RAM中的数据。备用电池使用期限有限,存储的数据易受干扰,可靠性低。将数据存在E2PROM中可靠性较高。如果数据量较小(10个字节以内),则可采用在掉电瞬间靠电容储能将需要保存的数据存入E2PROM的方法。
       在单片机系统中,常用X25045来存储数据。89C2051和X25045的耗电量都比较低,当稳压电源的滤波电容在3000μF
       以上时,一检测到掉电立即关掉耗电量较大的输出,则电容的储能可以保证单片机在系统掉电后继续工作40ms以上。X25045的存储时间为2ms/字节,50Hz交流电压掉电可在20ms内检测到,因此可以将10个字节的数据存入X25045。这样,在单片机的正常运行期间数据存储在内部RAM中,存取速度快,掉电后数据存入E2PROM中,数据保存的可靠性高,系统电路简单、成本低。
       1. 硬件电路及原理
       由于电容的储能只能保证单片机在掉电后40ms内正常工作,掉电检测电路必须在尽可能短的时间内准确地检测到掉电。将50Hz的交流电压转换为50Hz占空比约为50%的脉冲信号,单片机检测50Hz脉冲,如果脉冲停止则判断为掉电,立即转入掉电处理程序。
       硬件电路如图1所示。220V  


       交流电经过变压器TI,输出9V交流电,通过1kΩ电阻R2接到光耦D1的输入端。当交流电正半周A、B两点间的电压大于光耦的导通电压时,光耦导通,经过74LS14整形反相后输出一个高电平到单片机;当A、B两点间的电压小于光耦的导通电压时,74LS14输出一个低电平到单片机,输入到单片机的是一个占空比略小于50%的脉冲信号,高电平的脉冲宽度在5~10ms之间。将扫描周期定为5ms,可以保证用最短的时间准确地检测到掉电(如图2所示)。单片机每隔5ms读入一次I/O口的状态,如果连续四次都为低电平,则判为掉电,转入掉电处理子程序。
       2. 软件设计
       程序中设定
       定时器每隔5ms产生一次定时中断,在定时中断程序中读取输入脉冲的状态,对读到输入为低电平的次数进行计数,如果连续四次为低电平,置掉电标志为1。在主循环中查询掉电标志,如果有掉电标志则进入掉电处理子程序。在掉电处理子程序中,首先关掉显示等耗电较大的设备,然后调用E2PROM
       存储子程序,把要存储的数据存入E2PROM中,最后让程序进入死循环,防止程序因对E2PROM反复存储而引起错误。当供电恢复后,上电复位电路可以让程序从头开始运行。如果供电在短时间(100ms)内恢复,则上电复位电路失去作用,看门狗电路会使单片机复位,程序从头开始运行。
       根据上述方法,读者可以很容易地编制出掉电检测和数据存储程序。

       3. 总结
       本方法适用于10个字节以内的数据的掉电保存,特别是需要高速计数,计数值需要频繁更新,并且停电后不需要计数的场合。与用备用电池保存数据的方式相比,这种方法不需要电池,而且数据保存在E2PROM中不易受外界干扰,数据保存的可靠性高,系统简单、可靠性高。与常用的在E2PROM中存取数据的方法相比,数据存储的速度快,可以对频率较高的脉冲计数,不受E2PROM存储寿命的限制。掉电检测准确率高,数据存储的可靠性与E2PROM相当。
       笔者用此方法设计的施工用卷扬机转数计数器在现场使用已经一年以上,没有出现过数据丢失的现象。

我要评论
  • 匿名发表
  • [添加到收藏夹]
  • 发表评论:(匿名发表无需登录,已登录用户可直接发表。) 登录状态:未登录
最新评论
所有评论[0]
    暂无已审核评论!

网站导航 管理登陆 ┊ 免责声明 问题反馈  友链说明
本站部分内容来自网络共享资源,如有冒犯您的权利请来信告之删除或纠正!
不得对本站进行复制、盗链或镜像,转载内容须获得同意或授权;欢迎友情链接、站务合作!

    我要报警 Alexa
 mcusy_cn#126.com (请把#改成@) 交流:522422171
本站学习交流群:138..158(高级群1-)、77930286(高级群2)、61804809(群3)
Copyright© MCUSY All Rights Reserved
本站网警备案号: WZ36040002485
  ICP备案证书号:粤ICP备09034963号