EEPROM掉数据问题

[复制链接]
2770|14
手机看帖
扫描二维码
随时随地手机跟帖
delin17|  楼主 | 2017-8-12 09:38 | 显示全部楼层 |阅读模式
最近碰到EEPROM掉数据问题,掉的地方不定。某个字节发生了变化。

出现问题的原因未知,发生概率。一周生产1200台左右。有时平均2~3周出现几台。将近0.1%以下。

出现问题的时点,基本都在高温老化后。 查程序没有发现问题。I2C速率100Kbps。

WP脚有外接上拉10K到电源。并有与到IO口控制。只有在写的时候才会开打写保护;其他情况都是写保护状态下。

使用的是HE24C16,华虹的。



相关帖子

gx_huang| | 2017-8-12 10:48 | 显示全部楼层
程序没有问题,硬件设计没有问题,那只有器件有问题了。
只问一个问题,当你写EEPROM时,刚好掉电,你是怎么处理的?

使用特权

评论回复
delin17|  楼主 | 2017-8-12 11:42 | 显示全部楼层
gx_huang 发表于 2017-8-12 10:48
程序没有问题,硬件设计没有问题,那只有器件有问题了。
只问一个问题,当你写EEPROM时,刚好掉电,你是怎 ...

使用钮扣电池供电,不太会出现掉电的可能性。而且写的机会较少。

使用特权

评论回复
@若水| | 2017-8-12 13:10 | 显示全部楼层
1 增加上电延时,避免电源干扰
2 写入后读出校验

使用特权

评论回复
ningling_21| | 2017-8-12 13:37 | 显示全部楼层
换个品牌的试试

使用特权

评论回复
linqing171| | 2017-8-12 13:59 | 显示全部楼层
掉后的数据为多少?
如果是偶尔有1bit的翻转,可能和EEPROM的可靠性有关,如果是整个字节的8个bit都变了,基本可以肯定是MCU代码发送了I2C写的波形。

使用特权

评论回复
delin17|  楼主 | 2017-8-12 16:09 | 显示全部楼层
@若水 发表于 2017-8-12 13:10
1 增加上电延时,避免电源干扰
2 写入后读出校验

每次写入后,都有会读出校验的。校验出错就直接报错了

使用特权

评论回复
@若水| | 2017-8-12 23:08 | 显示全部楼层
delin17 发表于 2017-8-12 16:09
每次写入后,都有会读出校验的。校验出错就直接报错了

嗯嗯

使用特权

评论回复
gx_huang| | 2017-8-14 08:51 | 显示全部楼层
那都排除了,只有换芯片了,换其它厂家的正规的芯片了

使用特权

评论回复
wzr200408| | 2017-8-14 11:17 | 显示全部楼层
这个情况我以前也试过,用的AVR单片机的内部EEPROM,按道理是可靠的,可是出去的产品就是容易被干扰,EEPROM全乱掉或者某些乱掉。有些几年才会乱,有些几个月就乱了。最后的解决办法:
1、掉电不写EEPROM
2、数据备份三个,只要读出来有两个一致的就使用这个数据,并把错误的替代。否则,恢复默认值(代价就是占用空间)

这样修改后的程序,出去了一批,估计最长的两年把,没试过丢失数据

使用特权

评论回复
wzr200408| | 2017-8-14 11:22 | 显示全部楼层
有时候不是程序能正常运行就足够了,要考虑增强程序的抗干扰性。
不过还有个情况,就是定时器或者中断会把读写打断,从而造成乱码。

使用特权

评论回复
我也遇见过类似情况,数据备份

使用特权

评论回复
1.在写入EEPROM 前,需对写入的EEPROM 数据进行验证措施,若不正常则不写入;
2.EEPROM写入后再读出(即较验),写前数据比较,应一致,否则可能为EEPROM 无法再写入,这时可能要更换存储区地址;
3、数据读出时有验证,并存在恢复措施,以使数据错误降到最低。

使用特权

评论回复
ahui1105| | 2017-8-18 10:34 | 显示全部楼层
加个电容,掉电的时候有个保存数据的缓冲时间

使用特权

评论回复
feelhyq| | 2017-8-18 13:29 | 显示全部楼层
wzr200408 发表于 2017-8-14 11:17
这个情况我以前也试过,用的AVR单片机的内部EEPROM,按道理是可靠的,可是出去的产品就是容易被干扰,EEPRO ...

使用特权

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

本版积分规则

80

主题

1366

帖子

1

粉丝