MMC和SD与SDIO

以前一直不太清楚SDIO、SD卡、MMC等之间的区别和联系,偶然间在 蜗窝 上看到下面这幅图,才算稍微有点清晰明了:

MMC

MMC(Multimedia Card)是一种协议或者规范,规范了卡的形状尺寸,通讯协议等内容,符合MMC协议的卡叫做MMC卡,即多媒体卡

两种操作模式,分别为MMC模式与SPI模式

eMMC
eMMC (Embedded Multi Media Card) 为MMC协会所订立的、主要是针对手机或平板电脑等产品的内嵌式存储器标准规格
eMMC = NAND flash + 控制器 + 标准封装接口
eMMC是一种支持MMC协议的芯片

SD

SD (Secure Digital Memory Card)
它在MMC的基础上发展而来,增加了两个主要特色:SD卡强调数据的安全,可以设定所储存的使用权限,防止数据被他人复制;另外一个特色就是传输速度比2.11版的MMC卡快
,microSD/TF、SDHC、SDXC等这些都是SD卡的进化版

两个可选的通信协议:SD模式和SPI模式

SDIO

SDIO(Secure Digital I/O):安全数字输入输出,就是 SD 的 I/O 接口,在SD标准上定义了一种外设接口。
更具体的说,SD 本来是记忆卡的标准,但后来在其接口的基础上演化出来了这种外设接口,上面可以接其他的外设,比如 SD卡,eMMC,SDIO接口的WIFI模组等等

SDIO总线有两端,其中一端是主机端(HOST),另一端是设备端(DEVICE)。所有的通信都是由HOST端发出命令开始的,在DEVICE端只要能解析HOST的命令,就可以同HOST进行通信了。SDIO的HOST可以连接多个DEVICE。

信号
SDIO信号有三种模式,“单线模式”、“4线模式”、“SPI模式”。

  • CLK:HOST给DEVICE的时钟信号。
  • VDD:电源信号。
  • VSS:Ground信号。
  • DAT0-DAT3:4条数据线
  • CMD:用于HOST发送命令和DEVICE回复响应。

具体的协议、命令、数据格式等就不在这细说了。

参考