您好,欢迎光临!   请登录 免费注册    
  您的位置:电子变压器资讯网 > 资讯中心 >  技术文章 > 正文
基于ARM系统硬盘接口的使用和文件管理系统
[发布时间]:2011年12月29日 [来源]:电子设计技术 [点击率]:3203
【导读】: 在“计算机接口技术”教学中,有关硬磁盘接口适配器这一章比较难学,主要涉及到IO控制层对扇区读写和使用逻辑映射层对数据进行管理问题,内容比较抽象,教师和学生只能凭想象去教与学。笔者在科研中,通过对嵌...

FAT标准对硬盘逻辑结构作了划分,主要有分区表、BPB表、FAT表、数据区等几部分。在硬盘格式化和分区后,会在0柱面0磁头1扇区建立分区表,此表记载了硬盘在各分区起始和结束所使用的磁头、柱面、扇区号。对于每个分区,逻辑0扇区存放了一个BPB表,该表储存了整个文件系统关键的数据,包括文件系统的类型,每个扇区的字节数(Byte2PerSec),每簇的扇区数(SecPerClus),保留扇区数(RsvdSecCnt),FAT表数目(NumFATs),根目录起始簇(RootClus),以及盘符和卷标等。其中簇(CluSTer)是文件系统在效率原则下管理的最小单位,FAT32标准意味着每簇有8扇区,簇内存贮单元采用32位二进制数。文件系统类型还可以使用FAT12和FAT16标准,表示簇内存贮单元分别采用12位和16位二进制数。在格式化硬盘时,依据硬盘簇的数目判断选用哪种文件系统标准,若簇数小于4085则是FAT12,若在4085和65525之间则是FAT16,大于65525则是FAT32。由于本文所述的系统使用大容量硬盘,因而采用FAT32文件系统。

在原理上,FAT32和其它两种方式是相同的,完全可以移植过去。保留扇区是为BPB表以后扩展保留一段区间,暂且未被使用。

3.2 关于FAT表

FAT表实质上是一系列存放着数据的链接表。

对于FAT32来说,每四个字节(32bit)对应硬盘数据区上的一个簇,它们的数值是当前文件下一个簇的指针。如果这四个字节大于0x0FFFFFF8,则表示当前文件在该簇内结束。若是0x00则表示该簇是空的,没有存放数据,而0xFFFFFF7表示这个簇已经损坏。采用这种方法,在存取数据时只需沿着链接表寻址就行了,不需按顺序存取,也不会因删除文件造成磁盘碎片。FAT表的大小是根据磁盘容量也就是簇的数量来决定,不同磁盘FAT表的大小不同。

出于可靠性考虑,FAT表一般都要冗余它的备份,冗余数量由BPB表的NumFATs来定,通常为2。

这样在突然断电等意外情况下,可以根据备份的FAT表进行修复。

3.3 硬盘数据区

FAT表之后是硬盘的数据区,其开始是根目录(ROOTDirectory),此处存放了FAT表根目录下的文件与子目录。存放格式有两种,一种是长文件名,一种是短文件名(标准的813格式),通过数据中的特征位能分辨出来。长文件名和短文件名格式见参考文献,它包含了文件的名字、属性、大小、起始簇数、建立及写操作的时间。实际上子目录的信息也被当作一个文件存储在根目录区,只是它的属性为目录,大小为0。同样,子目录起始簇内存放了该目录下文件和子目录的信息表。依据这些信息,可以在FAT表找到该文件的链接表,执行对整个文件相应操作。

3.4 资源共享的实现

对于不同的文字平台,为能够实现资源共享,采用UNICODE来存储文件名。在长文件名中,每个字符都是用16bits的UNICODE来表示的,而在短文件名中,采用用户自定义的类型,例如在简体中文Windows下,采用ASC?码和GB2312码。通过U2NICODE与其它码表对比查找程序,用户可以在自己期望的文字平台上进行操作。

图3是读取一个文件的流程,写文件的方法和读文件相类似,只要注意在目录里建立文件时,先把数据写入空白簇后再把FAT表更新,其中包括更新备份部分。

            

4 结束语

笔者通过USB接口使用S3C44B0X中ARM7TDMI微处理器对20GB以上的硬盘进行接口连接及控制,用FAT32文件系统对硬盘进行数据管理,多个大容量硬盘除了在ARM系统能正常工作外,在WIN98/2000/XP操作系统支持下的PC机上,均能实现数据资源共享。基于ARM系统大容量硬盘管理与控制系统,目前正被使用到远程电力网数据检测系统之中,为嵌入式系统海量数据存储提供一种新的设计思路。

[上一页] [1] [2] [下一页]
投稿箱:
   电子变压器、电感器、磁性材料等磁电元件相关的行业、企业新闻稿件需要发表,或进行资讯合作,欢迎联系本网编辑部QQ: , 邮箱:info%ett-cn.com (%替换成@)。
第一时间获取电子变压行业资讯,请在微信公众账号中搜索“电子变压器资讯”或者“dzbyqzj”,或用手机扫描左方二维码,即可获得电子变压器资讯网每日精华内容推送和最优搜索体验,并参与活动!
温馨提示:回复“1”获取最新资讯。