术语定义
其中:
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可用于访问三种标准协议:SDCard、eMMC设备、SDIO。 以D21x为例,SoC 硬件提供了三套 SDMC,功能的初始定义如下:
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模式”。
下表是三种传输模式对应的接口信号线定义:
MMC 的工作模式
MMC标准经过了5个大版本的演化,已经发生了很大的变化。大体上可以分为两种工作模式:
1.SPI模式:可选模式,属于MMC协议的一个子集,最大速率 20 Mbps。主要用于小容量、低速率场景,可降低成本,也有很好的兼容性
2.MMC模式:默认模式,具有MMC的全部特性,支持 1/4/8bit 总线模式
MMC模式从传输速率上看又可以分为以下几种:
1.HS400 是在HS200的基础上增加 DDR 模式(信号双边采样),将理论速率提升一倍。
MMC 上电或者复位后,默认处于 1bit 模式,只使用信号线DAT[0]传输数据,后续通过命令将其配置为4/8bit模式。
eMMC芯片不支持SPI模式。
SDMC 的功能特性
SDMC支持的最大接口频率为 200 MHz,支持1/4/8线数据总线模式,满足eMMC标准协议和SDCard/SDIO接口协议。
·支持eMMC5.0,SD3.01和SDIO3.0,向下兼容
·支持eMMC SDR/DDR模式,接口时钟频率最大 200 MHz
·支持3.3V工作电压
·支持DDR 4线和8线模式
·使用内部DMA模式,支持单通道、双缓存和描述符链表传输
·支持FIFO深度为 128,FIFO位宽为 32 bit
·支持CRC生成和错误检测