打印
[STM32]

何如通过单片机控制 Nand Flash

[复制链接]
1526|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
  背景:      
        最近有一个项目是 一个嵌入式系统设备。
        功能:信号采集,数据存储,数据传输(USB+蓝牙)。
        主控MCU:一个M0核的单片机

       由于需要存储的数据有点大(大概130MB)。为了能够将数据上传到PC机,我计划将该设备的存储模块做成一个类似于U盘的东西------只要插上PC机就可以识别,并能够把里面数据文件拷贝出来。
所以需要外加一个存储模块。
        存储:一个256MB的 nand flash 芯片;

        但是由于该MCU没有USB接口,为了缩短数据上传的时间,计划加一个 nand flash 控制器(通常控制器都带USB接口),专门用来读取nand flash 中的数据,写flash 不要求高速
        这样的话,就等于是通过 单片机和 “nand 控制器” 同时控制nand flash芯片了。
单片机负责写入,花费15个I/O口与nand flash 的各管脚相连。”nand flash 控制器“负责 PC机与nand flash 之间的数据传输,就像下图。      

                     
      由于数据量较大,传输起来需要USB,但是该单片机没有USB口,所以要么采用一个nand flash控制器,要么换一个带USB的MCU。而我的初步计划是前者。(为什么呢?因为该单片机集成了蓝牙,该设备同时需要可以在上位机显示实时数据。)

问题来了:
         1,如何实现,通过单片机写,通过控制器读的切换?互相之间不能影响。
         2,单片机要对nand flash 进行读写,并且创建文件,就需要有一套文件系统。但是专用与nand flash 的文件系统YAFFS好像只用于LINUX,而 windows 不支持,不知道IOS支不支持。(这里还请有经验的人给小弟我解惑,不胜感激~).
         3,通过单片机来读写同样得涉及到 ECC校验,坏块管理,垃圾搜集,负载均衡,这个算法是否很复杂,应该添加在哪一层。用FAT文件系统的话,该如何解决这些问题。


相关帖子

沙发
craaazyfor| | 2013-9-25 11:54 | 只看该作者
确实需要考虑这么多东西,算法很复杂,网上有个stm32+nand的代码,你可以参考

使用特权

评论回复
板凳
树上那只猫|  楼主 | 2013-9-29 08:38 | 只看该作者
craaazyfor 发表于 2013-9-25 11:54
确实需要考虑这么多东西,算法很复杂,网上有个stm32+nand的代码,你可以参考 ...

那段代码是STM32 M3核系列 单片机本身自带了一个NAND FLASH 控制器.

使用特权

评论回复
地板
一周一天班| | 2013-9-29 10:30 | 只看该作者
不可能

使用特权

评论回复
5
树上那只猫|  楼主 | 2013-10-9 09:20 | 只看该作者
一周一天班 发表于 2013-9-29 10:30
不可能

为啥?

使用特权

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

本版积分规则

1

主题

4

帖子

0

粉丝