5.1.1. 模块介绍¶
5.1.1.1. 术语定义¶
| 术语 | 定义 | 注释说明 | 
|---|---|---|
| SD | Secure Digital | Flash存储卡的一种标准,即常见的SD卡 | 
| SDCard | Secure Digital Memory Card | 安全数码卡,同“SD卡” | 
| MMC | Multi Media Card | 多媒体卡 | 
| eMMC | Embedded Multi Media Card | 内嵌(在板卡上)式多媒体卡 | 
| SDIO | Secure Digital Input and Output | 安全数字输入输出接口 | 
| SDMC | SDCard & SDIO & eMMC Host Contollor | SD卡/eMMC 主控制器 | 
| CMD | Command | SD/eMMC 协议的命令 | 
| DMA | Direct Memory Access | 直接存储器访问 | 
| SPI | Serial Peripheral Interface | 串行外设接口 | 
其中:
- MMC是最早的记忆卡标准,1997年由西门子和SanDisk推出,现在市场上已经很少见了 
- SDCard是1998年由松下、东芝和SanDisk合作发布 
- SDCard一开始就兼容MMC协议,和MMC在时序设计上保持一致,读写控制命令也一样 
- SDIO是在SD标准的基础上,定义了非存储卡的外设接口,可连接WiFi、BT、摄像头等 
- SD卡后续还有SDHC(High Capacity,大容量,最大32GB)和SDXC(eXtended Capacity,最大2TB),本文将SD、SDHC、SDXC统称为SD 
- eMMC是MMC框架中的一种,经过多年演化后,从2018年起只留下eMMC了 
- eMMC可以看作一个集合,其中包含:Nand Flash、Flash控制器、MMC标准接口封装 
5.1.1.2. 模块简介¶
SDMC V1.0可用于访问三种标准协议:SDCard、eMMC设备、SDIO。 以D21x为例,SoC 硬件提供了三套 SDMC,功能的初始定义如下:
| SDMC | 支持功能 | 
|---|---|
| SDMC0 | SDCard、 eMMC | 
| SDMC1 | SDCard | 
| SDMC2 | SDIO | 
5.1.1.2.1. SD/SDIO 的传输模式¶
 
图 5.24 SD/SDIO 的三种传输模式¶
SD/SDIO的传输模式有三种:
- SPI模式:为了兼容性考虑,此模式属于required,对硬件要求低,不支持CRC校验。时钟最高 25MHz,读写速度通常低于 3MB/s。广泛用于MP3等对读卡速度要求不高的场景。 
- 1bit模式:时钟最高 25MHz,最高速率 12.5MB/s 
- 4bit模式:读写时钟最高可达 50MHz,最高速率 25MB/s,是 SD的主要模式 
其中“1bit模式”和“4bit模式”又可以统称为“SD模式”。
下表是三种传输模式对应的接口信号线定义:
 
图 5.25 SD/SDIO 三种传输模式的接口定义¶
5.1.1.2.2. MMC 的工作模式¶
 
图 5.26 MMC 的工作模式¶
MMC标准经过了5个大版本的演化,已经发生了很大的变化。大体上可以分为两种工作模式:
- SPI模式:可选模式,属于MMC协议的一个子集,最大速率 20Mbps。主要用于小容量、低速率场景,可降低成本,也有很好的兼容性 
- MMC模式:默认模式,具有MMC的全部特性,支持 1/4/8bit 总线模式 
MMC模式从传输速率上看又可以分为以下几种:
 
图 5.27 MMC 工作模式及相应速率¶
小技巧
- HS400 是在HS200的基础上增加 DDR 模式(信号双边采样),将理论速率提升一倍。 
- MMC 上电或者复位后,默认处于 1bit 模式,只使用信号线DAT[0]传输数据,后续通过命令将其配置为4/8bit模式。 
- eMMC芯片不支持SPI模式。 
