您的位置 首页 嵌入式

ATmega128L单片机的Micro SD卡读写

引言随着工业控制系统功能的增强,系统对于存储介质的安全、容量、性能的要求越来越高。MicroSD卡是在SD卡和MiniSD卡基础上发展起来的

导言

跟着工业操控体系功用的增强,体系关于存储介质的安全、容量、功能的要求越来越高。Micro SD卡是在SD卡和Mini SD卡基础上发展起来的一种多功用存储卡,具有串行和随机存取才能,能够经过专用优化速度的串行接口拜访,数据传输牢靠,安全性好,传输速度快,存储容量大,体积小,被列为现在全球最小的迷你存储卡。Micro SD卡支撑SD形式和SPI形式。跟着高功能单片机的功能不断提高,运用高功能、低功耗的AVR8位ATmegal28L单片机的串行外设接口SPI与Micro SD卡之间进行高速同步数据传输,规划开发了一种嵌入式文件体系。

1 硬件电路规划

MicrO SD卡的接口能够支撑两种操作形式:SD形式和SPI形式。主机体系能够挑选其间任一形式。SD卡形式答应4线的高速数据传输,传输速率高,可是大部分单片机无此接口,运用软件模仿协议杂乱。SPI形式运用简略通用的SPI通道接口就可完结数据传输,现在大多数单片机供给SPI接口。SPI形式的优势在于能够运用标准主机,从而把外设削减到最低。SPI形式相关于SD形式的缺陷是丢失了传输速度;可是现在的微处理器的处理速度越来越高,运用SPI形式大都能满意工程需求。

Micro SD卡要求用全双工、8位的SPI操作。

ATmegal28L单片机和Micro SD卡之间只需求4根信号线就能够完结数据的读写,当CS信号线为低电平时,主机开端一切的总线传输。数据从单片机的MOSI引脚同步输入Micro SD卡的DI引脚,并由Micro SD卡的DO线同步输入单片机的MISO引脚,数据在CLK信号的上升沿同步输入和输出。在每个数据传输的结束还有必要供给8个额定的时钟,以答应 Micro SD卡完结任何未完结的操作。由于Micro SD卡的电压为3.3 V,所以挑选需求支撑3.3 V的I/O端口输出的ATmegal28L单片机。别的,运用SPI形式时,为了避免在无卡接人或卡驱动器呈高阻态时总线悬空,依据SD卡标准,这些信号需求在主机端用10 kQ~100 kΩ的上拉电阻,其硬件衔接电路如图1所示。

2 软件规划

2.1 Micro SD卡初始化为SPI总线形式

ATmegal28L单片机包括一个串行外设接口SPI,能够便利地对Micro SD卡接口进行装备。为了装备时钟和数据长度,需求对SPI操控寄存器SPCR和SPI状况寄存器SPSR进行设置:使能SPI,挑选单片机为主机形式,时钟上升沿锁存数据,而且对SPI时钟进行设置。Micro SD卡的SPI形式通讯由主机操控。每一个指令或数据块由8位的字节和CS标志构成,SPI通讯由指令、呼应和数据组成。主机先将Micro SD卡的片选CS置低,激活MicroSD卡进人作业状况。

刚上电时,Micro SD卡缺省运用专有的SD总线协议。将Micro SD卡切换到SPI形式,主机需求宣布指令(2MD0(GO_IDLE_STATE)。Micro SD卡会检测到SPI形式挑选信息,由于卡挑选(CS)引脚在该指令和其他一切SPI指令传送进程中都坚持为低电平。Micro SD卡以R1作为呼应。闲暇状况位被置为高电平,此刻Micro SD卡进入闲暇状况,此阶段的SPI时钟频率不能超过400kHz(将SPCR寄存器设置为0x53)。Micro SD卡进入SPI形式后,主机应该先发一条初始化指令CMD1。此刻可将SPI频率设置为高速形式(将SPCR寄存器设置为0x50)。然后发送指令 CM1359决议是否敞开CRC校验,设置读、写块数据长度,最终推迟8个时钟后回来。MicroSD初始化流程如图2所示。

2.2 Micro SD卡读写单块数据

从Micro SD卡中读取一个数据块只需求主机发送CMDl7(READl_SINGLE_BLOCK)指令,并将开始地址作为参数(此地址有必要和介质上一个块的开始方位对齐),然后.Micro SD卡会验证这个字节地址,并以一个R1指令作为呼应。完结了Micro SD卡读取操作后,先发送一个开始数据指令,接着发送固定数量的数据,最终是两个字节CRC校验。

从Mimro SD卡中写入一个数据块和读取数据块类似,需求主机发送CMI)24(wRITE_BLOCK)指令发动写操作进程,Micro SD卡将以R1指令呼应格局进行应对。假如指令呼应,则进行写操作,主机发送开始令牌,然后发送固定数量的数据字节(512字节),回来一个数据呼应令牌指示需求写入的数据是否完结,最终是两个字节的CRC校验,读写单块数据流程如图3所示。

2.3 Micro SD卡的文件存储

为了便利ATmegal28L单片机对Micro SD卡中文件进行操作,以及要使Micro sD卡的数据能在PC机上得到正确的拜访,需求在Micro SD卡上创立它们支撑的文件体系,这就需求规划自己的文件办理体系FAT。FAT文件体系有FATl2、FATl6、FAT32,它们的首要不同是在磁盘分配表结构中每个记载所占的位数不同。FAT32文件分配表每一表项为32位。本文挑选树立FAT32文件体系。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/qianrushi/254473.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部