基于STM32的microSD卡数据读写技术研究

基于STM32的microSD卡数据读写技术研究[20200406143822]
摘 要
随着嵌入式技术的发展,各类嵌入式设备对数据存储容量和速度的要求日益提高。在各类存储设备中,因SD卡拥有存储的空间较大、数据传输的速度较快、安全稳定性好等特点,所以人们在近年来广泛应用它。在此基础上发展而来的micro SD卡,体积更小,与SD卡遵循相同的协议,支持SPI模式和SD模式的数据传输。其中,SD模式具有更高的传输速率。因此,本课题研究的是在STM32开发板上实现SDIO接口与micro SD卡之间的高速同步数据传输。通过对micro SD卡硬件接口规范、SD模式下数据传输方式的深入理解,基于STM32开发板编写驱动程序,实现了对micro SD卡的基本数据读写功能;同时,进一步研究移植了符合FAT文件系统规范的FATFS小型文件系统,实现了文件系统下的SD卡数据读写。
 *查看完整论文请 +Q: 3 5 1 9 1 6 0 7 2 
关键字:STM32MicroSD卡SD模式FATFS文件系统
目录
1.绪论 1
1.1 课题背景及意义 1
1.2 SD卡的简介 1
1.3 基于STM32的SD卡的研究内容和主要结构 4
2.基于STM32的SD卡读写硬件方面的研究 5
2.1 STM32开发板的简介 5
2.2 STM32开发板的SDIO接口 6
2.2.1 SDIO 功能及框图 6
2.2.2 SDIO 的时钟 7
2.2.3 SDIO总线拓扑 7
2.3 SD卡的引脚排列顺序 9
2.4 开发板上MICRO SD 卡接口情况 9
3.SD卡软件设计 11
3.1 SDIO工作模式 11
3.2 SD卡的初始化 11
3.3 数据块的读写 13
3.3.1 读操作 13
3.3.2 写操作 14
3.4 FAT文件系统 16
4.调试与结果 17
4.1 SD卡底层操作测试 17
4.2 文件系统测试 18
结束语 19
参考文献(References) 20
致谢 21
1.绪论
1.1 课题背景及意义
在21世纪,人们通过不断地发明创造电子产品使信息的传递及应用变得更加方便快捷。电子类的产品在人类社会活动中占得比重相当的大,而且SD卡是电子产品的重要组成部分。Micro SD Card还有另一个名字叫TF卡。在微型SD 卡被发明之前,生产电子产品的商家们都使用嵌入式记忆体来作为其产品的存储单位,但它的缺点明显为其容量较少不能存放太多的东西。
但随着SD卡被发明,SD卡成为了许多数码产品的应用储存的首选。SD卡具有的特性是不重,体积只有硬币般大小但是存储空间很大、传输数据的速度较快。而STM32具有Cortex-M3 内核。它的功能强大,但制造费用少,消耗的能源也少。在未来的科技中STM32占据的市场会愈来愈大并且在嵌入式系统中应用也越来越广泛。
通过SD卡和STM32的技术结合是一个趋势。所以本文研究的这个课题有着深远的意义和广泛的市场前景。
1.2 SD卡的简介
在1999年,由日本的松下公司、东芝公司及美国的 San Disk 公司共同研发的记忆设备问世,它就是我们现在所说的SD卡[7]。它的体积像一枚硬币,但重量只有几克,别小看它体积小,但它却拥有容量大、数据传输速率快、灵活性强以及安全性好等特点。
现在在MP3,数码相机等许多电子产品中多用SD卡。与MMC卡作比较,它的大小比 MMC 卡厚一点,但存储空间要大很多。SD卡是能够适应时代发展需要的存储设备。MMC卡有七个管脚比安全数码卡少两个,如果电子产品的插口能支持SD卡那么多数情况下也能插MMC 卡。由于SD卡相比其它而言具有随机存取数据的功能,所以在数据传输的过程中能更加有效的存储数据。公司设计SD卡的原因是为创造出一个不太昂贵的、耐用的卡型存储容器。用SD卡来促进多媒体设备的消费情况。SD卡可以存储照相机拍摄相片,网上下载的音乐,自己用数码摄像机拍摄的短片,能够长久的保存且不容易损坏。
图1-1 SD卡的外形
在SD卡的家族中, Mini SD卡由日本和美国的几家公司联合研究并且开发出来。Mini SD卡比普通的SD卡在外形大小上缩小了一倍,但在存储空间上并没有减少。生产厂商可以生产出体积更加小巧的手机,相机来适应消费者的要求。美国San Disk 公司别出心裁的推出了 Mini SD 到 SD卡的转接卡来使消费者能在不同类型的存储卡中切换,可与使用SD卡的多媒体器材共同使用。同时,Mini SD 卡具有很多功能,包括平均读写演算法,自动错误更正等,可以使 Mini SD卡在使用持续时间上更长,能源消耗功率更低[9]。
图1-2 Mini SD卡的外形
但是消费者对于SD卡的要求随着时间的流逝越来越高,他们希望存储介质的安全性更高、容量更大、性能更快。所以随着工业控制系统功能的增强,在SD卡和Mini SD卡的基础上各大公司又发明了一种新的多功能存储卡TF卡,又称Micro SD卡。Micro SD卡是由摩托罗拉公司与 SANDISK 公司一起研究开发的一种超小型迷你存储卡,其大小只有普通SD卡的四分之一,可以看成是目前最小的记忆储存卡。这种记忆卡叫做 Micro SD卡的原因是被 SD 协会所采用,根据其名字而命名的。当然,比起Micro SD卡的前辈们,它的存储空间更大几倍甚至几十倍,能够存储清晰的照片和高清的电影。现在用的最多的还是用于移动手机。未来可能会推出更多的功能,来适应消费者的需要。Micro SD卡的特征包括其易升级性和高设计灵活性,能在较大的温度范围内满足独特的嵌入式应用。
图1-3 Micro SD卡的形状 图1-4 Micro SD卡的转接卡
另外,SD卡的工作模式有两种:第一种SD卡模式;第二种SPI模式;
计算机可以选择两种模式中的一种来与SD卡进行数据传输通信。其中SDIO卡工作模式许可四线的速度较高的数据传输比起SPI模式下只容许通过SPI 通道接口传输数据的速度要快很多。
1.3 基于STM32的SD卡的研究内容和主要结构
本毕业设计是基于STM32开发板就Micro SD卡的软件程序的编写及相关的硬件线路的连接进行研究,分析关于运行软件的具体步骤和硬件操作的步骤。第一步将SD卡插入STM32的SDIO接口,为实现SD卡和STM32之间的数据传输,第二步就是要将SD卡先初始化,将SD卡和STM32之间的关系紧密联系起来。第三步通过STM32对SD卡进行读写操作,使得SD卡能完成数据的查看和存储。
重点研究关于硬件方面和软件方面的以下内容:
1.关于STM32开发板的简单介绍
2.STM32开发板的SDIO接口的相关构成
3.对SDIO工作模式的认知
4.必要的SD卡的初始化所要进行的步骤
5.关于数据块在读写操作方面的应用
6.在传输文件时所要用到的FAT文件系统的研究
完成以上步骤的研究可以理解SD卡的相关协议和STM32开发板的组成。从而实现SD卡和STM32 之间的数据的传输的读写操作。
2.基于STM32的SD卡读写硬件方面的研究
2.1 STM32开发板的简介
STM32开发板是一个具有很多功能的较全面的开发板。它具有基于32位ARM内核的微控制器,是一个有完整的开发环境的开发板。STM32开发板可以帮助使用者评价和估计所有的周边设备使用情况,还可以深入的开发它们的其他的用途,通过一个连接器就可以很容易的连接到一个子板模块上,这么做的目的是使模块能有特殊的用途。
本文采用的开发板的主控制器是STM32F103VET6选用这个处理器的原因有很多,首先它在STM32 系列里,是容量最大的芯片。其次它的体积适中 ,从大型设备到手持设备都适用。最后就是它有一个SDIO 接口。作为一个嵌入式的平台,大容量SD存储是必须考虑的,有了该接口就可以方便地与SD卡进行数据交换,进而可在SD上建立文件系统及实现大容量文件存取。

版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/dzxx/gdxx/371.html

好棒文