SD卡CMD和ACMD命令V2.0中文版

命令类型

共有四类用来控制SD卡的命令:

广播命令(bc),无响应——广播命令只有在所有CMD线一起连接到主机时才能使用。如果分开连接,那么每个卡将单独接收命令。

带响应的广播命令(bcr)——所有卡同时响应。因为SD卡没有开漏模式,这个命令只有在所有的CMD线分开时采用使用。该命令将被每个卡分别接收和响应。寻址(点对点)命令(ac)——DAT上没有数据传输。

寻址(点对点)命令(ac)——DAT上没有数据传输。

寻址(点对点)数据传输命令(adtc)——DAT上传输数据。

所有的命令和响应通过CMD线传输。

命令格式

命令长度固定为48位,从定义上能看出是先发高字节再发低字节。

47

46

[45:40]

[39:8]

[7:1]

0

起始位

传输位

命令索引

命令参数

CRC7

结束位

命令描述

基本命令

没有参数的命令参数部分为零即可,命令索引和命令的序号是一致的

命令索引

类型

参数

响应

缩写

描述

CMD0

bc

[31:0]无用

GO_IDLE_STATE

重置所有卡到Idle状态

CMD1

保留

CMD2

bcr

[31:0]无用

R2

ALL_SEND_CID

要求所有卡发送CID号

CMD3

bcr

[31:0]无用

R6

SEND_RELATIVE_ADDR

要求所有卡发布一个新的相对地址RCA

CMD4

不支持

CMD5

保留

CMD6

保留

CMD7

ac

[31:16]RCA

[15:0]无用

R1(只来自选中的卡)

选中/不选中卡

被选中的卡会回复,RCA设为0则取消选中所有卡

CND8

ac

[31:12]保留

[11:8]支持的电压(VHS填0001b就好)

[7:0]检测位(设为0xAA就行)

R7

SEND_IF_COND

支持电压的卡会回应,不支持的不回应,检测位和CRC作用一样,SD卡在回应时会返回相同的值,以检查通信是否正常

CMD9

ac

[31:16] RCA

[15:0]无用

R2

SEND_CSD

寻址卡并让其发送卡定义数据CSD

CMD10

ac

[31:16] RCA

[15:0]无用

R2

SEND_CID

寻址卡并让其发送卡识别号CID

CMD11

adtc

[31:0]数据地址

R1

READ_DAT_UNTIL_STOP

从卡读取数据流,从给定地址开始,知道停止传输命令结束

CMD12

ac

[31:0]无用

R1b

STOP

中止多个块的读/写操作

CMD13

ac

[31:16] RCA

[15:0]无用

R1

SEND_STATUS

寻址卡并发送卡状态寄存器

CMD14

保留

CMD15

ac

[31:16] RCA

[15:0]无用

_

GO_INACTIVE_STATE

设置卡到inactive状态

块读取操作

  • 8
    点赞
  • 61
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值