本章目标:
-
掌握三种主流大容量存储接口的原理、时序与硬件连接
-
深入理解 STM32(或同类 MCU)中 SDIO、eMMC、QSPI 的寄存器配置与驱动框架
-
通过实战案例,将 FatFS 文件系统挂载到 SD 卡与 QSPI Flash
章节结构
3.1 SDIO 接口与 SD 卡
3.1.1 SD/MMC 协议概览
3.1.2 时序与命令格式
3.1.3 STM32 SDIO 寄存器解析
3.1.4 SDIO 驱动框架(中断 + DMA)
3.1.5 实战案例:FatFS 挂载 SD 卡
3.2 eMMC 接口原理与驱动
3.2.1 eMMC 基本架构
3.2.2 初始化流程与高容量卡支持
3.2.3 STM32 eMMC/SDIO Host 配置
3.2.4 数据读写与性能优化
3.3 QSPI / Quad-SPI 高速闪存
3.3.1 QSPI 模式与 I/O 多路复用
3.3.2 时序与命令集(读 / 写 / 擦除)
3.3.3 STM32 QSPI 寄存器解析
3.3.4 XIP 模式与缓存管理
3.3.5 实战案例:在 QSPI Flash 上运行 XIP + FatFS
3.4 本章小结与选型建议
3.1 SDIO 接口与 SD 卡
3.1.1 SD/MMC 协议概览
-
总线构成:CLK、CMD、DAT[3:0] 四位数据线(4-bit 模式),每根都通过上拉电阻和开漏驱动。
-
卡类型:SD v1.x(<=2GB)、SDHC/SDXC(>2GB,块地址模式)、eMMC(内嵌式 MMC)。
-
工作模式:
-
1-bit 模式:DAT0 单线,兼容最早卡及节省引脚
-
4-bit 模式:DAT0–DAT3 并行,带宽提高四倍
-
-
电气级别:
-
3.3V 兼容,大多数 MCUs SDIO 支持 1.8V 以适配高容量卡
-
3.1.2 时序与命令格式
-
命令包(总长 48 bit)
-
<Start (0)
+TX (1)
+CMD Index (6)
+Argument (32)
+CRC7 (7)
+End (1)
-