搜索
bottom↓
回复: 23

关于eeprom丢失的问题?

[复制链接]

出0入0汤圆

发表于 2017-6-6 09:45:34 | 显示全部楼层 |阅读模式
每次上电时读取eeprom,发现有的里面的数据被改变了。读取时有可能改变eeprom里的数据吗?

而且每一批都有几出这样的问题,而且出问题的这几个会重复出现...

还有其他什么原因会导致eeprom丢失?用的是AVR自带的eeprom

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

月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!

出0入0汤圆

发表于 2017-6-6 11:28:29 | 显示全部楼层
个人觉得首先确定写进去了没有,写进去了那就是读错了读的不对,单单只是读EEPROM的话是不会把数据改写的,所以要么是没写进去要么是读错地了

出0入0汤圆

 楼主| 发表于 2017-6-6 11:43:15 | 显示全部楼层
Lu.Shi 发表于 2017-6-6 11:28
个人觉得首先确定写进去了没有,写进去了那就是读错了读的不对,单单只是读EEPROM的话是不会把数据改 ...

肯定写进去了,应该不是读错了,错了之后重复上电读取的还是错的数据。

出0入0汤圆

发表于 2017-6-6 12:01:45 | 显示全部楼层
老问题了,开Brown-out detection,根据电源,选择合适的电压

出0入59汤圆

发表于 2017-6-6 13:22:22 | 显示全部楼层
AVR 工作电压比较低,电源掉电的时候CPU还在工作,EEPROM 可能被修改,但掉电期间修改不可靠
解决办法,加掉电检测,电源电压低了将CPU复位,可以先用内置的,不行的话就加外置的

出0入0汤圆

 楼主| 发表于 2017-6-6 13:43:56 | 显示全部楼层
dykwai1 发表于 2017-6-6 13:22
AVR 工作电压比较低,电源掉电的时候CPU还在工作,EEPROM 可能被修改,但掉电期间修改不可靠
解决办法,加 ...

不是写的问题。写了之后就不会在进行写操作了,只是每次上电读取。

出0入0汤圆

发表于 2017-6-6 13:56:33 | 显示全部楼层
老问题了,以前MEGA8都是这样的,有个操作的手法,方法可以搜一下,建议加个备份

出0入0汤圆

 楼主| 发表于 2017-6-6 16:57:37 | 显示全部楼层
lsfsxfljj 发表于 2017-6-6 13:56
老问题了,以前MEGA8都是这样的,有个操作的手法,方法可以搜一下,建议加个备份 ...

翻了好久没看到旧贴,能否贴出来。备份的方法感觉治标不治本啊

出0入0汤圆

发表于 2017-6-6 17:13:36 | 显示全部楼层
Hhhhhhhh 发表于 2017-6-6 16:57
翻了好久没看到旧贴,能否贴出来。备份的方法感觉治标不治本啊

那可能时间长了帖子没了,这个事情MEGA8最火的时候很多人关注,我现在能想起的解决放法是地址寄存器每次操作完后给他设置一个无效的地址,比如0x00这个地址不放数据,数据不操作期间,操作寄存器地址指针就指向0x00。 我忘记AVR有没有电源检测,如果有电源检测也要利用一下。备份也可以做

出0入0汤圆

发表于 2017-6-6 17:35:14 | 显示全部楼层
多年前做过一个项目,检测到掉电时,马上把要保存的几个数写进EEPROM里,
测试是没问题的,大量货到用户手上时,就发现很多问题了。

后来做个测试,用一块板做断电上电供电,AVR读和写,无论是读或写,在这种情况下都有可能改变EEPROM,
而且改变的位置不是固定的,那个地址都有可能。

百思不得其解,感觉自己接受不了。写的过程中电压变了,EEPROM出错,可以接受,为什么读也会改变EEPROM?
然后发了一个EMAIL去问AVR,AVR也很认真,邮件转了三次,从这个转另一个,再转另一个,叫答复我的问题,每个邮件都CC给我。

最后,回答我的那个人,把我叼了一炮:“EEPROM读、写要在电压稳定时才可以操作!”,规格书也有说。

所以,楼主,你保证你的电压稳定了吗?
不过,我用同样的条件去试PIC,没发现问题,我质问PIC为什么没问题?他们不回我邮件。
现在,AVR也属于PIC的了,不知道解决这个问题没有?

出0入0汤圆

发表于 2017-6-6 18:28:18 | 显示全部楼层
"我质问PIC为什么没问题?"
楼上真逗,笑死我了。估计PIC的人不知怎么回答。

出0入0汤圆

 楼主| 发表于 2017-6-6 18:46:19 | 显示全部楼层
本帖最后由 Hhhhhhhh 于 2017-6-6 18:52 编辑
Firman 发表于 2017-6-6 17:35
多年前做过一个项目,检测到掉电时,马上把要保存的几个数写进EEPROM里,
测试是没问题的,大量货到用户手 ...


有设置BOD,现在加延时继续测试。

所以你的结论是:读操作也会改变eeprom?

但是对方并没有给你直接答复说读操作会改变eeprom里的内容,有人能给出肯定答案吗?

出145入215汤圆

发表于 2017-6-6 19:19:39 来自手机 | 显示全部楼层
电源不良也会造成eeprom数据异常,以前有个stm8的板子,连续快速开关机会出现丢数据。用示波器观察一下电源上升与下降的曲线是否有什么不同。

出0入0汤圆

发表于 2017-6-6 21:06:00 | 显示全部楼层
>电源不良也会造成eeprom数据异常
This is interesting.

出0入0汤圆

发表于 2017-6-7 04:13:10 | 显示全部楼层
funnynypd 发表于 2017-6-6 21:06
>电源不良也会造成eeprom数据异常
This is interesting.

yes,you know,read and write operation only some bit different in the command,if power drop or power DIP when sending command,reading may change writing.

出0入0汤圆

发表于 2017-6-7 07:27:12 来自手机 | 显示全部楼层
这个老问题了,避开0地址,会好点,实际上我最后一次是发现一个莫名的问题,无论如何也没搞定,加上那时候突然变的很难买到,就放弃了

出0入0汤圆

发表于 2017-6-7 08:19:01 | 显示全部楼层
Hhhhhhhh 发表于 2017-6-6 13:43
不是写的问题。写了之后就不会在进行写操作了,只是每次上电读取。

用写保护

出0入0汤圆

发表于 2017-6-7 08:58:49 | 显示全部楼层
我认同13楼@Firman的说法。我的128最近也是这个问题,主要是电源电压不稳造成的。天冷的时候,7805的散热还过得去,能正常工作。现在天热了7805散热不好,造成电源极不稳定,所以读写得时候出错了。

出0入0汤圆

发表于 2017-6-7 09:16:13 | 显示全部楼层
是不是可能写错了,加校验值,也可以写两份作为备份,上电判断那一份正确后再读取

出0入0汤圆

发表于 2017-6-7 09:29:13 来自手机 | 显示全部楼层
本帖最后由 118139 于 2017-6-7 09:30 编辑

上电开机,先延时个100,200ms再去读eepeom,就都不会错

出0入0汤圆

发表于 2017-6-7 23:29:44 来自手机 | 显示全部楼层
Firman 发表于 2017-6-6 17:35
多年前做过一个项目,检测到掉电时,马上把要保存的几个数写进EEPROM里,
测试是没问题的,大量货到用户手 ...

好经验,感谢分享,以后要留心这个问题,有技术支持就是好。

出0入0汤圆

发表于 2017-6-8 15:19:24 来自手机 | 显示全部楼层
我之前遇到是电源的问题,后开开机都是等延时才读内部eeprom

出90入0汤圆

发表于 2017-6-8 16:39:21 | 显示全部楼层
内部BOT一定要开,
上电后,延时500ms再读EEPROM

从没有问题。

出0入8汤圆

发表于 2017-6-14 09:01:18 | 显示全部楼层
BOD 吧,专门为了EEPROM丢失问题而产生的。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-4-26 01:59

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

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