你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

外挂eeprom数据丢失问题

[复制链接]
你好我好大家好! 提问时间:2016-12-25 20:54 /
本帖最后由 你好我好大家好! 于 2016-12-25 22:02 编辑

      从上位机将数据写入eeprom后,在板子掉电之前从eeprom中读取数据,显示到上位机,数据全部正确。然后将板子断电,再上电,将数据从eeprom中读出,显示到上位机,结果发现其中少部分数据丢失,其他数据完好无损。而且不同板子都有上述问题,并且丢失的数据地址不一样,用的eeprom是intersil公司的x5163芯片,这样奇怪的想象有前辈们见过吗?帮忙指点下谢谢了!!!
收藏 3 评论20 发布时间:2016-12-25 20:54

举报

20个回答
黑皮男 回答时间:2016-12-25 23:53:41
你这个估计是出在上电或是断电的过程中,上电时是不稳定的,程序乱飞,所以会意外更改存储媒介中的数据,解决方法是在上电时延时,或者通过硬件电路保证MCU电压稳定后才使能iic总线。或则有其他方法也行,要保证MCU电压稳定才对eeprom进行读写操作。当时用Flash时我遇到过这种情况

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2

查看全部评分

你好我好大家好! 回答时间:2017-1-2 18:15:12
黑皮男 发表于 2016-12-25 23:53
你这个估计是出在上电或是断电的过程中,上电时是不稳定的,程序乱飞,所以会意外更改存储媒介中的数据,解 ...

dsp28335内核的工作电压是1.9v,eeprom芯片的工作电压是3.3v. 用示波器测量了一下工作电压从cpu的1.9v到eeprom的3.3v所需的时间约为1ms,在1ms之内eeprom初始化确实被执行了,也就是在eeprom供电电压到达3.3v之前,cpu已经执行了读取eeprom指令了.
你好我好大家好! 回答时间:2016-12-29 11:04:47
中山无雪 发表于 2016-12-27 22:18
上电后过段时间(几十个ms后)再读数据看看数据是否真的被改变了,eeprom芯片上电后也有个启动时间,只有等 ...

现在上电后延时几十毫秒,再读eeprom数据,刚开始时还是出现数据丢失的现象,后来隔了一天再读数据发现数据没有丢失,这又是什么奇怪现象呢?不知道随后再读的话还会不会丢失````
黑皮男 回答时间:2016-12-25 23:57:14
这个一般是出在电压上升或是跌落的过程中,此时电压不稳,MCU程序乱飞。所以要保证MCU电压稳定后才对eeprom进行读写。一种方法是上电时延时才对eeprom读写。另一种方法是保证MCU电压稳定后才打开IIC总线,需要硬件配合一下。关键就是等MCU稳定再操作eeprom,当时用Flash时遇到过类似的问题。
奏奏奏 回答时间:2016-12-26 04:22:08
我觉得可以用这样的顺序排查:
1、怀疑EEPROM问题:换一个兼容的另外一家公司的芯片,看一下还有没有这样的问题;
2、怀疑软件代码问题:(1)读取数据的代码有BUG?(2)存数据的代码有BUG?(3)与上位机的通讯有BUG?

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2

查看全部评分

andypanfan 回答时间:2016-12-26 09:14:53
用了   EEPROM  这么久  没有出现过这种问题呀!!!!!
xhzheng 回答时间:2016-12-26 10:44:49
基于目前的电路,增加一个WP保护引脚,在写入成功后,置H,
然后看看是否有数据丢失情况;

如果可以,使用示波器挂载看看波形;

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2

查看全部评分

你好我好大家好! 回答时间:2016-12-27 12:09:06
黑皮男 发表于 2016-12-25 23:57
这个一般是出在电压上升或是跌落的过程中,此时电压不稳,MCU程序乱飞。所以要保证MCU电压稳定后才对eeprom ...

硬件配合的话,可以说得具体一些吗?谢谢了
你好我好大家好! 回答时间:2016-12-27 12:10:13
黑皮男 发表于 2016-12-25 23:53
你这个估计是出在上电或是断电的过程中,上电时是不稳定的,程序乱飞,所以会意外更改存储媒介中的数据,解 ...

您用的也是外挂Flash吗?
黑皮男 回答时间:2016-12-27 12:16:00
是外挂flash,配合硬件的意思是加一个IIC开关,待mcu稳定后再开启,不过这个的话会比较麻烦。不太清楚你这个eeprom有没有写保护控制脚,楼上说的对,如果有的话控制eeprom的写保护比较好

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2

查看全部评分

中山无雪 回答时间:2016-12-27 22:18:58
上电后过段时间(几十个ms后)再读数据看看数据是否真的被改变了,eeprom芯片上电后也有个启动时间,只有等系统稳定后数据才能被正确读写。

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2

查看全部评分

中山无雪 回答时间:2016-12-27 22:19:17
上电后过段时间(几十个ms后)再读数据看看数据是否真的被改变了,eeprom芯片上电后也有个启动时间,只有等系统稳定后数据才能被正确读写。
中山无雪 回答时间:2016-12-27 22:19:40
上电后过段时间(几十个ms后)再读数据看看数据是否真的被改变了,eeprom芯片上电后也有个启动时间,只有等系统稳定后数据才能被正确读写。
中山无雪 回答时间:2016-12-27 22:20:59
上电后过段时间(几十个ms后)再读数据看看数据是否真的被改变了,eeprom芯片上电后也有个启动时间,只有等系统稳定后数据才能被正确读写。
中山无雪 回答时间:2016-12-27 22:23:48
上电后过段时间(几十个ms后)再读数据看看数据是否真的被改变了,eeprom芯片上电后也有个启动时间,只有等系统稳定后数据才能被正确读写。
zbber 回答时间:2016-12-28 12:22:42
我觉得可以用这样的顺序排查:
12下一页

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版