552.基于51处理器的文件系统设计【单片机 毕业设计】.doc
《552.基于51处理器的文件系统设计【单片机 毕业设计】.doc》由会员分享,可在线阅读,更多相关《552.基于51处理器的文件系统设计【单片机 毕业设计】.doc(53页珍藏版)》请在三一办公上搜索。
1、毕 业 设 计基于51处理器的文件系统设计 指导教师 XX 副教授学院名称工程学院 专业名称电子信息工程论文提交日期2010年05月 论文答辩日期年 月答辩委员会主席 _评 阅 人 _摘 要消费类的电子产品已经越来越普及,同时人们对于不同设备的存储容量的要求也逐渐提高,而SD内存卡是创新、不断改进的桥接媒体,推动未来的数码世界。高性能产品若有SD内存卡,消费者就能以可靠、使用轻松的方式,快速拍摄视频、相片、及声音SD内存卡有标准格式与大容量格式,而且有各种速度等级。SD内存卡具备必要的广泛可交互性与兼容性,确保其应用会延续到未来。本文分析了基于STC89C51系列单片机对SD卡的读写操作并分析
2、了FAT16文件系统的原理,给出了一种基于高速、低功耗、超强抗干扰的新一代STC89C51系列单片机的SD卡读写方法,该方法利用I/O口模拟SPI总线与SD卡相连,从而实现了对SD卡的数据读写,并在SD卡上实现了FAT16文件系统的部分功能,通过串口连接到电脑,在超级终端中对SD卡进行操作。本系统最终实现了文件的创建、删除、显示,由于51单片机的处理能力不足,在实际应用中可采用处理能力更强的ARM核心的32为处理器以提高数据的处理能力。关键词: 电子产品 SD卡 FAT16 串口目 录1 前言11.1 选题背景11.1.1 SD卡现状11.1.2 研究意义21.2 论文主要工作22 FAT16
3、文件系统分析22.1 FAT16组织形式22.1.1 MBR扇区32.1.2 DBR区42.1.3 FAT表62.1.4 FDT区72.1.5 DATA区92.1.6 剩余扇区92.2 FAT16存储原理93 电路设计113.1 系统的整体组成113.1.1 STC89C516的最小系统113.1.2 供电电路133.1.3 拓展静态存储器133.1.4 单片机与SD卡的连接143.1.5 人机交互接口154 软件设计164.1 SD卡工作模式164.2 命令与数据传输174.3 SD卡的初始化184.4 数据块的读写204.5 读取FAT16文件系统参数234.6 FAT16文件系统的实现2
4、34.6.1 文件的显示234.6.2 文件的创建和删除245 系统测试255.1 系统调试的大致步骤255.2 调试问题分析255.3 测试结果255.3.1 文件的显示255.3.2 创建文件及文件夹275.3.3 删除文件296 结束语31致谢32参考文献33英文摘要34附录35华南农业大学本科专业毕业设计成绩评定表1 前言1.1 选题背景1.1.1 SD卡现状随着手机、数码相机、数码摄像机、电子辞典等众多数码产品的不断普及,与它们息息相关的信息存储设备也受到了消费者越来越多地关注,而SD卡以其体积小、功耗低、高可靠性、可擦写、非易失性等优点成为其中最为闪亮的主流存储媒介之一,同时,伴随
5、着价格的不断下降和存储容量的不断增高,在生产与生活中得到了越来越广泛的应用。SD卡(Secure Digital Memory Card)是由日本松下、东芝和美国的SanDisk公司三家联合于1998年8月共同研制开发的。大小犹如一张邮票,重量只有2克,但却拥有高记忆容量、快速数据传输率、极大的移动灵活性以及很好的安全性等诸多优点。SD卡在24mm32mm2.1mm的体积内整合了SanDisk快闪记忆卡控制与MLC(MultilevelCell)技术和东芝0.16u及0.13u的NAND技术,通过9针的接口界面与专门的驱动器相连接,不需要额外的电源来保持其上记忆的信息。而且它是一体化固体介质,
6、没有任何移动部分,所以不用担心机械运动的损坏。SD卡发展至今主要分为三大类:标准版本(SD、miniSD、microSD)、大容量版本(SDHC、miniSDHC、microSDHC)、和SDIO卡。其中mini型和micro型是在原有的SD基础上加以改进而使体积逐渐减小。miniSD卡的开发是为了符合行业对小型移动电话的持续需求。miniSD卡的大小仅是SD卡的37%,但小小一张卡却具备所有的存储能力、速度、及其它优点,还有版权保护。把miniSD卡插入miniSD适配器后,就能在启用标准SD卡的产品之间共享各种数码数据。而2007年10月,一种可移动存储能力比以往更强大SDHC(SD Hi
7、gh-Capacity)卡技术出现了,它的容量范围从4GB至32GB,开发人员能选择指定有保证最低数据速率的三种数据写入速度,SD协会针对标准卡与大容量卡以及两种主机产品的最低数据传输,制定了新的规格分级。有了新的速度等级规格,主机产品就能检查卡中的零碎状态,并计算卡中每个部分的写入速度。因此,主机可根据速度需求,确定要在哪里写入数据。三种SDHC速度等级(等级2、等级4、等级6)每秒分别可传输至少2MB、4MB、6MB的数据,而其它具体特性与标准版本类似,但其容量明显增大,都在4.32G以上。少量此类产品在2008年上半年开始问市。另外,SD标准有很大的弹性,在具体应用中,SD卡可以通过整合
8、特定接口插槽以适应特定的应用,这就是第三种版本SDIO卡,SDIO卡是一种界面,借由使用标准SD卡插槽来扩展设备的功能,让设备拥有新的功能。例如:GPS、相机、Wi-Fi、调频广播、以太网、条形码读卡器、Bluetooth等。1.1.2 研究意义SD卡及后续的SDHC目前已经成了数码产品中实质上的通用标准。现在,其推广者希望扩展SD卡的使用范围。SD卡协会(SDA)于2008年9月11日在美国加里福尼亚圣拉蒙宣布了嵌入式SD标准,在同年11月正式进入嵌入式存储市场。应用该标准,手机、数码产品甚至各种输入输出外设在需要内置存储空间时,都可以直接使用标准的SDHC接口规范,嵌入最高32GB闪存。再
9、通过传统的外置SD卡接口,还可继续增加32GB的SDHC卡移动存储。嵌入式SD规范定义了新的嵌入式机械和电气结构框架,扩展了下一代移动手持设备和消费电子设备市场需求,为大容量的嵌入式数据存储和快速处理提供了新的解决方案。对于数码产品的设计者来说,这样的标准可以大大简化他们在设计存储系统时的工作,有助于降低开发成本,并缩短开发时间。据专家分析,miniSD和microSD为移动手持设备的可移动存储卡的主流接口,占据了主要的市场份额,“预计2010年在移动手持设备的中占所有存储卡类的90左右。”全球著名电子制造领域市场研究公司isuppli的资深分析员兼公司理事Nam Hyung Kim说。新的嵌
10、入式SD标准将定位于带有闪存管理、自启动功能的低功耗消费类移动手持存储设备。因此,针对带有SD功能的产品的研发成了其必不可少的步骤,而SD协议又提供了程序化的开发标准,所以对其功能的实现的研究也可以在以后诸多涉及到其功能的产品中起到一定的软件复用的作用。1.2 论文主要工作本文介绍了STC89C516单片机在SPI协议下与SD卡的硬件接口电路,然后简要阐述了SPI总线模式以及软件模拟的SPI总线数据通讯,给出了SD卡的初始化和读写操作的软件流程,实现了对SD卡的扇区读写。分析了FAT16文件系统的原理,编程实现了FAT16文件系统的基本功能。最后验证了其功能的正确性,并总结了本方案存在的缺陷和
11、需进一步解决的问题。2 FAT16文件系统分析2.1 FAT16组织形式FAT16是Microsoft较早推出的文档系统,具备高度兼容性,现在仍然广泛应用于个人电脑尤其是移动存储设备中,FAT16简单来讲由MBR、DBR、FAT1、FAT2、FDT、数据区、剩余扇区等部分组成,下面来分析各组成部分。2.1.1 MBR扇区MBR(master boot record),即主引导记录,有时也称主引导扇区。位于整个硬盘的0柱面0磁头1扇区(可以看作是硬盘的第一个扇区)。在总共512byte的主引导记录中,MBR的引导程序占了其中的前446个字节(偏移0H偏移1BDH),随后的64个字节(偏移1BEH
12、偏移1FDH)为DPT(Disk PartitionTable,硬盘分区表),最后的两个字节“55 AA”(偏移1FEH偏移1FFH)是分区有效结束标志。操作系统为了便于用户对磁盘的管理。加入了磁盘分区的概念。即将一块磁盘逻辑划分为几块。磁盘分区数目的多少只受限于CZ的英文字母的数目, DPT共64个字节中如何表示多个分区的属性呢?microsoft通过链接的方法解决了这个问题。在DPT共64个字节中,以16个字节为分区表项单位描述一个分区的属性。也就是说,第一个分区表项描述一个分区的属性,一般为基本分区。第二个分区表项描述除基本分区外的其余空间,一般而言,就是通常所说的扩展分区。这部分的大体
13、说明见表1。表1 分区字段的含义字节位移字段长度字段名和定义0x01BEBYTE引导指示符(Boot Indicator)指明该分区是否是活动分区。0x01BFBYTE开始磁头(Starting Head)0x01C06位开始扇区(Starting Sector) 只用了05位。后面的两位(第6位和第7位)被开始柱面字段所使用0x01C110位开始柱面(Starting Cylinder)除了开始扇区字段的最后两位外,还使用了1位来组成该柱面值。0x01C2BYTE系统ID(System ID) 定义了分区的类型0x01C3BYTE结束磁头(Ending Head)0x01C46位结束扇区(E
14、nding Sector)只使用了05位。最后两位(第6、7位)被结束柱面字段所使用0x01C510位结束柱面(Ending Cylinder) 除了结束扇区字段最后的两位外,还使用了1位,以组成该柱面值。0x01C6DWORD本分区之前已用扇区数0x01CADWORD总扇区数(Total Sectors) 该分区中的扇区总数对于格式化成FAT16文件系统的SD卡而言,一般只有一个分区,SD卡也不像硬盘那样利用磁头、柱面等来进行读写数据,故只需关心偏移地址为0x01c6处的四个字节,该处记录了本分区之前已用扇区数,也即MBR的起始地址,分析MBR扇区的内容即可知道DBR的起始地址。2.1.2
15、DBR区DBR区(DOS BOOT RECORD)即操作系统引导记录区的意思,通常占用分区的第0扇区(逻辑扇区)共512个字节(特殊情况也要占用其它保留扇区,我们先说第0扇)。在这512个字节中,其实又是由跳转指令,厂商标志和操作系统版本号,BPB(BIOS Parameter Block),扩展BPB,os引导程序,结束标志几部分组成。其字段含义见表2表4。表2 一个FAT16分区上的引导扇区段字节位移字段长度(字节)字段名称0x003跳转指令(Jump Instruction)0x038OEM ID0x0B25BPB0x2426扩展BPB0x3E448引导程序代码(Bootstrap Co
16、de)0x01FE4扇区结束标识符(0x55AA)表3 FAT16分区的BPB字段字节位移长度(字节)名称和定义0x0B2扇区字节数(Bytes Per Sector) 硬件扇区的大小。本字段合法的十进制值有512、1024、2048和4096。对大多数磁盘来说,本字段的值为5120x0D1每簇扇区数(Sectors Per Cluster) 一个簇中的扇区数。0x0e2保留扇区数(Reserved Sector) 第一个FAT开始之前的扇区数,包括引导扇区。本字段的十进制值一般为10x101FAT数(Number of FAT)该分区上FAT的副本数。续表3 FAT16分区的BPB字段字节位
17、移长度(字节)名称和定义0x112根目录项数(Root Entries) 能够保存在该分区的根目录文件夹中的32个字节长的文件和文件夹名称项的总数。在一个典型的硬盘上,本字段的值为512。其中一个项常常被用作卷标号(Volume Label),长名称的文件和文件夹每个文件使用多个项。文件和文件夹项的最大数一般为511,但是如果使用的长文件名,往往都达不到这个数0x132小扇区数(Small Sector) 该分区上的扇区数,表示为16位(65536)。对大于65536个扇区的分区来说,本字段的值为0,而使用大扇区数来取代它0x151媒体描述符( Media Descriptor)提供有关媒体被
18、使用的信息。值0xF8表示硬盘,0xF0表示高密度的3.5寸软盘。媒体描述符要用于MS-DOS FAT16磁盘,在Windows 2000中未被使用0x162每FAT扇区数(Sectors Per FAT) 该分区上每个FAT所占用的扇区数。计算机利用这个数和FAT数以及隐藏扇区数来决定根目录在哪里开始。计算机还可以根据根目录中的项数(512)决定该 分区的用户数据区从哪里开始0x182每道扇区数(Sectors Per Trark) 0x1A2磁头数(Number of head) 0x1C4隐藏扇区数(Hidden Sector) 该分区上引导扇区之前的扇区数。在引导序列计算到根目录和数据
19、区的绝对位移的过程中使用了该值0x204大扇区数(Large Sector) 如果小扇区数字段的值为0,本字段就包含该FAT16分区中的总扇区数。如果小扇区数字段的值不为0,那么本字段的值为0表4 FAT16分区的扩展BPB字段字节位移长度(字节)字段名称和定义0x241物理驱动器号( Physical Drive Number) 与BIOS物理驱动器号有关。软盘驱动器被标识为0x00,物理硬盘被标识为0x80,而与物理磁盘驱动器无关。一般地,在发出一个INT13h BIOS调用之前设置该值,具体指定所访问的设备。只有当该设备是一个引导设备时,这个值才有意义0x251保留(Reserved)
20、FAT16分区一般将本字段的值设置为00x261扩展引导标签(Extended Boot Signature) 本字段必须要有能被Windows 2000所识别的值0x28或0x290x272卷序号(Volume Serial Number) 在格式化磁盘时所产生的一个随机序号,它有助于区分磁盘0x2B11卷标(Volume Label) 本字段只能使用一次,它被用来保存卷标号。现在,卷标被作为一个特殊文件保存在根目录中0x368文件系统类型(File System Type) 根据该磁盘格式,该字段的值可以为FAT、FAT12或FAT16对于该扇区,只需关注偏移0x0b处两个字节(每扇区字节
21、数),偏移0x0d处一个字节(每簇扇区数),偏移0x0e处两个字节(保留扇区数)和偏移0x16处两个字节(每fat表所占扇区数)的内容即可,这些地方的数据与FAT的起始位置、FDT的起始位置有关。在上述FAT文件系统DBR的偏移0x0E处,用2个字节存储保留扇区的数目。所谓保留扇区(有时候会叫系统扇区,隐藏扇区),是指从分区DBR扇区开始的仅为系统所有的扇区,包括DBR扇区。在FAT16文件系统中,保留扇区的数据通常设置为1,即仅仅DBR扇区。2.1.3 FAT表文件分配表FAT(File Allocation Table),是fat文件管理系统用来记录每个文件的存储位置的表格,它以链的方式存
22、放簇号。FAT紧接着dbr引导扇区存放。磁盘上有两个fat,一个是基本表,另一个是备份。两个表的长度和内容相同。每个fat所占用的扇区数取决于操作系统、分区大小、每簇的扇区数等因素。磁盘格式化后,用户文件以簇为单位存放在数据区中,一个文件至少占用一个簇。当一个文件占用多个簇时,这些簇的簇号不一定是连续的,但这些簇号在存储该文件时就确定了顺序,即每个文件都有其特定的“簇号链”。磁盘上的每一个可用的簇在fat中有且只有一个登记项,通过在对应簇号的登记项内填入“表项值”来表明数据区中的该簇是已占用、空闲或是坏簇三种状态之一。在fat表中,簇编号也是登记项编号。每一个登记项作为一个簇的标志信息占用一定
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 毕业设计 552.基于51处理器的文件系统设计【单片机 毕业设计】 552. 基于 51 处理器 文件系统 设计 单片机 毕业设计
链接地址:https://www.31ppt.com/p-2392404.html