搜索
查看: 8858|回复: 6

[已解决] 单片机如何控制 nand flash

[复制链接]

该用户从未签到

2

主题

4

帖子

0

蝴蝶豆

新手上路

最后登录
1970-1-1
发表于 2013-9-24 14:01:58 | 显示全部楼层 |阅读模式
   背景:       
        最近有一个项目是 一个嵌入式系统设备。
        功能:信号采集,数据存储,数据传输(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 之间的数据传输,就像下图。

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

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

使用道具 举报

该用户从未签到

133

主题

4688

帖子

239

蝴蝶豆

版主

最后登录
2021-4-10
发表于 2013-9-24 16:16:07 | 显示全部楼层

RE:单片机如何控制 nand flash

可以通过一个IO口来控制。如果你选用的是STM32的话,STM32支持USB。可以考虑用FATFS系统。对于ECC校验,坏块管理,垃圾搜集,负载均衡这些就是需要文件系统来处理了。
回复 支持 反对

使用道具 举报

该用户从未签到

5

主题

218

帖子

0

蝴蝶豆

中级会员

最后登录
2020-12-15
发表于 2013-9-24 23:47:38 | 显示全部楼层

RE:单片机如何控制 nand flash

建议选择使用带有USB 的芯片,此外该芯片具有蓝牙功能,是否可以利用蓝牙功能进行数据传输进行实时数据传输\存储\显示
回复 支持 反对

使用道具 举报

该用户从未签到

5

主题

308

帖子

0

蝴蝶豆

金牌会员

最后登录
1970-1-1
发表于 2013-9-25 11:22:31 | 显示全部楼层

RE:单片机如何控制 nand flash

集成了蓝牙的单片机啊,好少见的东西。
把单片机做成U盘,我用stm32f103做过,128MB的nand作为存储。这个不是必须要FSMC的,我是用IO口模拟的。如果你要是外接usb,不用内置的usb设备,对比难度,其实是舍易取难了
回复 支持 反对

使用道具 举报

该用户从未签到

15

主题

212

帖子

0

蝴蝶豆

金牌会员

最后登录
2019-11-11
发表于 2013-9-25 11:42:31 | 显示全部楼层

RE:单片机如何控制 nand flash

这样设计我也想过,难度不小呢,u盘芯片和你的主控制器的负载均衡,坏块管理都要一致,所以你需要u盘芯片的资料和他内置的算法。
我建议你用SD卡,配合读卡器芯片。如果数据操作不频繁,可靠性要求不太高的话就不用做负载均衡和管理了,如果要求高还可以选用内置均衡管理的SD卡,同样不需要考虑算法了,你看如何?
回复 支持 反对

使用道具 举报

该用户从未签到

3

主题

164

帖子

0

蝴蝶豆

新手上路

最后登录
1970-1-1
发表于 2013-9-25 13:45:57 | 显示全部楼层

RE:单片机如何控制 nand flash

这个要用到文件系统,usb的话呢,看你用什么单片机了,f103系列自带usb是不支持host的,那么可以选用外部usb总线芯片ch375.
回复 支持 反对

使用道具 举报

该用户从未签到

24

主题

580

帖子

2

蝴蝶豆

高级会员

最后登录
2021-1-7
发表于 2013-9-26 08:16:13 | 显示全部楼层

RE:单片机如何控制 nand flash

既然楼主初步计划是采用一个nand flash控制器,如果使用stm32高密度芯片,建议使用FSMC
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条

Archiver|手机版|小黑屋|论坛-意法半导体STM32/STM8技术社区

GMT+8, 2024-5-7 18:44 , Processed in 0.168449 second(s), 38 queries .

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

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