打印
[学习资料]

PIC写内部 EEPROM 问题探讨

[复制链接]
466|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
上周在做一个项目时,需要对测试数据实时的保存,以被重新上电后读取.采用了PIC的内部EEPROM,正常读取时没有什么问题.反复上电掉电就出现了EEPROM被清0(改写).
     查阅相关资料:EEROM写过程包括两个阶段:先擦除(电压为20V) 再写入(电压18V);EEPROM在写入过程中如果电压不稳定,很容易导致错误.先使用了软件冗余法,同一个data写在连续3个地址,使用时比较,只有2个相同时才使用.这样做,反复上电掉电出错几率小了很多,但是还是会出错.在反复上电100多次时还是出错.另一个解决办法就是使能BOD,写EEPROM时,先检测BOD.网上一位兄弟使用此方法反复上电2000多次才错误一次.
    上述方法有两个致命缺陷:1.EEPROM寿命短,EEPROM按最低10万次算,我的项目每2s写一次EEPROM,连续使用2周后EEPROM就可能寿命以尽.2还是有错误,没有100%正确.

使用特权

评论回复
沙发
sensitivity|  楼主 | 2020-2-11 15:03 | 只看该作者
解决方案:使用掉电检测,如果成本许可还可以使用法拉电容.电路图如下:


   电源电压掉电时,产生一个INT信号,PIC进入外部中断程序:首先将IO清零以降低电流损耗,此时利用电容C1的放电时间将要保存的数据写入EEPROM.470uF D型钽电容可供PIC工作20ms左右,足够写8bety EEPROM.



来自: http://hi.baidu.com/wxg923/blog/item/a12be6c79bbce1d5d000600b.html

使用特权

评论回复
板凳
sensitivity|  楼主 | 2020-2-11 15:03 | 只看该作者
作者:Leo Chin
出处:http://www.cnblogs.com/hnrainll/
本博客**,大多系网络中收集,转载请注明出处
相关标签:嵌入式培训、嵌入式开发、嵌入式学习

使用特权

评论回复
地板
幸福小强| | 2020-2-13 10:48 | 只看该作者
擦了没写上,供电不足

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

9

主题

216

帖子

0

粉丝