搜索
bottom↓
回复: 6

求解意外掉电后SPI FLASH读出数据为0xFF问题

[复制链接]

出0入0汤圆

发表于 2013-7-15 23:26:34 | 显示全部楼层 |阅读模式
我用的是GD25Q512的SPI FLASH,在带电的情况下读写FLASH数据都是对的。
如果用仿真器给板子供电,在写完FLASH的数据后(数据已经成功写入,因为写完后又读了一遍,数据都是对的),拔掉仿真器的电源,过一会再接上,再加载程序读取刚才FLASH写入的地址,读出来的数据全是0xff。
如果用电池供电,意外掉电后也有丢失数据的情况,但丢失数据的概率比用仿真器的低些。

FLASH的WP和HOlD引脚都是直接接上VCC的,
求教这是为什么?谢谢!

本帖子中包含更多资源

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

x

出0入0汤圆

发表于 2013-7-15 23:39:22 | 显示全部楼层
一块一块地校验,就不怕掉电。

出0入0汤圆

 楼主| 发表于 2013-7-15 23:50:20 | 显示全部楼层
billgates 发表于 2013-7-15 23:39
一块一块地校验,就不怕掉电。

带电读的时候是好的,只是掉电后重启再读就没了

出0入0汤圆

发表于 2013-7-16 00:09:35 | 显示全部楼层
himm007 发表于 2013-7-15 23:50
带电读的时候是好的,只是掉电后重启再读就没了

不会没了的,只要你保证单片机的掉电复位电压比SPI_Flash的最低工作电压高一点。
即防止MCU还在跑时,SPI已经不能正常工作了。
你可以使用一片外部复位的芯片试试,例如2.7V就让MCU复位。
所以,如果数据不多,使用片内的Flash或SD卡之类的,比外部SPI简便。。。。

出0入0汤圆

 楼主| 发表于 2013-7-16 06:20:27 | 显示全部楼层
billgates 发表于 2013-7-16 00:09
不会没了的,只要你保证单片机的掉电复位电压比SPI_Flash的最低工作电压高一点。
即防止MCU还在跑时,SPI ...

但我是直接拔掉供电线或者扣掉电池,这种情况下为什么也会读不出来呢?

出0入0汤圆

 楼主| 发表于 2013-7-16 06:28:53 | 显示全部楼层
这个时候读SPI FLASH 的ID是能读出来的。
需要给CS也接上电容么?

出0入0汤圆

发表于 2014-8-17 09:00:29 | 显示全部楼层
今天写Flash编程器的驱动,一块flash读取第一次正确,调电之后再读取就全部是0xff, 后来检查发现电压上错了, 上成了1.8V的,应该是3.3V的才对。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-4-19 14:44

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

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