机电之家资源网
单片机首页|单片机基础|单片机应用|单片机开发|单片机文案|软件资料下载|音响制作|电路图下载 |嵌入式开发
培训信息
赞助商
基于Blackfin处理器实现对硬盘FAT32文件系统的操作
基于Blackfin处理器实现对硬盘FAT32文件系统的操作
 更新时间:2008-8-3 15:47:54  点击数:6
【字体: 字体颜色


    

   Blackfin处理器是美国 Analog Devices公司推出的专为满足当今嵌入式音频、视频和通信应用的计算要求和功耗约束条件而设计的新型嵌入式处理器。当Blackfin用于音视频的处理时,大数据量媒体数据的存储和管理便成为一个关键问题。在处理大容量数据存储的方案中,使用最为普遍的便是IDE硬盘。而针对文件的管理,由于FAT32文件系统在大容量文件分区管理方面具有很高的性能,而且可以在大多数操作系统中被识别,因此具有很高的兼容性。所以IDE硬盘加上FAT32文件系统可以作为嵌入式系统大容量文件存储管理的理想方案。本文主要阐述此方案基于Blackfin533处理器的硬件和软件实现。硬件部分为基于ADSP-BF533 EZKIT Lite评估板设计的IDE接口扩展板;软件部分包括基于扩展板和VisualDSP++ IDDE开发的IDE接口驱动程序和FAT32文件系统操作函数。
1 IDE硬盘原理
1.1 IDE硬盘的寻址

  硬盘的存储结构如图1所示。


  它的基本存储单元叫作扇区(Sector),除此之外。硬盘还有两个重要的组成部分就是磁头(Head)和柱面(Cylinder),它们共同组成硬盘的寻址空间,其地址被称为物理地址。显然,物理地址寻址方式不够直观、现在的大多数硬盘都支持另外一种寻址方式,其地址被称为逻辑地址(LBA),它把扇区顺序编号,不必再考虑C、H、S等参数。LBA和C、H、S的换算关系如下:
  =NH×NS×C+NS×H+S-1;
  C=(LBA div NS)div NH;
  H=(LBA div NS)mod NH;
  S=(LBA mod NS)+1
  NH表示每个柱面的磁头数,NS表示每个磁道的扇区数,C表示柱面数[1]
1.2 硬盘的引导原理
  硬盘分区的引导原理如图2所示。


  硬盘的第一个扇区(0柱面,0磁头,1扇区)被称作主引导扇区——MBR(Master Boot Record)。在MBR中,主要内容就是引导代码和主分区表。主分区表只有四个分区表项,它们可以直接描述分区,也可以通过扩展分区表进行扩展[2]
  这种引导组织形式是与文件系统完全无关的,在每一个分区内,使用者可以根据自己的需要安装任意的文件系统。但使用何种文件系统要在响应的分区表项内作记录。
2 FAT32文件系统概述[2][4]
2.1 FAT文件系统

  FAT(File Allocation Table)文件系统是微软在20世纪70年代末到80年代初发布的,由微软的MS-DOS操作系统支持。在发展的过程中,出现了FAT12、FAT16、FAT32三个版本,其中,FAT12文件系统由于具有一些致命的缺点,很早就被FAT16取代了,而FAT16和FAT32目前还在广泛使用。表1是三种文件系统的对比。


  FAT文件系统的原理可以简单地描述为把存储空间分块映射到一个表中,从而实现对存储空间的灵活支配。存储空间中的每一个块被称作簇,存储空间的映射表被称作FAT表。三种FAT文件系统的一个明显区别就是FAT表中表示一个簇所用的位数不同,分别是12、16和32。文件的存储是不必连续的,但在FAT表中可用链表的形式把文件联系在一起,如图3所示。


  由于FAT文件系统目前在大部分操作系统上都给予了支持,而且实现起来简单,所以是理想的嵌入式系统大容量存储文件管理方案。
2.2 FAT32文件系统
  由于FAT16文件系统在大容量分区管理方面的效率急剧下降,而FAT32文件系统却很好地解决了这个问题,所以在大分区管理方面,FAT32是理想的文件系统。


  FAT32文件系统在结构上延续了FAT文件系统的基本结构,如图4所示,主要由以下三部分组成:
  (1) DBR(Dos Boot Record),包括跳转指令、厂商标志、os版本号,BPB(Bios Parameter Block)、扩展BPB、引导程序和结束符;
  (2) FAT表,实际数据存储空间的映射表,FAT1和FAT2完全一致,后者作为前者的备份;
  (3) 实际数据存储空间,相比FAT16,从簇2不再有专门的根目录空间,而是把根目录也当作一个特殊的文件来处理,起始簇是2。
2.3 FAT32文件系统对文件的管理
  除了根目录的所有文件(子目录也作为一种特殊的文件存在)都对应一组数据作为文件描述,被称为文件目录项。每个目录内的所有文件和子目录的文件目录项都存储在这个目录对应的存储空间内,每一个文件目录项有32个字节,主要包括文件名、文件属性、文件大小、文件存储位置以及一系列的时间描述等。 把文件路径、文件目录项、FAT表联系在一起就可以完全把握一个文件在硬盘的存储情况。图5所示是一个例子,通过下面的步骤定位文件的所有内容:
  (1) 通过路径找到文件所在目录的簇(a)。
  (2) 在目录对应的空间(c)内比对文件名,找到文件对应的文件目录项(d)。
  (3) 通过文件目录项确定文件的起始簇和文件大小。
  (4) 根据FAT表内的簇链(b)确定文件的存储空间(e)。


3 IDE硬盘接口设计
3.1 ADSP-BF533 EZKIT Lite评估板简介[5]

  Blackfin533是美国Analog Devices公司开发的具有MISC体系的微处理器。这种体系是同时具有RISC指令集和DSP内核的一个集合,所以Blackfin533既可以作为通用嵌入式微处理器进行开发应用,又具有强大的DSP数据处理能力。
  ADSP-BF533 EZKIT Lite是Analog Devices公司为方便Blackfin533的开发应用而提供的评估板。它可以与PC机通过USB或者PCI接口的仿真器进行调试,操作使用简单方便。评估板的核心是一片Blackfin533处理器,输入频率是27MHz,可以通过内部PLL控制工作在所需的工作频率上,最高可达750MHz。
  ADSP-BF533 EZKIT Lite评估板的片上资源非常丰富。有32M SDRAM(16M×16bit)、2M Flash(512K×16bit×2);通过AD1836音频处理芯片提供了四路音频输入和六路音频输出端口;通过ADV7183视频解码芯片和ADV7171视频编码芯片分别提供了三路视频输入和视频输出端口;此外,评估板还提供了UART、JTAG、按钮电路和LED指示等设备,尤其是提供了一组功能齐全的扩展接口便于其它设备的接入。IDE接口电路就是在这组扩展接口的基础上设计的。
3.2 硬件设计
  IDE接口扩展板的设计是基于Blackfin533芯片的EBIU(External Bus Interface Unit)设计的。
  EBIU是Blackfin533与外部存储器之间的一个通用外部总线接口,通过对EBIU控制寄存器的设置,既可以连接SDRAM等同步存储器,也可以连接ROM、FIFOs、Flash等异步存储器。EBIU内部结构如图6所示。

[1] [2] [3]  下一页
  • 上一篇: 一种单片机控制的大功率铅酸电池充电器设计
  • 下一篇: 基于NiosII的多通道PWM信号测量/产生器节点设计
  • 发表评论   告诉好友   打印此文  收藏此页  关闭窗口  返回顶部
    热点文章
     
    推荐文章
     
    相关文章
    网友评论:(只显示最新5条。)
    关于我们 | 联系我们 | 广告合作 | 付款方式 | 使用帮助 | 机电之家 | 会员助手 | 免费链接

    点击这里给我发消息66821730(技术支持)点击这里给我发消息66821730(广告投放) 点击这里给我发消息41031197(编辑) 点击这里给我发消息58733127(审核)
    本站提供的机电设备,机电供求等信息由机电企业自行提供,该企业负责信息内容的真实性、准确性和合法性。
    机电之家对此不承担任何保证责任,有侵犯您利益的地方请联系机电之家,机电之家将及时作出处理。
    Copyright 2007 机电之家 Inc All Rights Reserved.机电之家-由机电一体化网更名-声明
    电话:0571-87774297 传真:0571-87774298
    杭州滨兴科技有限公司提供技术支持

    主办:杭州市高新区(滨江)机电一体化学会
    中国行业电子商务100强网站

    网站经营许可证:浙B2-20080178-1