寻思 发表于 2022-10-11 09:14:23

eeprom擦写次数请教

如题,我有个需求记录设备的工作时间,保存在eeprom中,之前是1小时记录一次,这样进场反馈不准。如果客户工作了50分钟就关机,eeprom没有更新数据,计时为0小时。
后来我想改成15分钟,也不太准,因为客户用10分钟,用6次满一个小时了吧,计时还是0。
现在我想改成1分钟记录一次在eeprom,感觉会不会超过eeprom读写次数。
eeprom正常是写入10w次,一分钟一次,10W/60=1666,理论只能用1666小时吗?

68336016 发表于 2022-10-11 09:16:32

空间那么大,轮流写。
或者嫌麻烦用铁电

longlong105 发表于 2022-10-11 09:18:04

有失电检查功能? 有的话失点时记录一次,平时1小时记录一次

ccstc 发表于 2022-10-11 09:19:13

用1个page做位累加计数器,每次写入前读取判断一次,写满擦除,再其他位置更新累计值,每页有256Byte,就可以实现256*8分钟擦除一次了,寿命就没问题了

zzh90513 发表于 2022-10-11 09:20:37

存储里面加个计数变量,循环写,上电读一遍所有的取最大计数的内容,我们也是1分钟存储一次,存了20个备份循环写;另外现在的普通EEPROM都是100w次了

cctv02 发表于 2022-10-11 09:23:06

用FlashDB,连eeprom都省了,或者弄个掉电检测,关机时才保存。这不是可以保存10W次开关机了么。

mPiDDR 发表于 2022-10-11 09:45:07

zzh90513 发表于 2022-10-11 09:20
存储里面加个计数变量,循环写,上电读一遍所有的取最大计数的内容,我们也是1分钟存储一次,存了20个备份 ...
(引用自5楼)

这个办法好,如果计数溢出了 如何处理? 把所有的备份区都清空?

happymav 发表于 2022-10-11 09:48:13

估计eeprom应该不止一个byte吧,轮流擦写啊,没有问题的

lyz3432 发表于 2022-10-11 09:51:03

eeprom 不是100w次吗,dataflash模拟的eeprom才是10w次

zzh90513 发表于 2022-10-11 10:18:30

mPiDDR 发表于 2022-10-11 09:45
这个办法好,如果计数溢出了 如何处理? 把所有的备份区都清空?
(引用自7楼)

你用uint32_t的变量,1分钟一次,猴年马月才溢出;再快还可以用uint64_t

2nd 发表于 2022-10-11 10:29:02

1. EEPROM典型的擦写次数是100万次
2. 数据量大,多块滚动存储;数据量小,掉电存储

陆小凤之北京 发表于 2022-10-11 10:55:09

理想的做法是关机前保存,铁电也是一个选择。

Xujuango 发表于 2022-10-11 11:24:20

有400万次的eeprom

擦鞋匠 发表于 2022-10-11 11:52:24

我的项目就是采用类似5楼方案,这个简单使用。而且我是每间隔15秒就写入一次,到目前为止,没有问题。

DoDoTech 发表于 2022-10-11 14:52:39

掉电写和超时写就行了,搞个大电容

寻思 发表于 2022-10-11 15:05:10

DoDoTech 发表于 2022-10-11 14:52
掉电写和超时写就行了,搞个大电容
(引用自15楼)

掉电检测还要改硬件吗。。。太麻烦了吧

射天狼 发表于 2022-10-12 17:57:59

类似F-RAM的铁电EEPROM 你值得拥有 像FM24CL64B 100万亿的读写次数 而且无延时写入

ibmx311 发表于 2022-10-12 18:36:19

只要多花点钱,就有更好的。所以一切都是浮云,只有真金白银是真的

qwe2231695 发表于 2022-10-13 12:37:24

掉电写一次就行,检测Vbat,低于多少就写一下。3.3V多加点电容 。

ackyee 发表于 2022-10-13 12:47:58

上铁电呗   读写 次数超过想象 程序兼容

bwang1 发表于 2022-10-19 08:04:32

DoDoTech 发表于 2022-10-11 14:52
掉电写和超时写就行了,搞个大电容
(引用自15楼)

掉电写知道,请问超时写是什么呢?

DoDoTech 发表于 2022-10-19 08:29:09

bwang1 发表于 2022-10-19 08:04
掉电写知道,请问超时写是什么呢?
(引用自21楼)

确定最短记录周期,比如1天,超过一天就记录一次,再加上掉电记录一次 这样保证掉电写异常,最多只丢一天的数据。

lin28 发表于 2022-10-19 08:53:16

搭车问下,怎么保证计时正确一直是递增的。 自动矫正突变数据。

68336016 发表于 2022-10-19 08:59:06

lin28 发表于 2022-10-19 08:53
搭车问下,怎么保证计时正确一直是递增的。 自动矫正突变数据。
(引用自23楼)

写错了还能自动矫正?

lin28 发表于 2022-10-19 09:08:42

68336016 发表于 2022-10-19 08:59
写错了还能自动矫正?
(引用自24楼)

多个地方备份 ,然后对比?反正遇到个别产品出现突变数据   没想到好方法。比如应该计时才几天的,却是几百天这样突变的数据。怎么矫正回来。哪怕算少一个小时都行

cc1987 发表于 2022-10-19 20:52:54

{:biggrin:}轮流擦擦

国学芯用 发表于 2022-11-24 09:41:20

本帖最后由 国学芯用 于 2022-11-25 09:21 编辑

上电后将 EEPROM中的数据读到RAM中,平常是读写RAM,掉电时及时将RAM中需要掉电保存的数据保存到EEPROM,就无 EEPROM 擦写寿命这种问题

STC8H系列数据手册:https://www.stcai.com/filedownload/631007

bigharpoon 发表于 2022-11-25 23:48:34

27楼的掉电检测方法,这个好!
页: [1]
查看完整版本: eeprom擦写次数请教