目录
二、STM32F103 实现在 FATFS 模式下对 SD 卡的数据读取
一、SD卡
1、SD卡物理结构
一张SD卡包括有存储单元、存储单元接口、电源检测、卡及接口控制器和接口驱动器 5 个部分,见图 36-2。存储单元是存储数据部件,存储单元通过存储单元接口与卡控制单 元进行数据传输;电源检测单元保证SD卡工作在合适的电压下,如出现掉电或上状态时, 它会使控制单元和存储单元接口复位;卡及接口控制单元控制SD卡的运行状态,它包括有 8个寄存器;接口驱动器控制 SD卡引脚的输入输出。
SD 卡总共有 8 个寄存器,用于设定或表示 SD 卡信息,参考表 36-1。这些寄存器只能 通过对应的命令访问,对 SD卡进行控制操作并不是像操作控制器 GPIO 相关寄存器那样一 次读写一个寄存器的,它是通过命令来控制,SDIO 定义了 64 个命令,每个命令都有特殊 意义,可以实现某一特定功能,SD 卡接收到命令后,根据命令要求对 SD 卡内部寄存器进 行修改,程序控制中只需要发送组合命令就可以实现 SD卡的控制以及读写操作。
2、 SD卡命令
3、STM32的SDIO功能
STM32控制器有一个 SDIO,由两部分组成:SDIO适配器和 AHB 接口,见图 36-11。 SDIO 适配器提供 SDIO 主机功能,可以提供 SD 时钟、发送命令和进行数据传输。AHB 接 口用于控制器访问 SDIO适配器寄存器并且可以产生中断和 DMA请求信号
SDIO 使用两个时钟信号,一个是 SDIO 适配器时钟(SDIOCLK=HCLK