




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于S3C2410和CF卡的FAT32开发 (1)2012-03-21 13:41:45 作者:黎小玉 卢博友 杨亮 雷永锋 来源:微计算机信息 关键字:CF卡 FAT32文件系统 S3C2410 1 引言随着计算机应用技术的飞速发展,移动存储设备得到了广泛的应用。CF(Compact Flash)卡以其能捕获、保存、传送数据、及其它音像信息的设计理念诞生于1994年,它是最早推出的闪存卡。由于CF卡具有价格低廉、体积小、存储容量大、高速等特点,因此被广泛地应用于数码相机、PDA和笔记本电脑等那些需要高速采样、实时记录数据、然后再将数据传入计算机进行分析处理的仪器和设备中。由于CF卡中存储的信息要能从PC机上读取出来,所以必须采用一种标准的格式组织数据,通常采用的方法是在CF卡中内嵌文件系统。目前,市场上存在多种商用的嵌入式操作系统可以支持文件系统,但这些操作系统对硬件要求一般都比较高,价格昂贵,且要额外占用一定量的存储空间。由于成本等方面的限制,较少使用嵌入式操作系统,因此很有必要开发一种不依赖于商用操作系统的标准文件系统。在此本文介绍了按照FAT32格式实现的基于S3C2410的CF卡文件系统。2 CF卡简介CF存储卡内嵌单片控制器及闪存模块,连接口为25针双排的母插口,点距为50mil(1.27mm)。CF卡内部结构模块图如图1所示。图1 CF存储卡模块图主控制器通过一个50针的连接器与CF卡连接。连接器为每排25针(1.27mm)的公插头。CF卡的存取方式有三种:PC Card Memory模式、PC Card I/O模式以及True IDE模式。PC Card模式与PCMCIA标准兼容。True IDE模式与ATA标准兼容。3 S3C2410与CF卡接口设计本系统采用了ARM公司的32位嵌入式微处理器S3C2410。ARM 系列嵌入式微处理器,以其低功耗、高性能等突出优点已在32位嵌入式应用中稳居世界第一,成为高性能、低功耗嵌入式处理器的代名词。ARM核已是现在嵌入式SoC系统芯片的核心,也是现代嵌入式系统发展的方向。S3C2410与CF卡的硬件连接关系如图2所示,通过改变CPLD内部逻辑关系可以实现三种模式。由于在True IDE模式下,CF卡与主机通信的信号最少,硬件接口最简单、软件易于实现,因此本设计采用了True IDE模式。 图2 S3C2410与CF卡的硬件连接关系图 在True IDE模式下,某些信号有特殊的含义,必须采用True IDE模式下特有的设置方法,如表1True IDE模式I/O解码所示:表1 True IDE模式I/O解码nCE2nCE1A2A1A0IORDIOWR注10000RD数据WR数据8位或16位10001错误寄存器特征8位10010扇区计数扇区计数8位10011扇区号扇区号8位10100低柱面低柱面8位10101高柱面高柱面8位10110选择卡/磁头选择卡/磁头8位10111状态命令8位01110Alt状态设备控制8位 nCE1是任务文件寄存器片选信号,低电平有效;nCE2是交替状态(Alternate Status)寄存器和设备控制(Device Control)寄存器片选信号,也是低电平有效。因为实际操作中,极少使用交替状态寄存器和设备控制寄存器,所以对CF卡的操作实际就是对任务文件寄存器的操作。因此,一般设置nCE1=0,nCE2=1。主机操作CF卡时,系统仅使用地址总线A2A0,用于选择组成任务文件寄存器的8个寄存器之一。表1中,nCE1=0时,对应的8个寄存器统称为任务文件寄存器。需要注意的是,在True IDE模式下,nOE不是读使能信号,而是CF卡True IED模式的使能信号。CF卡上电时,若nOE(PIN9)为0,则CF卡自动进入True IDE模式;若nOE=1则进入PC Card 模式。当电源一直接通时,热拔插CF卡将会使其从原来的True IDE模式重新配置成PC Card模式。因此,热插拔过程中,为了使CF卡工作在True IDE模式,需要在CF卡加电启动的同时,将nOE信号接地。实现的方法:在CPLD中将nOE置0。True IDE模式下,nWE也不用作写使能信号,而应该由主机将之接地。处理方法:在CPLD中将其只置为1。 还有一点需要注意的是Reset信号在True IDE 模式下低电平有效,而在其它模式下高电平有效。将Reset信号接到S3C2410的系统复位信号nReset。(本文转自电子工程世界:/mcu/2012/0321/article_8141.html)4 系统软件构成目前, 在PC机DOS/Windows的管理下, 广泛使用的是FAT12、FAT16 和FAT32 文件系统,FAT12一般用于软盘, FAT16 和FAT32 则用于硬盘。本系统采用FAT32文件系统。 FAT文件系统的卷由4个基本的区组成,它们在卷中的排列顺序如下:0保留区(引导区);1FAT区;2根目录区(FAT32中存在的是浮动的FDT表);3文件和目录数据区。FAT卷中第1个重要的数据结构BPB(BIOS Parameter Block),它位于卷的保留区内第1个扇区中,BPB参数块记录着分区的起始扇区、结束扇区、文件存储格式、硬盘介质描述符、根目录大小、FAT个数, 分配单元大小等重要参数。文件分配表FAT,从逻辑1扇区开始, 它是文件管理系统用来给每个文件分配磁盘物理空间的表格, FAT文件分配表由表标识和簇映射的集合组成, 一个完全相同的镜像副本连续存储在主FAT表后, FAT的全部目的就是跟踪文件, 具体描述即需要说明整个磁盘分区中的每个存储单元(簇) 的使用情况、文件数据的簇存储情况(连续或碎片) 以及树型目录结构的描述。FAT实际上就是一个卷中所有簇使用情况的映射表, 每个文件、目录都同表中的若干项对应联系, 并在目录中进行索引。FAT之后就是根目录, 记录整个磁盘上所有文件的有用信息, 其中每一个文件占32个字节, 包括文件名、文件属性、文件的修改时间和文件的长度等等。根目录接下来是数据区, 用来存储采集的数据等信息。在CF卡上进行文件读写操作过程如下:CF卡读写以扇区为单位,每扇区为512字节,每次可读写一个或多个连续的扇区。在CF卡读写时,分别向扇区计数、扇区号、低柱面、高柱面、选择卡磁头寄存器写入CF卡需要访问的扇区位置,其写入模式有2种:即 CHS(CylinderHeadSector)模式和LBA(Logical Block Address)模式。通过设置选择卡磁头寄存器的第6位LBA确定其模式:即如果LBA=0,则为CHS模式;如果LBA=I,则为LBA模式。本设计采用LBA寻址方式访问CF卡数据。S3C2410对CF卡读扇区数据时首先分别向扇区计数、扇区号、低柱面、高柱面、选择卡磁头寄存器写入相应的数据指定需要读写的扇区;再向命令寄存器写20H,读取状态字为58H后读取数据;最后读取命令寄存器的状态字,如果为50H表示没有错误, CF卡进入待命状态。S3C2410对CF卡向指定扇区写数据的命令是30H,其操作与读数据相似,只不过在写入数据后要等到CF卡中数据稳定并进入空闲状态才能结束这一过程。通过对CF卡写入命令ECH就可以读出1个扇区,其中包含了该CF卡的一些参数的信息,如容量、默认的柱面数、默认的磁头数、每个扇区的字节数、每个磁道的扇区数和CF卡上总的扇区数等,以此来判断是否需要格式化CF卡。在格式化后的CF卡中,具有FAT文件系统结构。FAT32文件系统在CF卡上工作时,首先初始化文件系统;再建立一个目录;然后读/写 一个文件;接着删除这个文件和目录;最后关闭文件系统。 /初始化文件系统DiskInit(); /初始化逻辑盘信息管理模块AddFileDriver(CFCammand); /加载CF卡底层驱动程序FileInit(); /初始化文件指针系统 /建立一个目录ChangeDrive(“a:”); /改变当前逻删除一个底层驱动程序辑盘MakeDir(“dir2.dir”); /建立目录ChangDir(“a:dir2”); /改变当前目录 /读/写一个文件FHandle = FileOpen(“a.txt”,w”); /以指定方式打开文件If (FHandle != Not_Open_FILE) FileSeek(FHandle,0,SEEK_END); /移动文件读/写位置 FileWrite(S,6, FHandle); /写文件 FileClose(FHandle); /关闭指定文件 FHandle = FileOpen(“a.txt”,r”); If (FHandle != Not_Open_FILE) FileSeek(FHandle,0,SEEK_END); FileRead(buf,6, FHandle2); FileClose(FHandle); (本文转自电子工程世界:/mcu/2012/0321/article_8141_2.html)/删除这个文件、目录,最后关闭文件系统RemoveFile(S); /删除文件ChangeDir(“a:”); /改变当前目录RemoveDir(“dir2”); /删除目录RemoveFileDriver(GetDrive(“a”); /GetDrive(“a”)获取指定目录的逻辑盘号 / RemoveFileDriver删除一个底层驱动程序5 结论按照FAT32文件格式,在S3C2410的应用系统中,实现了基于CF 卡的基本文件系统功能,如读写、创建、删除和复制文件,创建、打开和删除子目录以及返回上级目录等,且能与其他支持FAT32的系统交互信息。该系统可以很方便地进行存储容量的扩展, 而且耗电量低, 满足了长期大量数据存储的要求, 存储的文件与现在广泛使用的windows操作系统兼容, 更加方便了高速采样等场合的数据采集和回放分析。系统的扩展性强, 可以很方便地应用在各种工业现场以及小型便携式嵌入式系统中, 在数据采集存储方面更加灵活、稳定, 摆脱了操作系的限制。本论文的创新点:介绍了一种不依赖于商用操作系统而按照FAT32格式实现的基于S3C2410的CF卡标准文件系统,使得CF卡中存储的信息能从PC机上读取出来。参考文献1 李昊,王跃科,周睿,潘仲明.CF卡在大容量数据存储系统的典型应用 J .微计算机信息,2005,11-1:6668. 2 毛晓燕.基于8051的CF卡文件系统实现 J . 自动化仪表, 2003, 24 (6) : 23 37.3 姚放君.嵌入Compact Flash卡接口设计 J . 计算机应用研究, 2003,(6) : 225 227.4 田泽.嵌入式系统开发与应用教程M.北京:北京航空航天大学出版社.2005.3(本文转自电子工程世界:/mcu/2012/0321/article_8141_3.html)关于FAT数据格式在推出FAT32文件系统之前,通常PC机使用的文件系统是FAT16。像基于MS-DOS,Win 95等系统都采用了FAT16文件系统。在Win 9X下,FAT16支持的分区最大为2GB。我们知道计算机将信息保存在硬盘上称为“簇”的区域内。使用的簇越小,保存信息的效率就越高。在FAT16的情况下,分区越大簇就相应的要增大,存储效率就越低,势必造成存储空间的浪费。并且随着计算机硬件和应用的不断提高,FAT16文件系统已不能很好地适应系统的要求。在这种情况下,推出了增强的文件系统FAT32。同FAT16相比,FAT32主要具有以下特点: 1. 同FAT16相比FAT32最大的优点是可以支持的磁盘大小达到2TB(2047GB),但是不能支持小于512MB的分区。基于FAT32的Win 2000可以支持分区最大为32GB;而基于 FAT16的Win 2000支持的分区最大为4GB。 2. 由于采用了更小的簇,FAT32文件系统可以更有效率地保存信息。如两个分区大小都为2GB,一个分区采用了FAT16文件系统,另一个分区采用了FAT32文件系统。采用FAT16的分区的簇大小为32KB,而FAT32分区的簇只有4KB的大小。这样FAT32就比FAT16的存储效率要高很多,通常情况下可以提高15%。 3. FAT32文件系统可以重新定位根目录和使用FAT的备份副本。另外FAT32分区的启动记录被包含在一个含有关键数据的结构中,减少了计算机系统崩溃的可能性。 NTFS文件系统 NTFS文件系统是一个基于安全性的文件系统,是Windows NT所采用的独特的文件系统结构,它是建立在保护文件和目录数据基础上,同时照顾节省存储资源、减少磁盘占用量的一种先进的文件系统。使用非常广泛的Windows NT 4.0采用的就是NTFS 4.0文件系统,相信它所带来的强大的系统安全性一定给广大用户留下了深刻的印象。Win 2000采用了更新版本的NTFS文件系统NTFS 5.0,它的推出使得用户不但可以像Win 9X那样方便快捷地操作和管理计算机,同时也可享受到NTFS所带来的系统安全性。 NTFS 5.0的特点主要体现在以下几个方面: 1. NTFS可以支持的分区(如果采用动态磁盘则称为卷)大小可以达到2TB。而Win 2000中的FAT32支持分区的大小最大为32GB。 2. NTFS是一个可恢复的文件系统。在NTFS分区上用户很少需要运行磁盘修复程序。NTFS通过使用标准的事物处理日志和恢复技术来保证分区的一致性。发生系统失败事件时,NTFS使用日志文件和检查点信息自动恢复文件系统的一致性。 3. NTFS支持对分区、文件夹和文件的压缩。任何基于Windows的应用程序对NTFS分区上的压缩文件进行读写时不需要事先由其他程序进行解压缩,当对文件进行读取时,文件将自动进行解压缩;文件关闭或保存时会自动对文件进行压缩。 4. NTFS采用了更小的簇,可以更有效率地管理磁盘空间。在Win 2000的FAT32文件系统的情况下,分区大小在2GB8GB时簇的大小为4KB;分区大小在8GB16GB时簇的大小为8KB;分区大小在16GB32GB时,簇的大小则达到了16KB。而Win 2000的NTFS文件系统,当分区的大小在2GB以下时,簇的大小都比相应的FAT32簇小;当分区的大小在2GB以上时(2GB2TB),簇的大小都为4KB。相比之下,NTFS可以比FAT32更有效地管理磁盘空间,最大限度地避免了磁盘空间的浪费。 5. 在NTFS分区上,可以为共享资源、文件夹以及文件设置访问许可权限。许可的设置包括两方面的内容:一是允许哪些组或用户对文件夹、文件和共享资源进行访问;二是获得访问许可的组或用户可以进行什么级别的访问。访问许可权限的设置不但适用于本地计算机的用户,同样也应用于通过网络的共享文件夹对文件进行访问的网络用户。与FAT32文件系统下对文件夹或文件进行访问相比,安全性要高得多。另外,在采用NTFS格式的Win 2000中,应用审核策略可以对文件夹、文件以及活动目录对象进行审核,审核结果记录在安全日志中,通过安全日志就可以查看哪些组或用户对文件夹、文件或活动目录对象进行了什么级别的操作,从而发现系统可能面临的非法访问,通过采取相应的措施,将这种安全隐患减到最低。这些在FAT32文件系统下,是不能实现的。 6. 在Win 2000的NTFS文件系统下可以进行磁盘配额管理。磁盘配额就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年医疗护理技术试题及答案
- 公积金抵押协议书范本
- 人力职业服务合同范本
- 兄弟合伙建房合同范本
- 健身器械转卖合同范本
- 公共装饰设计合同范本
- 冷菜摊车转让合同范本
- 内部承包人协议书范本
- 全民健身中心合同范本
- 企业团购送菜合同范本
- 慢性肾炎课件
- 学习解读《水利水电建设工程验收规程》SLT223-2025课件
- 中国沈阳铁路局劳动合同8篇
- 特种设备风险分级管控清单(起重机)
- 医师多点执业劳务协议书(参考格式)
- QC080000有害物质管理评审报告
- 10000中国普通人名大全
- USP31-621色谱法-中文译稿
- 妊娠期糖尿病运动指导课件
- 清洁生产PPT课件
- 临床基因扩增检验实验室核酸扩增及产物分析标准操作程序
评论
0/150
提交评论