Edit online

SDMC 使用指南

26 Nov 2024
Read time: 3 minute(s)
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,大容量,最大 32 GB)和 SDXC(eXtended Capacity,最大 2 TB),本文将 SD、SDHC、SDXC 统称为 SD

  • eMMC 是 MMC 框架中的一种,经过多年演化后,从 2018 年起只留下 eMMC 了

  • eMMC 可以看作一个集合,其中包含:NAND Flash、Flash 控制器、MMC 标准接口封装

SDMC V1.0 功能说明

SDMC V1.0 可用于访问三种标准协议:SDCard、eMMC 设备、SDIO。 以 D21x 为例,SoC 硬件提供了三套 SDMC,功能的初始定义如下:

SDMC 支持功能
SDMC0 SDCard、 eMMC
SDMC1 SDCard
SDMC2 SDIO

SD/SDIO 的传输模式


sd_mode

1. SD/SDIO 的三种传输模式

SD/SDIO 的传输模式有三种:

  1. SPI 模式:为了兼容性考虑,此模式属于 required,对硬件要求低,不支持 CRC 校验。时钟最高 25 MHz,读写速度通常低于 3 MB/s。广泛用于 MP3 等对读卡速度要求不高的场景。

  2. 1bit 模式:时钟最高 25 MHz,最高速率 12.5 MB/s

  3. 4bit 模式:读写时钟最高可达 50 MHz,最高速率 25 MB/s,是 SD 的主要模式

其中“1bit 模式”和“4bit 模式”又可以统称为“SD 模式”。

下表是三种传输模式对应的接口信号线定义:


sd_mode_io

2. SD/SDIO 三种传输模式的接口定义

MMC 的工作模式


mmc_mode

3. MMC 的工作模式

MMC 标准经过了 5 个大版本的演化,已经发生了很大的变化。大体上可以分为两种工作模式:

  1. SPI 模式:可选模式,属于 MMC 协议的一个子集,最大速率 20 Mbps。主要用于小容量、低速率场景,可降低成本,也有很好的兼容性

  2. MMC 模式:默认模式,具有 MMC 的全部特性,支持 1/4/8bit 总线模式

MMC 模式从传输速率上看又可以分为以下几种:


mmc_mode_data

4. MMC 工作模式及相应速率
提示:
  1. HS400 是在 HS200 的基础上增加 DDR 模式(信号双边采样),将理论速率提升一倍。

  2. MMC 上电或者复位后,默认处于 1bit 模式,只使用信号线 DAT[0]传输数据,后续通过命令将其配置为 4/8bit 模式。

  3. eMMC 芯片不支持 SPI 模式。

SDMC 的功能特性

SDMC 支持的最大接口频率为 200 MHz,支持 1/4/8 线数据总线模式,满足 eMMC 标准协议和 SDCard/SDIO 接口协议。


sdmc_hw_structure

SDMC 支持的特性有:

5. SDMC 硬件原理示意图
  • 支持 eMMC5.0,SD3.01 和 SDIO3.0,向下兼容

  • 支持 eMMC SDR/DDR 模式,接口时钟频率最大 200 MHz

  • 支持 3.3V 工作电压

  • 支持 DDR 4 线和 8 线模式

  • 使用内部 DMA 模式,支持单通道、双缓存和描述符链表传输

  • 支持 FIFO 深度为 128,FIFO 位宽为 32 bit

  • 支持 CRC 生成和错误检测