2023年12月15日发(作者:)

51单片机读写SD卡(命令解释)

SD卡命令共分为12类,分别为class0到class11,

不同的SDd卡,主控根据其功能,支持不同的命令集 如下:

Class0 :(卡的识别、初始化等基本命令集)

CMD0:复位SD 卡.

CMD1:读OCR寄存器.

CMD9:读CSD寄存器.

CMD10:读CID寄存器.

CMD12:停止读多块时的数据传输

CMD13:读 Card_Status 寄存器

Class2 (读卡命令集):

CMD16:设置块的长度

CMD17:读单块.

CMD18:读多块,直至主机发送CMD12为止 .

Class4(写卡命令集) :

CMD24:写单块.

CMD25:写多块.

CMD27:写CSD寄存器 .

Class5 (擦除卡命令集):

CMD32:设置擦除块的起始地址.

CMD33:设置擦除块的终止地址.

CMD38: 擦除所选择的块.

Class6(写保护命令集):

CMD28:设置写保护块的地址.

CMD29:擦除写保护块的地址.

CMD30: Ask the card for the status of the write protection bits

class7:卡的锁定,解锁功能命令集

class8:申请特定命令集 。

class10 -11 :保留

其中 class1, class3,class9:SPI模式不支持

51单片机读写SD卡(概述,硬件连接)

SD卡全称为 Secrue Digital Memory Card,具有轻巧、可加密、传输速度高、适用于手持设备使用等优点。

SD需要高速读写,同时也要使手持等嵌入式设备能方便使用,特设有两个访问接口:SD模式接口和SPI接口。

SD引脚

1

2

3

4

5

6

7

8

9

拉电阻,SD卡的电源是DC3.3V

51单片机读写SD卡(寄存器)

SD卡有以下几种内部寄存器

1. CID 卡的识别号

宽度128,详细描述如下

SD模式

DAT3

CMD

VSS

VDD

CLK

VSS

DAT0

DAT1

DAT2

SPI模式

CS

DI

VSS

VDD

SCLK

VSS

DO

Resvered

Resvered

由于51单片机的速度的原因,一般采用SPI接口方式连接SD卡, 在连接时需要在SD卡边接10-100K上

2. RCA 卡的相对地址(SPI模式不可用)

3. DSR 可选寄存器

宽度16

4. CSD 描述操作该卡的规则(时序规则)。包括,数据读/写时间,工作电流,扇区大小,文件系统格式,卡所使用的命令集,写保护等信息。通过该寄存器可以获取卡的容量,访问方式。

宽度128

5. SCR 卡的配置寄存器

宽度64

6. OCR 卡运行条件寄存器 描述卡的工作电压范围 ,它还还包含一个上电状态标记位用于描述是否完成卡上电过程 (驱动对卡在作初试化动作的时候特别要注意这点)

宽度32