1、简介
SD卡主要分为四部分组成:外部引脚、内部寄存器、接口控制器和内部存储介质。
2:卡类型
MMC卡: MultiMedia card,有 7 个触点( 引脚),分为两种操作模式,分别为 MMC模式与SPI 模式,两种模式对引脚的定义是不同的。SPI 模式只有 Host 具有SPI 接口时才能使用。MMC只具有存储功能,不像SD卡还具有加密功能。
SD卡: Security Digtial card,共有9 个触点( 引脚),多余的 2 个引脚为数据线,但使用与 MMC卡兼容的模式时,这两个多余的引脚没有起到作用。SD卡除了存储功能外,还有一种加密功能,但加密功能是收费的(所以开源的linux中只包含mmc的驱动目录),因为当初SD卡联盟中(索尼)就是发明这种卡就是用来存储音乐(淘汰卡带),并使用加密特性,防止拷贝。
TF卡:软件上SD卡一致,只是在硬件的体积上比SD卡西小,所以市场上很多的TF卡的SD外形卡套
SDIO卡: 这种卡并不是存储卡,可以理解为一个SDIO接口卡,如WIFI(SDIO接口);并非memory卡,故名思意,
MMC、SD、SDIO的技术本质是一样的(使用相同的总线规范,等等),都是从MMC规范演化而来;
MMC强调的是多媒体存储(MM,MultiMedia);
SD强调的是安全和数据保护(S,Secure);
SDIO是从SD演化出来的,强调的是接口(IO,Input/Output),不再关注另一端的具体形态(可以是WIFI设备、Bluetooth设备、GPS等等)。
a、标准容量SD存储卡(SDSC): 不大于2GB
b、大容量SD存储卡 (SDHC): 大于2GB、不大于32GB
c、超大容量SD存储卡(SDXC):大于32GB、不大于2TB
3、SD卡协议
1.x:小于2GB的卡(但通过相关的软件,可以模拟实现大于2GB)
2.0: 2<SD卡<32 GB
3.0: >32GB
在 SD 卡 3.0 规范中,SD 卡的理论最大容量可达 2TB,理论最大读写速度可达 104MB/s(在最新的 4.10 规范中,理论最大读写速度已提高到 312MB/s)。
4、SD卡通信接口
SD卡有9个pin:1个VDD,2个VSS(GND),CLK,CMD,DATA0-DATA3, 【DATA3可以作为卡检测脚】
SD卡可以使用SD总线接口,也可以使用SPI通信接口;
寄存器及功能描述如下:
OCR(Operating Conditions Register)寄存器:32位的操作条件寄存器主要存储了 VDD 电压范围,SD 卡操作电压范围为2~3.6V。
CID(Card IDentification Register)寄存器:卡识别码寄存器,长度为16个字节,存储 SD 卡唯一标识号,该号在卡生产厂家编程后无法修改。
CSD(Card-Specific Data Register)寄存器:卡特性数据寄存器,包含了访问该卡数据时的必要配置信息。
SCR(SD Card Configuration Register)寄存器:SD 卡配置寄存器(SCR),提供了 SD 卡的一些特殊特性在这张卡内,长度为64 位,这个寄存器内容由制造商在生产厂内设置。
RCA(Relative Card Address)寄存器:卡相对地址寄存器是一个16位可写的地址寄存器,控制器可通过地址选择对应地址的 SD 卡。
DSR(Driver Stage Register)寄存器:驱动级寄存器,属于可选寄存器,用于配置卡的驱动输出。
block
block即块,对于SD卡而言,block由sector组成,与文件系统的块是一个意思,是逻辑上的最小数据操作单元。对于V2.0版本以后的SD卡是固定为512Byte(即一个sector)大小。
sector
sector即扇区,对于SD卡而言,扇区是最小的可编程单元一般固定为512Byte.