资源描述:
《基于at89s52和fat16的sd卡读写系统设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、APPLICATIONNOTES应用天地基于AT89S52和FAT16的SD卡读写系统设计u山东大学张恒采用SD卡的SPI通信模式,用单片机编程模拟SPI总线时序,实现AT89S52对SD卡的读写。利用晶体管加下拉电阻的方法实现SD卡与AT89S52的电平匹配。介绍了SD卡接口规范,SD卡SPI接口时的指摘要令与响应时序。详细介绍了FAT16文件系统的文件组织与存储原理,以及SD卡指令结构。研究了软件模拟SPI接口时序的编程实现,给出了软件模拟SPI接口的汇编代码,以及单片机读写SD卡和读写FAT16文件系统的软件流程。关键
2、词FAT16SD卡SPIAT89S5251单片机模式。虽然AT89S52也没有集成SPI接口模块,但可以引言用软件的方式模拟SPI接口时序。长期以来,闪存卡(SD卡、MMC卡等)因其体积小、另外一个要解决的问题是SD卡与AT89S52的电平功耗低、容量大和非易失性等特点,在嵌入式存储领域的匹配。SD卡的逻辑电平相当于3.3V的TTL电平标准,应用越来越广泛。特别是近年来,随着闪存技术的发展,AT89S52的逻辑电平为5VCMOS电平。闪存卡价格不断下降且存储容量不断提高。当数据采集解决电平匹配问题的原则有2条:一为输出电平器
3、件系统需要长时间地采集和记录海量数据时,应用SD卡作输出的高电平的最小值,应该大于接收电平器件识别为高为存储介质是很好的选择,例如电能检测、温度湿度检测、电平的最低电压值;另一条为输出电平器件输出低电平的最大电压值,应该小于接收电平器件识别为低电平的最高病人心肺数据记录等。FAT16文件系统是Microsoft公电压值。司在其MS-DOS操作系统中采用的文件系统,具有出色考虑到SD卡在SPI工作模式下,数据的传输都是单向的文件管理性能,能被当前大多数操作系统识别。因此,的,这样可以在单片机向SD卡传输数据时采用晶体管加将SD
4、卡与FAT16文件系统相结合是嵌入式数据存储、下拉电阻的方法,基本电路如图1所示。而在SD卡向单片记录系统的理想方案,可以将采集记录的数据直接在PC机传输数据时可以采用直接连接,因为它们之间的电平刚上读取和处理。本文研究和设计了基于AT89S52单片机好满足上述的电平兼容原则,既经济又实用。这个方案需和FAT16文件系统的SD卡读写系统。要双电源供电,1个5V电源,1个3.3V电源。1系统方案介绍2AT89S52与SD卡接口电路设计本系统采用MCS-51架构的AT89S52单片机。2.1SD卡接口规范[1]AT89S52是一
5、种低成本、低功耗、高性能的CMOS8位微SD卡工作在2.7~3.6V电压下,图2是普通SD卡控制器,具有8KB在系统可编程Flash存储器。应用AT89S52读写SD卡,首先要确定它们之间的通信方案。SD卡有2种可选的通信协议:SD模式和SPI模式。SD模式是SD卡的标准读写方式,选用此模式需要选择带SD卡控制接口的MCU或者额外的SD卡控制单元;SPI模式通过SPI总线完成SD卡与主控制器的通信。AT89S52没有集成SD卡控制器,为了不增加额外的SD图1电平转换电路图2SD卡结构示意图卡控制单元硬件成本,本设计方案采用S
6、D卡的SPI通信paper@mesnet.com.cn(投稿专用)2009年第8期Microcontrollers&EmbeddedSystems53应用天地APPLICATIONNOTES的结构示意图和引脚排列图,表1列出了各引脚在SPI模的DPT只有1个分区表项被占用。系统引导记录区式下的定义和功能描述。主机与SD卡之间通过指令来(DOSBootRecord,DBR)位于磁盘逻辑分区的第0扇区,实现交互。是操作系统可以访问的第1个扇区,它其中包含1个称为2.2接口电路设计BPB(BiosParameterBlock)的本
7、分区参数记录表。BPB记录着本分区的根目录大小、FAT个数、磁盘介质描述、AT89S52内有分配单元大小等重要参数。256字节的RAM,表1SPI模式下SD卡引脚定义DBR之后是FAT(FileAllocationTable,文件分配记由于SD卡数据的引脚号名称描述录表),记录文件在磁盘上的存储位置。在Windows系统读出与写入是以块1CS片选,负有效中,文件存储的单位是簇而不是字节,1个文件不是连续为单位的,而每块为2DI数据输入地存放于磁盘的某一区域,而往往分成若干段,像链子一512字节,所以需要3VSS1电源地样存放
8、。FAT表记录了每个文件的起始簇号、后继簇号在单片机的最小系4VCC供电电压和终止簇号。FAT表中的每个表项对应数据存储区中的统上扩展1片5CLK时钟1个簇,由于FAT表对文件管理的重要性,FAT表有1个RAM。本系统选用6VSS2电源地备份。的RAM芯片为7DO数据输出DIR是根目录区,