一.SD/MMC卡介绍1.1.什么是MMC卡MMC:MMC就是MultiMediaCard的缩写,即多媒体卡。它是一种非易失性存储器件,体积小巧(24mm*32mm*1.4mm),容量大,耗电量低,传输速度快,广泛应用于消费类电子产品中。1.2.什么是SD卡SD:SD卡为 SecureDigitalMemoryCard,即安全数码卡。它在 MMC的基础上发展而来,增加了两个主要特色:SD卡强调数据的安全安全,可以设定所储存的使用权限,防止数据被他人复制;另外一个特色就是传输速度比2.11版的MMC卡快。在数据传输和物理规范上,SD卡(24mm*32mm*2.1mm,比 MMC卡更厚一点),向前兼容了 MMC卡.所有支持 SD卡的设备也支持MMC卡。SD卡和2.11版的MMC卡完全兼容。1.3.什么是SDIOSDIO:SDIO是在 SD标准上定义了一种外设接口,它和 SD卡规范间的一个重要区别是增加了低速标准。在 SDIO卡只需要 SPI和1位 SD传输模式。低速卡的目标应用是以最小的硬件开销支持低速 IO能力。1.4.什么是MCIMCI:MCI是MultimediaCardInterface的简称,即多媒体卡接口。上述的MMC,SD,SDI卡定义的接口都属于 MCI接口。MCI这个术语在驱动程序中经常使用,很多文件,函数名字都包括”mci”.1.5.MMC/SD/SDIO卡的区别二.SD/MMC协议与命令1.SD/MMC卡相关寄存器SD卡内部有7个寄存器.其中 OCR,CID,CSD和 SCR寄存器保存卡的配置信息;RCA寄存器保存着通信过程中卡当前暂时分配的地址(只适合 SD模式);卡状态(CardStatus)和 SD状态(SDStatus)寄存器保存着卡的状态(例如,是否写成功,通信的 CRC校验是否正确等),这两个寄存器的内容与通信模式(SD模式或 SPI模式)相关.MMC卡没有 SCR和 SDStatus寄存器.如下表1所示:表1SD卡内部7个寄存器1.1.OCR寄存器OCR寄存器保存着SD/MMC卡的供电电允许范围.如下表2所示:如果OCR寄存器的某位为1,表示卡支持该位对应的电压。最后一位表示卡上电后的状态(是否处于”忙状态”),如果该位为0,表示忙,如果为1,表示处于空闲状态(MMC/SD协议 P60)。表2OCR寄存器1.2.CID寄存器CID为一个16个字节的寄存器,该寄存器包含一个独特的卡标识号。如下表3所示:表3CID寄存器1.3.CSD寄存器CSD寄存器(卡特殊数据寄存器)包含访问卡存储时需要的相关信息。如下表4所示:表4CSD寄存器1.4.SCR寄存器SCR寄存器提供 SD卡的特殊特性信息,其大小为64位。该寄存器由厂商编程,主机不能对它进行编程。MMC卡没有 SCR。如下表5所示:表5SCR寄存器1.5.RCA寄存器该16位卡地址寄存器保存了在卡识别过程中卡发布的器件地址。该地址用...