搜索
bottom↓
回复: 28

求教eeprom数据存储方法

[复制链接]

出0入0汤圆

发表于 2019-3-15 14:29:56 | 显示全部楼层 |阅读模式
本帖最后由 jia_xuan 于 2019-3-15 14:31 编辑

产品需要记录历史数据,每隔10秒记录一次,大概存储1000条,我的思路是用两个地址记录最后一次保存的位置,每次存储数据时读一下,以便存入后续地址空间。数据按环形队列存储,新的数据覆盖最老的数据,现在有一个问题,记录位置的那两个地址每隔10秒需要写一次,寿命肯定不长,如何处理此问题。

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

发表于 2019-3-15 14:30:59 | 显示全部楼层
换铁电         

出0入0汤圆

 楼主| 发表于 2019-3-15 14:48:49 | 显示全部楼层
这也是一种好的方法,但目前板子已做,能否从软件上做优化。

出0入0汤圆

发表于 2019-3-15 14:53:03 | 显示全部楼层
1.掉电检测,一次写入
2.找个大的存储器,自己搞个平衡擦除算法。(历史数据都有了

出0入0汤圆

发表于 2019-3-15 15:03:29 | 显示全部楼层
本帖最后由 helloshi 于 2019-3-15 15:05 编辑

记录位置放在RAM中,至少留一条记录的位置是空的,上电时读一下数据判断位置

出0入0汤圆

发表于 2019-3-15 15:13:44 | 显示全部楼层
4楼的建议不错!!!

出0入0汤圆

发表于 2019-3-15 15:23:23 | 显示全部楼层
放在RAM中,掉电检测,一次写入

出0入0汤圆

 楼主| 发表于 2019-3-15 15:27:10 | 显示全部楼层
helloshi 发表于 2019-3-15 15:03
记录位置放在RAM中,至少留一条记录的位置是空的,上电时读一下数据判断位置 ...

这个方法貌似更容易实现,我试试看。

出0入362汤圆

发表于 2019-3-15 15:30:58 | 显示全部楼层
eeprom又不是flash,10秒一次也不算快,你可以当它寿命是无限的。要么就直接上easy flash之类,我还没试过,不过看到用过的都说不错。

出0入0汤圆

 楼主| 发表于 2019-3-15 15:44:00 | 显示全部楼层
我这几天也在看easy flash,没看懂怎么应用

出0入0汤圆

发表于 2019-3-15 15:54:21 | 显示全部楼层
有一样封装的铁电

出0入4汤圆

发表于 2019-3-15 17:05:10 来自手机 | 显示全部楼层
加掉电检测,掉电时一次写入,平时只更新ram的数据
最简单的就是换铁电

出0入22汤圆

发表于 2019-3-15 17:20:12 来自手机 | 显示全部楼层
写入正常数据的时候,紧接的地址写入特征结束符,下次启动查找特征结束符,然后接着往后面写。

出250入8汤圆

发表于 2019-3-15 17:57:33 | 显示全部楼层
这应该不是问题,你只要不长期,按年操作就可以了吧,EEROM不是flash,寿命长多了。

出0入33汤圆

发表于 2019-3-15 18:11:50 来自手机 | 显示全部楼层
这个简单啊,在你的记录最后面加个自增的变量值,每次开机遍历一次查找最大的值就知道写到哪了。

出0入33汤圆

发表于 2019-3-15 18:12:47 来自手机 | 显示全部楼层
uint类型的应该够你存了

出0入0汤圆

 楼主| 发表于 2019-3-15 18:13:27 | 显示全部楼层
vtte 发表于 2019-3-15 18:11
这个简单啊,在你的记录最后面加个自增的变量值,每次开机遍历一次查找最大的值就知道写到哪了。 ...

好办法

出0入0汤圆

发表于 2019-3-15 19:03:57 | 显示全部楼层
发一份新唐的Flash模拟EEPROM的资料,应用于EEPROM的话也同样能大大增加EEPROM的寿命。实现方法里面写的很清楚。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

 楼主| 发表于 2019-3-15 19:26:15 | 显示全部楼层
anjiyifan 发表于 2019-3-15 19:03
发一份新唐的Flash模拟EEPROM的资料,应用于EEPROM的话也同样能大大增加EEPROM的寿命。实现方法里面写的很 ...

深表感谢

出0入0汤圆

发表于 2019-3-16 11:05:36 来自手机 | 显示全部楼层
anjiyifan 发表于 2019-3-15 19:03
发一份新唐的Flash模拟EEPROM的资料,应用于EEPROM的话也同样能大大增加EEPROM的寿命。实现方法里面写的很 ...

应该是我想要的。

出0入0汤圆

发表于 2019-3-16 12:14:05 | 显示全部楼层
使用Data Flash模拟EEPROM的思路学习下。

出1310入193汤圆

发表于 2019-3-16 12:37:03 | 显示全部楼层

写入正常数据的时候,紧接的地址写入特征结束符,下次启动查找特征结束符,然后接着往后面写   13楼方法甚好

出0入0汤圆

发表于 2019-3-18 23:32:29 | 显示全部楼层
anjiyifan 发表于 2019-3-15 19:03
发一份新唐的Flash模拟EEPROM的资料,应用于EEPROM的话也同样能大大增加EEPROM的寿命。实现方法里面写的很 ...

这资料不错,谢谢分享

出0入0汤圆

发表于 2019-3-19 01:25:56 | 显示全部楼层
EEProm清除时都是0xff,若是16位资料,我的方法是搜寻为0xffff的16位资料,即是最后的资料,当然写入的资料不能为0xffff,简单,只是第一次搜寻要花些时间,不过应该是很快的

出0入0汤圆

发表于 2019-3-19 05:52:13 来自手机 | 显示全部楼层
直接干它吧,原来也这样干的,我是记录报警的历史记录。虽然没有你这么频繁,大致方法差不多

出0入0汤圆

 楼主| 发表于 2019-3-19 08:03:40 | 显示全部楼层
hyper320 发表于 2019-3-19 01:25
EEProm清除时都是0xff,若是16位资料,我的方法是搜寻为0xffff的16位资料,即是最后的资料,当然写入的资料不能 ...

是的,我就打算这样做

出0入16汤圆

发表于 2019-3-19 08:49:36 | 显示全部楼层
hyper320 发表于 2019-3-19 01:25
EEProm清除时都是0xff,若是16位资料,我的方法是搜寻为0xffff的16位资料,即是最后的资料,当然写入的资料不能 ...

这个方法写满数据就不好使了,楼主一次需要写1000条数据估计很快就写满了。
如果每次记录数据长度基本一致的话可以按数据长度的固定间隔来记录数据,每次记录的头4位作为记录顺序号。
上电的时候找到上次记录的顺序号保存在RAM里面,每次记录前算出新的顺序号和对应地址可以直接按新的顺序号和地址写入数据。

出0入0汤圆

 楼主| 发表于 2019-3-19 11:24:32 | 显示全部楼层
Elex 发表于 2019-3-19 08:49
这个方法写满数据就不好使了,楼主一次需要写1000条数据估计很快就写满了。
如果每次记录数据长度基本一 ...

数据格式和长度都是固定的,按你的方法,如果时间久了记录在eeprom循环多次,上电后如何知道那个记录号是最接近一次存储的,我想到的方法是:写入新记录后,给下一个存记录的位置写入特征码,如果再有新数据来,就覆盖掉现有特征码,在其下一组位置写入特征码,依次往下推,每次上电查看特征码就可以知道最近一次写在那个位置。

出0入0汤圆

发表于 2019-3-19 17:25:57 | 显示全部楼层
Elex 发表于 2019-3-19 08:49
这个方法写满数据就不好使了,楼主一次需要写1000条数据估计很快就写满了。
如果每次记录数据长度基本一 ...

1.仅上电执行一次,应该不在乎这些时间
2.依照您的方式,又要多占记忆空间
3.依照楼主的意思,满了覆盖旧资料,修正方法为连续两笔都为0xffff则空,否则写完资料后再清除下笔资料为0xffff,并设置标志位,下次的写入就不用再判断是否有空间,而直接用资料满的方式做处理,而清除时下完命令就可离开不必等命令完成,与正常写入时间类似,而下次先判断上次命令的结束再做处理,这应该是最省事的处理方式了,因为不管怎么处理,最后都要面对资料空间满的处理方式.
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-18 20:45

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表