音乐播放器
ESP32- 项目应用1 音乐播放器之sd的驱动配置 #1
文章目录
- 音乐播放器
- 1 sd卡介绍
-
- 1.1 SDCARD介绍
- 1.2 物理结构
- 1.3 协议说明
- 1.4 sd 卡模式
- 1.5 数据模式
- 1.6 sdio 初始化流程
- 1.7 SPI 模式下的 SD 卡初始化
- 2 原理图
-
- 2.1 sd原理图
- 2.2 esp32的接口
- 3 代码配置
-
- 3.1 驱动代码
- 3.2 获取sd大小和体积
1 sd卡介绍
1.1 SDCARD介绍
最适合单片机系统的莫过于 SD 卡了,它不仅容量可以做到很大(32GB 以上),支持 SPI/SDIO 驱动,而且有多种体积的尺寸可供选择(标准的 SD 卡尺寸及 Micro SD 卡尺寸等),能满足不同应用的要求。只需要少数几个 IO 口即可外扩一个高达 32GB 或以上的外部存储器,容量从几十 M 到几十G 选择范围很大,更换也很方便,编程也简单,是单片机大容量外部存储器的首选。
1.2 物理结构
SD 卡的规范由 SD 卡协会明确,可以访问 https://www.sdcard.org 查阅更多标准。SD 卡主要有 SD、Mini SD 和 microSD(原名 TF 卡,2004 年正式更名为 Micro SD Card,为方便本文用microSD 表示)三种类型,Mini SD 已经被 microSD 取代,使用得不多。SD 卡允许了不同的接口来访问它的内部存储单元。最常见的是 SDIO 模式和 SPI 模式,根据这两种接口模式,我们也列出 SD 卡引脚对应于这两种不同的电路模式的引脚功能定义。
SD 卡和 Micro SD 只有引脚和形状大小不同,内部结构类似,操作时序完全相同,可以使用完全相同的代码驱动,下面以 9’Pin SD 卡的内部结构为为例,展示 SD 卡的存储结构。
1.3 协议说明
一个完整的 SD卡操作过程是:主机(单片机等)发起“命令”,SD卡根据命令的内容决定是否发送响应信息及数据等,如果是数据读/写操作,主机还需要发送停止读/写数据的命令来结束本次操作,这意味着主机发起命令指令后,SD 卡可以没有响应、数据等过程,这取决于命令的含义。
SD 卡的命令固定为 48 位,由 6 个字节组成,字节 1 的最高 2 位固定为 01,低 6 位为命令号(比如 CMD16,为 10000B即 16进制的 0X10,完整的 CMD16,第一个字