今天整理一下F4自带的SDIO接口的使用。
F4 的 SD/SDIO MMC 卡主机接口 (SDIO) 支持多媒体卡( MMC 卡)、 SD 存储卡、 SD I/O 卡和 CE-ATA 设备之间的接口。各种各样的卡大致就分为上述几类卡型,不同的卡型也拥有不同的通信协议,如果要详细了解各类卡的通信协议及相关的约定,可以浏览下面的几个网站:
● 多媒体卡协会网站 www.mmca.org 中提供了由 MMCA 技术委员会发布的多媒体卡系统规范。
● SD 卡协会网站 www.sdcard.org 中提供了 SD 存储卡和 SD I/O 卡系统规范。
● CE-ATA 工作组网站 www.ce-ata.org 中提供了 CE-ATA 系统规范。
F4的SDIO可以十分方便的驱动各类SD卡,它由下面两个部分组成:
● SDIO 适配器块提供特定于 MMC/SD/SD I/O 卡的所有功能,如时钟生成单元、命令和数据传输。
● APB2 接口访问 SDIO 适配器寄存器,并且生成中断和 DMA 请求信号。

从表中可以发现SDIO有三条时钟线:
● PCLK2(APB2总线接口时钟):该时钟用于驱动 SDIO的 APB2总线接口,其频率为 HCLK/2,一般为 84Mhz。
● SDIOCLK (SDIO 适配器时钟):该时钟用于驱动 SDIO 适配器,来自 PLL48CK,一般为48Mhz,并用于产生 SDIO_CK 时钟。
● SDIO_CK(SDIO_CK卡时钟):每个时钟周期在命令和数据线上传输 1 位命令或数据。对于多媒体卡 (MMC卡)V3.31 协议,时钟频率可以在 0MHz 至 20MHz 间变化;对于多媒体卡 V4.0/4.2 协议,时钟频率可以在 0MHz 至 48MHz 间变化;对于 SD 或 SD I/O 卡,时钟频率可以在 0MHz 至 25MHz间变化。
SDIO_CMD 有两种操作模式:
① 用于初始化时的开

本文详细介绍了STM32F4如何使用SDIO接口驱动SD卡,包括SDIO的时钟配置、电源控制、命令发送等步骤,以及初始化SD卡的具体命令流程。

785

被折叠的 条评论
为什么被折叠?



