背景:
最近有一个项目是 一个嵌入式系统设备。
功能:信号采集,数据存储,数据传输(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 之间的数据传输。
问题来了:
1,如何实现,通过单片机写,通过控制器读的切换?互相之间不能影响。
2,单片机要对nand flash 进行读写,并且创建文件,就需要有一套文件系统。但是专用与nand flash 的文件系统YAFFS好像只用于LINUX,而 windows 不支持,不知道IOS支不支持。
3,通过单片机来读写同样得涉及到 ECC校验,坏块管理,垃圾搜集,负载均衡,这个算法是否很复杂,应该添加在哪一层。用FAT文件系统的话,该如何解决这些问题。
解决方案:
针对嵌入式领域小容量上非常多变的应用场景,把小容量的SLC NAND跟SD的controller包在一起,然后定制的FW。
SD NAND是怎样的芯片?不就是SD卡吗?
不一样,T卡用的wafer很多是ink die,T卡是一个模组,很多坏掉就换新的。我们这个是贴在板子上,都是用good die做的,而且我们封装形式比较小,焊在板子上稳定性比较高,T卡是插上去的由于震动可以能引起接触不良,会脱落。
1.Introduction
全闪存SD NAND是一个嵌入式存储解决方案设计的LGA8(WSON)小封装,尺寸只有8mm*6mm, SD卡的操作与SD卡类似,是行业标准。
SD NAND由高可靠性的SLC Nand闪存和高性能控制器组成, NAND区域(VCC)需要3.3V的供电电压,能够支持class10的访问速度。
SD NAND完全兼容SD2.0接口,它允许大多数CPU使用,具有高性价比、高质量、低功耗的特点。
2. Product List
PartNo. Capacity Package Size
MSD1GL68S 1Gb LGA-8 6x8mm
MSD2GL68S 2Gb LGA-8 6x8mm
MSD4GL68S 4Gb LGA-8 6x8mm
MSD8GL68D 8Gb LGA-8 6x8mm
3.USE
可穿戴设备、智能硬件:
手环、手表、运动MP3耳机、智能音箱、智能门铃、智能监控、语音模块等
4.优点:缩小PCB面积 质量更有保障 兼容性高 耐高温可以过回流焊
|