OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 10758|回复: 13

用stm32F07控制NAND FLASH存储数据,速度最快达到多少

[复制链接]

9

主题

44

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
248
金钱
248
注册时间
2017-7-10
在线时间
31 小时
发表于 2017-11-23 18:38:32 | 显示全部楼层 |阅读模式
3金钱
用stm32F07控制NAND FLASH存储数据,速度最快达到多少,我最近用NAND FLASH K9F1G08U0E芯片存储数据,速度只有200k左右,有什么方法可以提高速度吗

最佳答案

查看完整内容[请看2#楼]

CPU 168M主频,加入了 FTL和文件系统(32k簇大小),读取速度最快8.5MB/s,写入速度最快1.5MB/s。 尽量使用DMA传输,貌似NAND还有个缓存读写命令,也能提高速度,如果上了文件系统,还和簇大小有关系。FTL的效率也对速度有很大影响。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

68

主题

165

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
388
金钱
388
注册时间
2017-3-2
在线时间
156 小时
发表于 2017-11-23 18:38:33 | 显示全部楼层
本帖最后由 kokoromi 于 2017-11-25 09:22 编辑

CPU 168M主频,加入了 FTL和文件系统(32k簇大小),读取速度最快8.5MB/s,写入速度最快1.5MB/s。
尽量使用DMA传输,貌似NAND还有个缓存读写命令,也能提高速度,如果上了文件系统,还和簇大小有关系。FTL的效率也对速度有很大影响。

回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165524
金钱
165524
注册时间
2010-12-1
在线时间
2116 小时
发表于 2017-11-25 01:05:36 | 显示全部楼层
407? 肯定不止200K啊
回复

使用道具 举报

17

主题

142

帖子

0

精华

高级会员

Rank: 4

积分
897
金钱
897
注册时间
2016-2-16
在线时间
162 小时
发表于 2017-11-26 13:08:33 | 显示全部楼层
应该有好几兆字节每秒
回复

使用道具 举报

9

主题

44

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
248
金钱
248
注册时间
2017-7-10
在线时间
31 小时
 楼主| 发表于 2017-11-27 09:29:21 | 显示全部楼层
hbyue 发表于 2017-11-26 13:08
应该有好几兆字节每秒

32单片机可以实现这么高速吗,你自己有测试吗
回复

使用道具 举报

17

主题

142

帖子

0

精华

高级会员

Rank: 4

积分
897
金钱
897
注册时间
2016-2-16
在线时间
162 小时
发表于 2017-11-27 12:57:04 | 显示全部楼层
测试过的,写入数据使用DMA,写入完成状态用外部中断,速度差不多10MB/s,具体记不住啦。
回复

使用道具 举报

1

主题

4

帖子

0

精华

新手入门

积分
17
金钱
17
注册时间
2017-11-27
在线时间
3 小时
发表于 2017-11-27 13:11:05 | 显示全部楼层
用DMA (memory to memory) 和提高fmc的时钟咯 试试看  我没试过
回复

使用道具 举报

9

主题

44

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
248
金钱
248
注册时间
2017-7-10
在线时间
31 小时
 楼主| 发表于 2017-11-27 17:30:36 | 显示全部楼层
我今天又改代码测试了一下,可以达到2.5M的写入速度
回复

使用道具 举报

9

主题

44

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
248
金钱
248
注册时间
2017-7-10
在线时间
31 小时
 楼主| 发表于 2017-11-27 17:31:25 | 显示全部楼层

今天测试出来有2.5M的写入速度
回复

使用道具 举报

9

主题

44

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
248
金钱
248
注册时间
2017-7-10
在线时间
31 小时
 楼主| 发表于 2017-11-27 17:39:48 | 显示全部楼层

for(WriteReadAddr.Block=0; WriteReadAddr.Block<100; WriteReadAddr.Block++ )//
{
  /* Write data to FSMC Nand memory */
  /* Fill the buffer to send */
  for (j=0; j <25* NAND_PAGE_SIZE;  )
  {
                TxBuffer[j++] =  adc_ram;
                TxBuffer[j++] =  adc_ram>>8;
                i++;
  }
        FSMC_NAND_WriteSmallPage(TxBuffer, WriteReadAddr, 25);
}


原子哥,我在写入NAND之前,进行数据移位的操作(TxBuffer[j++] =  adc_ram;
                TxBuffer[j++] =  adc_ram>>8;),发现读出来出现错误,如果只用其中一句,只写低位,就没有错误,这个地方非常奇怪,希望帮忙看看
回复

使用道具 举报

5

主题

17

帖子

0

精华

初级会员

Rank: 2

积分
82
金钱
82
注册时间
2017-12-20
在线时间
20 小时
发表于 2017-12-20 09:00:32 | 显示全部楼层
kokoromi 发表于 2017-11-23 18:38
CPU 168M主频,加入了 FTL和文件系统(32k簇大小),读取速度最快8.5MB/s,写入速度最快1.5MB/s。
尽量使 ...

向请教一下ftl层的问题,能不能交流交流
回复

使用道具 举报

0

主题

6

帖子

0

精华

初级会员

Rank: 2

积分
89
金钱
89
注册时间
2018-7-16
在线时间
31 小时
发表于 2018-9-28 16:21:00 | 显示全部楼层
ckkcy 发表于 2017-11-27 17:30
我今天又改代码测试了一下,可以达到2.5M的写入速度

我现在也是速度比较慢,你是改的哪里能说一下吗
回复

使用道具 举报

233

主题

961

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1814
金钱
1814
注册时间
2011-10-9
在线时间
230 小时
发表于 2018-9-28 16:53:14 | 显示全部楼层
你测试的是 写入速度吧  就是不计算  擦除的时间      ,nand主要是擦除比较费时间 楼主估计用了擦除
回复

使用道具 举报

0

主题

6

帖子

0

精华

初级会员

Rank: 2

积分
89
金钱
89
注册时间
2018-7-16
在线时间
31 小时
发表于 2018-9-28 19:19:36 | 显示全部楼层
simms01 发表于 2018-9-28 16:53
你测试的是 写入速度吧  就是不计算  擦除的时间      ,nand主要是擦除比较费时间 楼主估计用了擦除

如果加上擦出一般速度是多少呢
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-8 16:55

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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