MMC Card Briefing
1. MMC Card Registers
CID 128bit Mandatory
RCA 16bit Mandatory
DSR 16bit Optional
CSD 128bit Mandatory
OCR 32bit Mandatory
2. Register Description
OCR - operation conditions register
stores the VDD voltage profile of the card, READ ONLY
CID - card identification register
carries the card ID, used during the card identification procedure
CSD - card-specific data register
provides the information on how to access the card contents, e.g.
1)data format
2)error correction type
3)maximum data access time
4)data transfer speed
5)whether DSR register is available
RCS - relative card address register
carries the card address assigned by the host during the card identification
DSR - driver stage register, optional
used to improve the bus performance for extended operating conditions
e.g bus length, transfer rate or number of cards
3. MMC bus
CMD - 双向
工作OD/PP模式
DAT - 双向 工作在PP模式
CLK - 单向 工作在PP模式
VDD - 电源
Vss1,Vss2 - 地
OD: Open-Drain
PP: Push-Pull
4. MMC Bus Circuitry Diagram
Rod: 用来切换OD和PP模式
Rdat、Rcmd: 用来防止DAT和CMD在没有卡插入或者所有卡都处于高阻状态时处于浮空
5. SPI mode
SPI模式包含一个有flash-based的MMC卡所提供的可选性的通讯协议,它主要是为了那些系统没有专门的MMC host controller、且对通讯速率要求不高的情况所定义的。
SPI只定义了一个物理链接标准,用于MMC的通讯,只有MMC协议和命令的一个子集。
SPI的优点就是利用现有的SPI接口,既可以是硬件的也可以是软件的,这就省去了设计专门的硬件MMC host controller。
SPI的缺点是与MMC协议相比,数据传输率很低,能够支持的卡比较少(通常只是一张卡),而且每张卡都需要一个片选来使能,不像MMC协议那样可以通过RCA来选定一张卡。
SPI信号:
CS – 片选
CLK - 时钟
DataIn - Host->Card数据
DataOut- Host<-Card数据
SPI的数据传送是以字节的整数倍来进行的,总是根据CS信号进行byte-aligned
SPI只支持Single/Multiple Block read/write操作,不能支持Sequential 操作
6. SPI vs MMC pinout
MMC SPI
1.
RSV CS
2.
CMD
DI
3.
Vss1 Vss
4.
Vdd Vdd
5.
CLK SCLK
6.
Vss2
Vss2
7
DAT DO
7. Registers in SPI mode
SPI模式下只有三个寄存器的部分bit可以访问,它们是:
CID 16bit
CSD 16bit
OCR 32bit
8. File systems for MMC card
8.1
Hard Disk-Like file system w/ partition table
The first data block is used to store partition table
8.2
DOS FAT file system w/o partition table
8.3
Universal file system for MMC card