打印
[STM32F4]

STM32F429ZGT6访问SPIflash W25N01GVZEIG,部分数据有问题,请指教!

[复制链接]
3007|16
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
qiankunpzh|  楼主 | 2017-1-5 09:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我通过STM32的SPI口读写W25N01GV这个spi FLASH,每次写入数据前,都进行擦除。在数据量很小的时候,读写都正常。继续写入数据(不擦除,不覆盖前面数据),大概到0x0260区域附近,之前读写都正常的数据,现在读出,发现部分位不对了(比如aa,读回来是a8或2a等)。
如果继续写入数据(不擦除,不覆盖前面数据),写入的数据越多,读回来的数据,错误也越多,比较随机,之前读写正常的数据,错误也越来越多。
实测波形,发现spi flash输出的信号和ARM读到的数据是匹配的,也就是说,现在读到的数据错误与flash输出是匹配的,应该是flash输出有问题。
整片擦除和部分擦除,都试过,问题依旧。
硬件上,电源、时序都正常。
请问,这个问题的可能原因是啥?程序配置不对吗?谢谢!!


沙发
mmuuss586| | 2017-1-5 12:07 | 只看该作者
多焊几块板子测试下;

或者程序做些处理,每次写入后,再读出,如果发现不对,再写入一遍;
或者降低读写速度看看;

使用特权

评论回复
板凳
qiankunpzh|  楼主 | 2017-1-5 13:50 | 只看该作者
mmuuss586 发表于 2017-1-5 12:07
多焊几块板子测试下;

或者程序做些处理,每次写入后,再读出,如果发现不对,再写入一遍;

速度很慢,时钟才1M多。
现在测试,少量写入后,读出ok,然后继续向后写,读出可能就有错。大概500多字节,就可能出错了。都是写入AA或55,写入同一个数。

使用特权

评论回复
地板
qiankunpzh|  楼主 | 2017-2-8 16:35 | 只看该作者
qiankunpzh 发表于 2017-1-5 13:50
速度很慢,时钟才1M多。
现在测试,少量写入后,读出ok,然后继续向后写,读出可能就有错。大概500多字节 ...

问题已搞定。NAND flash需要一页一页写,不能像nor那样,随机写。我们软件兄弟没看到这点。

使用特权

评论回复
5
imagine186| | 2017-2-16 12:28 | 只看该作者
能给驱动源码参考下吗?

使用特权

评论回复
6
nanmingyu| | 2017-8-19 15:44 | 只看该作者
楼主能否共享一下您的W25N01GVZEIG的驱动呀?发我QQ邮箱好吗?QQ:981982944@qq.com

使用特权

评论回复
7
nanmingyu| | 2017-8-19 15:46 | 只看该作者
你好

使用特权

评论回复
8
nanmingyu| | 2017-8-19 15:48 | 只看该作者
你好

使用特权

评论回复
9
nanmingyu| | 2017-8-19 15:48 | 只看该作者
mmuuss586 发表于 2017-1-5 12:07
多焊几块板子测试下;

或者程序做些处理,每次写入后,再读出,如果发现不对,再写入一遍;

问题怎么解决的?

使用特权

评论回复
10
nanmingyu| | 2017-8-19 15:49 | 只看该作者
qiankunpzh 发表于 2017-1-5 13:50
速度很慢,时钟才1M多。
现在测试,少量写入后,读出ok,然后继续向后写,读出可能就有错。大概500多字节 ...

能否共享一下W25N01GV的驱动?

使用特权

评论回复
11
nanmingyu| | 2017-8-19 15:50 | 只看该作者
楼主有驱动吗

使用特权

评论回复
12
nanmingyu| | 2017-8-19 15:50 | 只看该作者
qiankunpzh 发表于 2017-1-5 13:50
速度很慢,时钟才1M多。
现在测试,少量写入后,读出ok,然后继续向后写,读出可能就有错。大概500多字节 ...

能否发个驱动看看

使用特权

评论回复
13
nanmingyu| | 2017-8-19 15:50 | 只看该作者
qiankunpzh 发表于 2017-2-8 16:35
问题已搞定。NAND flash需要一页一页写,不能像nor那样,随机写。我们软件兄弟没看到这点。 ...

如何搞定的?能否共享一下驱动看看呀

使用特权

评论回复
14
nanmingyu| | 2017-8-19 15:51 | 只看该作者
qiankunpzh 发表于 2017-1-5 13:50
速度很慢,时钟才1M多。
现在测试,少量写入后,读出ok,然后继续向后写,读出可能就有错。大概500多字节 ...

我的芯片时钟频率是8M,分频后SPI通信为100k,是否会影响通信?

使用特权

评论回复
15
nanmingyu| | 2017-8-19 15:52 | 只看该作者
qiankunpzh 发表于 2017-2-8 16:35
问题已搞定。NAND flash需要一页一页写,不能像nor那样,随机写。我们软件兄弟没看到这点。 ...

你好

使用特权

评论回复
16
nanmingyu| | 2017-8-28 17:19 | 只看该作者
把SR2寄存器的ECC功能关掉试试

使用特权

评论回复
17
mai1994| | 2017-9-6 17:22 | 只看该作者
qiankunpzh 发表于 2017-2-8 16:35
问题已搞定。NAND flash需要一页一页写,不能像nor那样,随机写。我们软件兄弟没看到这点。 ...

楼主您好。想请问一下,W25N01GVZEIG只能按块擦除吗?数据手册上没有按页擦除或其他方式擦除的命令。要是每次写之前都按块擦除的话,mcu哪有这么大的RAM来保存擦除之前的数据呢?请问您是怎么解决这个问题的?

使用特权

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

本版积分规则

13

主题

41

帖子

0

粉丝