第一范文网 - 专业文章范例文档资料分享平台

基于单片机和nandflash芯片的嵌入式文件系统 - 图文

来源:用户分享 时间:2025/5/25 0:03:32 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

回经验交流 基于单片机和NANDFLASH芯片的嵌入式文件系统 邹锦坤陈星徐承深 (大连理工大学机械学院) 摘要:介绍了一个基于单片机(SST89E564RD)和三星NANDFLASH芯H(K9F1G08UOM)的嵌入式文件系统。 系统设计了NAND FLASH存储块管理层,能够对所有存储块进行动态管理,从而实现对牲个文件系统所仃区域

的保护。系统兼容FATl6文件系统,提供统一的API接口函数,具有良好的稳定性和可维护性。

关键词:嵌入式系统i文件系统;单片机;FLASH 1引言 14前,市场上嵌入式设各的文件系统基本上都是 为菜种应用特别设计的专用文件系统,它们与通用 PC上的操作系统并不兼容。而通用计算机上虽有很

的巨大存储容量和低成本更加有利于嵌入式文件系 统的实现,已经成为嵌入式设备存储介质的主流。 本项目在FATl6文件系统的基础上作了改进咀 适应嵌入式设备的使用要求.日,在文件系统的设计中 充分考虑提高系统的可靠性、Flash存储器的磨损均

多成熟的文件系统,如DOS下的FAT文件系统、 Windows NT F的NTFS及UNIX文件系统等,但衡性、坏块的管理和文件系统的效率等问题。 它

们并不适合直接用到工作环境恶劣的嵌入式设备上。 市场上并没有种成熟稳定,既能兼容通用PC操作 系统又能适应嵌入式设备工作环境的文件系统。 在一个手持式嵌入式设备的开发项目中,有这样 个难题,该设备文件系统要求:?在该手持式没备 中存储大量采集到的信息,最大存储量大于lOOM字

节。?信息要以文件方J=5=来存储,并且可以把文件导 本NAND FLASH嵌入式文件系统特点如下: (1)使用大容量的NANDFLASH芯片作为存储 介质,型号是三星的K9FIG08UOM,容量为128M字节。芯片内部结构:芯片2048块,每块64页, 页 大小为2048+64字节,其叶1该64字节为备用空间。

(2)文件存储系统采用改进的FATl6文件系统, 使在嵌入式系统上建立的文件可由PC机读出使用, 而PC机往嵌入式系统传输的文件也可被识别使用。

(3)嵌入式文件系统共分■层:硬件电路层:

NAND 入PC机中进行数据分析。?该设备的使用环境比较

恶劣,供电不稳定,容易出现突然断电的情况。基于 I:述考虑,奉文针对移动式数据采集器设计了一个嵌 入式Flash文件系统。 FLASH存储块管理层;文件存储管理层。还 提供文件系统的API接口甬数,便于开发人员使用。

2总体设计思路分析 传统基于mcs51系列单片机的嵌入式设各一般都 采用EEPROM或NOR FLASH作为其信息3硬件电路架构设计 本项目硬件电路架构如图1所示,其主要器件: ?SST公司的8051系列单片机SST89E564RD;?三 的存储器 件。它们存在读写速度慢,容量小,价格高等缺点, 且

星公司的NAND FLASH芯片K9FIG08UOM;

?芯邦

公司USB主控芯片CBMl 180。其中矩形方框部般都不带有文件存储管理系统。本设计选用 NANDFLASH芯片作为信息的存储介质能够很好的 分为 如优盘大小的存储卡,比普通优盘多r一个对单片机

端的接【_1。当把存储卡连接到该嵌入式设备中时,采 解决这个问题。NANDFLASII的读取和写入速度快, 复用I/0口来传输地址信息和数据信息,较NOR FLASH节省大量的管脚。另外,NANDFL

ASH芯片

用单片机的Po口直接连接NANDFLASH芯片并行传 万方数据

输的办法存取数据,不使刖其他专用的USB协议接 口芯片。这时存储卡相当于一个直接挂在8051单片

机总线上的存储器件。而当把存储}连接到PC机上 块数记录在配置表的相应位置wZoneXLogBlk时,存储卡内的NANDFLASH芯J{通过USB土控芯 片CBMI 180作协议转换后与PC机通讯。这时存储 k相当于一个普通的优盘。使用时,先把1竽储卡放到 Max(2

宁节)。每个Zone表的最后6个好块作为替换块使 用。Zone表在Flash中的存储地址=wCfgTblAddr+ bZoneTblPageOffset+1。Zone表样本如表2所示。 表1配置表详细定义 Name CFG Start Flag Description 该手持嵌入J=I=设备中去记录采集到的数据,采集完成 后就可直接把存储卡接到PC机上导出数据。 配置表的表头:0x5A5A5A5A 除这4个Byte外所有数据的XOR值 C&Tblxorvalue Reserved

当前配置表CfgTbl存放的地址 Flash的每个Block的物理Page数 wCfgTbIAd击 wPhyPagesPerBlock

图1硬件电路架构罔 wPhyBlocksPerChip 每片Flash的物理Block数 bZmneTblPageOff,set 该值加1为Zone表相列配置表的页

4 NAND FLASH存储块管理层

偏移

bZoneNtmff'erChio 一片Flash可划分的Zone数 一个Block的Sector总数 -25wSectorPerBlk 表、FDT表、FAT表、DATA区五个区域,其中前4 传统的FATl6文件系统包括有MBR表、DBR bI?ageSecNumShiflB 慨

个ragc的s“竺熬撬纂鸶童I毖i

Zonel 表2 Zone表样本 lZone0 个表是重要的系统信息区域,一旦遭到破坏整个文什 系统将会崩溃,系统通过FAT表对存储l夏动态分配 lNo11 来为DATA区提供了保护,但并没有提供对系统信 旧 息区域保护。本项目设计了NANDFLASH存储块管 I一理层,增加了配置表和Zone表,对所有存储块进行 f3 :

1wLo邸lkInZone 物理块 10 ll 12 {3 wLogBlkInZone 物理块 0 512 513 514 515 503 5。4505

501

507:

502 503 504 505

:1014J01510161017动态管理,从而实现对整个文件系统所有区域的保 护。文件系统在格式化时会对Flash进行扫描,同时 根据坏块信息建立记录逻辑和物理地址映射关系的

507 508 509 510 Zone表,并将配置表(512字节)和Zone表写入FIash 相应地址。配置表和Zone表的内容为只读。 4,1配置表的设计说明 替换块 替换块 替换块 替换块 替换块 替换块

51I甜l 512 替换块 替换块 替换块 替换块 替换块 替换块

10181019102010211022 1023 配置表记录了存储卡七FLASH芯片的配置Zone0中的物理0/1/2/4块为坏块,其物理地址不出现 信 在Zone表中,6块作为替换块,Zone0的可用逻辑块

息,文件系统初始化时需从中读取Flash相关信息及 参数。文件系统格式化时先对Rash的第0块~7块进 行扫描,配置表写入到Flash的第0块。块中第一个 数wZone0LogBlkMax一502;Zonel中无坏块,6块 为替换块,可用逻辑块数wZonelLogBlklⅥax=506。 好块,长度为512字节,表头四字节为0x5A5A5A5A。 配置表(CnTb0内部结构详细定义如表1所示。

3逻辑地址到物理地址的转换 文件存储管理层访问flash物理层时都要通过存

4 2 Zone表设计说明 储块管理层进行逻辑地址到物理地址的转换。输入参 数是dwLbA(逻辑地址)和wLBAlcn(:逻辑扇区长度), 根据Zone表和Flash相关参数计算…相应的物理Zone表是记录逻辑地址和物理地址映射关系的。 文件系统在格式化时会对Flash进行扫描,同时根据 坏块信息建立记录逻辑和物理地址映射关系的Zone 地 表。每512个物理块对应一个Zone表(长度为lkB), 址,即dwRowAddr(物理页地址)和wColAddr(物理表中每一项用2字节表示逻辑块对应的物理块块号, 列 坏块的物理块号不出现,每个Zone表中可用的逻辑 地址)。dwRowAddr和wColAddr才是NAND FLASH

基于单片机和nandflash芯片的嵌入式文件系统 - 图文.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c29yrw4a2hr9uewu2sodo_1.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top