华强电子网

电子元器件
采购信息平台

扫码下载
手机洽洽

  • 微信小程序

    让找料更便捷

  • 扫码下载手机洽洽

    随时找料

    即刻洽谈

    点击下载PC版
  • 华强电子网公众号

    电子元器件

    采购信息平台

  • 华强电子网移动端

    生意随身带

    随时随地找货

  • 华强商城公众号

    一站式电子元器件

    采购平台

  • 芯八哥公众号

    半导体行业观察第一站

在掉电瞬间将数据存入E2PROM的方法

来源:-- 作者:-- 浏览:1378

标签:

摘要:   在单片机的应用中,一些需要高速处理且掉电后需要保存的数据多放在单片机片内RAM中,采用备用电池保存RAM中的数据。备用电池使用期限有限,存储的数据易受干扰,可靠性低。将数据存在E2PROM中可靠性较高。如果数据量较小(10个字节以内),则可采用在掉电瞬间靠电容储能将需要保存的数据存入E2PROM的方法。  在单片机系统中,常用X25045来存储数据。89C2051和X25

 

  在单片机的应用中,一些需要高速处理且掉电后需要保存的数据多放在单片机片内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相当。
  笔者用此方法设计的施工用卷扬机转数计数器在现场使用已经一年以上,没有出现过数据丢失的现象。

                                   

型号 厂商 价格
EPCOS 爱普科斯 /
STM32F103RCT6 ST ¥461.23
STM32F103C8T6 ST ¥84
STM32F103VET6 ST ¥426.57
STM32F103RET6 ST ¥780.82
STM8S003F3P6 ST ¥10.62
STM32F103VCT6 ST ¥275.84
STM32F103CBT6 ST ¥130.66
STM32F030C8T6 ST ¥18.11
N76E003AT20 NUVOTON ¥9.67