新闻中心

EEPW首页>嵌入式系统>设计应用> ATmega128L单片机的Micro SD卡读写

ATmega128L单片机的Micro SD卡读写

作者: 时间:2016-12-02 来源:网络 收藏


文件分配表系统的分区应该有以下几部分:

①保留区,FAT32称这个区域为引导扇区(bootsec-tOr)。它是操作系统可以直接访问的第一个扇区,主要包括与引导操作系统有关的引导参数和引导程序,还有就是与FAT文件系统有关的BPB参数(Bios ParameterBlock)。

②文件分配表,记录磁盘上簇的分配情况,在条件允许的情况下,通常都会把文件分配表全部读到内存中去。

③根目录区,记录根目录的信息。文件和目录数据区,是各种文件数据的实际存放区域。

一个文件管理系统的工作过程主要有三步:第一步是读取MBR区,主要是读DPT表,了解存储设备分区情况。第二步,读取BPB信息,确定FAT文件系统的各种基本参数。第三步,显示当前目录位置。文件系统的实现,就是把对应的文件目录操作拆成相应的扇区读写命令就可以了。因此,应该在FAT初始化的时候将读写扇区函数指针指向Micro SD卡的读写函数:



2.4 FAT32文件系统应用接口函数的实现

FAT32文件系统向应用层提供的接口有:FAT_FindFreeCluster(),查找空簇;FAT_ModifyFAT(),修改FAT 项;FAT_OpenDir(),打开目录;FAT_MkDir(),建目录;FAT_RmI)ir(),删除目录;FAT_Rename(),重命名;FAT_Create(),创建文件;FAT_Open(),打开文件;FAT_write(),写文件;FAT_Read(),读文件;FAT_Close(),关闭打开文件;FAT_Delete(),删除文件。下面对文件的打开、读/写和删除函数接口作详细介绍。

2.4.1 文件的打开

在该文件系统中,要读/写一个文件必须先打开它,这里通过调用函数FAT_Open()实现,文件的打开可以用只读、只写、读写的方式打开。其中,以只读的方式打开文件时,如果文件不存在,则打开文件错误;以只写的方式打开文件,如果文件存在,则文件先被删除然后再建立这个文件;以读写的方式打开文件与只写方式不同,若文件存在,则不会被删除而是直接打开,否则就和只写方式一样。下面以只写方式打开文件为例:

首先,函数要查找空闲的打开文件登记项,如果没有找到则不能打开文件,如果找到则记录。然后,获取文件的内部名称及所在目录的首簇号,判断目录是否存在。最后,获取:FDT登记项,判断是否为目录,删除文件,添加FDT表项,修改打开文件的信息登记项,返回句柄。文件以只写方式打开文件的流程如图4所示。



2.4.2 文件的读/写

SD卡上文件都是以簇为单位存取的。读SD卡上的文件,首先要在FAT初始化之前对SD卡初始化,将FAT中读写一个扇区指向SD卡中读写扇区函数,然后获取文件所在逻辑盘的信息,计算数据所在扇区,读取扇区中的数据,最后调整文件指针。



2.4.3 文件的删除

删除文件时,不涉及数据区的操作,只须在文件的目录登记项上作一个删除标记,并把文件在FAT表中所占用的簇标记为“空簇”。



结语

本设计将Micro SD卡的存储方式应用到电脑横机控制系统中,简化了花型文件数据存储设计,减小了系统的尺寸,提高了系统的可靠性,使得花型文件的读出和存取简单易行,裁剪了FAT32实现了嵌入式文件系统,提高了系统的存储能力。采用ATmegal28L高性能单片机的串行外设接口SPI,满足访问Micro SD卡的功能要求,加快了整个系统的设计进程。实践证明,该文件系统读取Mi—cro SD卡上花型文件的速度满足该控制系统的要求。该嵌入式文件系统只需对底层驱动进行简单修改就可移植到CF卡、闪存等其他的存储介质上。

参考文献

1. 陈冬云 ATmega128 单片机原理与开发指导 2006
2. 段勇 基于MSP430单片机的SD卡读写 2007(9)
3. 张洪涛.莫文承.李兵兵 基于 SPI协议的SD卡读写机制与实现方法 [期刊论文] -电子元器件应用2008(3)
4. 邓剑.杨晓非.廖俊卿 FAT 文件系统原理及实现 [期刊论文] -计算机与数字工程2005(9)
5. 左源.刘新宁.师超 一种SD卡控制器的硬件实现 [期刊论文] -电子器件2007(2)

上一页 1 2 下一页

评论


技术专区

关闭