[接口]mmc/eMMC/SD-card

转自:http://blog.csdn.net/yazhouren/article/details/46643321

MMC(multiMedia card)是一种通信协议,支持两种模式SPI和MMC

eMMC是一种支持MMC协议的芯片

MMC/e •MMC communication is based on  an advanced 10-signal bus. The communication protocol is
defined as a part of this standard and  referred to as the  MultiMediaCard mode.

eMMC和SD卡都是将闪存控制器和NAND Flash封装在一起,只是接口不同,eMMC一般是BGA封装,焊接在PCB上

SD卡单独封装,使用SDIO接口通讯, SD卡是在MMC基础上发展起来,且兼容MMC,所以在Linux系统下,SD卡设备名称是mmcblk(mmcblk0p1代表第一个分区, 问题mmcblk0和mmcblk1是分别代表sd卡和eMMC设备还是二者谁先挂上谁就是mmcblk0?)

SDIO可以使用与MMC兼容的模式

那么是否可以理解,eMMC芯片接口支持MMC协议,而MMC协议支持SPI和MMC两种模式,所以eMMC支持SPI和MMC,而SD卡支持SDIO和SPI。而SDIO和MMC又兼容。

SD卡的管脚定义和Micro SD(TF)卡的管脚定义是不一样的。
TF卡
  • SD卡:1-data3,2-cmd,3-vss,4-vdd,5-clk,6-vss,7-data0,8-data1,9-data2.
  • TF卡(SD模式):1-data2,2-data3,3-cmd,4-vdd,5-clk,6-vss,7-data0,8-data1
  • TF卡(SPI模式):1-rsv,2-cs,3-di,4-vdd,5-sclk,6-vss,7-do,8-rsv
  SD TF(SD) TF(SPI)
1 data3 data2 rsv
2 cmd data3 cs
3 vss cmd di
4 vdd vdd vdd
5 clk clk sclk
6 vss vss vss
7 data0 data0 do
8 data1 data1 rsv
9 data2    
原文地址:https://www.cnblogs.com/aaronLinux/p/6366437.html