SD的命令和响应

描述

 

一个完整的 SD 卡操作过程是:主机(单片机等)发起“命令”,SD 卡根据命令的内容决定是 否发送响应信息及数据等,如果是数据读/写操作,主机还需要发送停止读/写数据的命令来结束 本次操作,这意味着主机发起命令指令后,SD 卡可以没有响应、数据等过程,这取决于命令的 含义。这一过程如下图 所示。:

SD

 

SD 卡有多种命令和响应,它们的格式定义及含义在SD协议中有详细介绍,发送命令时主机只能通过 CMD 引脚发送给 SD 卡,串行逐位发送时先发送最高位 (MSB),然后是次高位这样类推……。 

 SD 卡的命令格式,如下表所示: 

SD

 

SD 卡的命令固定为 48 位,由 6 个字节组成,字节 1 的最高 2 位固定为 01,低 6 位为命令 号(比如 CMD16,为 10000B 即 16 进制的 0X10,完整的 CMD16,第一个字节为 01010000,即 0X10+0X40)。字节 2~5 为命令参数,有些命令是没有参数的。字节 6 的高七位为 CRC 值, 最低位恒定为 1。 

SD 卡的命令总共有 12 类,分为 Class0~Class11,本章,此文仅介绍几个比较重要的命令, 

如下表所示:

SDSD

 

 

上表中,大部分的命令是初始化的时候用的,而表中的 R1、R1b、R2、R3、R6 和 R7 等是 SD 卡的应答信号。在主机发送有响应的命令后,SD 卡都会给出相对应的应答,以告知主机该 命令的执行情况,或者返回主机需要获取的数据,具体场景如下图所示:

SD

 

SD 的响应大体分为短响应 48bit 和长响应 136bit,每个响应也有规定好的格式。R1、R1b、 

R3、R6 和 R7 属于短响应,而 R2 属于长响应,它们具体作用如下表所示。 

SD

SD 卡的响应因使用接口不同,比如 SDIO 和 SPI 接口,它们的响应种类以及响应格式也是 不同。这里以 SDIO 接口下的 R1 响应为例,其内容格式如下表所示: 

SD
打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分