编辑: ddzhikoi 2015-08-25

0 的ACMD41 命令,SDHC 卡返回的响应,其busy 标识位永远为 0,代表忙状 态.HCS 标识位用来表明 SD 卡是否已经完成初始化,如果未完成,HCS 为零,否则为 1,如果HCS 为0,控制器会重复发送 ACMD41 指令,SD 卡只检查首次接收到的 ACMD41 指令的 HCS 位. 响应 CMD8 的SD 卡发送的对于 ACMD41 指令响应会包含 CCS 部分,控制器只检查 HCS 标 志位为

1 的响应所包含的 CCS 位.CCS=1 表明其为 SDHC 卡,否则为标准 SD 卡. 控制器随后发送 ALL_SEND_CID(CMD2)命令,查询各个卡的 CID(unique card identification)值,还没有被识别的 SD 卡(处于 Ready 状态)会发送 CID 值作为响应, 发送完 CID 值之后,SD 卡进入识别状态(Identification state),然后控制器发送 CMD3 (SEND_RELATIVE_ADDR)命令,要求各个 SD 卡发送一个新的相对地址(RCA),RCA 在之后 Emai:[email protected] SD 卡协议学习点滴 第二版本

3 的数据传输模式中用于寻址.RCA 发送完之后.SD 卡进入 Stand-by 状态,在这个状态,如 果控制器想要给 SD 卡分配一个新的 RCA,它可以发送另一条 CMD3 命令给 SD 卡.最后发布 的RCA 为SD 卡的真实 RCA. 数据传输模式: 在SD 卡识别模式结束之前,控制器使用的时钟频率均为 Fod.在数据传输模式,控制 器可能会使用 Fpp 频率.控制器发送一条 SSEND_CSD(CMD9)命令来获取 SD 卡CSD 寄存器 (Card Specific Data)里面的描述值,譬如,块长度,卡容量信息等.广播命令 SET_DSR (CMD4)为各个已识别的 SD 卡配置驱动阶段(??).它会向 SD 卡的 DSR 寄存器写入相关 的信息.控制器的时钟频率也在这个时刻从 Fod 转到 Fpp.SET_DSR 命令是可选的. CMD7 命令用来选择某个 SD 卡,使其进入 Transfer 状态,在指定时间段内,只有一个 卡能处于 Transfer 状态. 当某个先前被选中的处于 Transfer 状态的 SD 卡接收到 CMD7 之后, 会释放与控制器的连接,并进入 Stand-by 状态.当CMD7 使用保留地址 0x0000 时,所有的 SD 卡都会进入 Stand-by 状态. 数据传输模式下各个状态的转换关系总结如下: 所有的数据读命令都可以被停止命令(CMD12)在任意时刻终止.数据传输会终止,SD 卡返回 Transfer 状态.读命令有:块读操作(CMD17)、多块读操作(CMD18)、发送写保 护(CMD30)、发送 scr(ACMD51)以及读模式下的普通命令(CMD56) 所有的数据写命令都可以被停止命令(CMD12)在任意时刻终止.写命令也会在取消选 择命令(CMD7)之前停止.写命令有:块写操作(CMD24,CMD25)、编程命令(CMD27)、 锁定/解锁命令(CMD42)以及写模式下的普通命令(CMD56) Emai:[email protected] SD 卡协议学习点滴 第二版本

4 数据传输一旦完成,SD 卡会退出数据写状态,进入 Programming 状态(传输成功)或者 Transfer 状态(传输失败) 如果块写操作被叫停,但是写操作包含的最终块其长度和 CRC 校验是正确的话,数据会 被编程到 SD 卡(从缓存写入到 Flash?) SD 卡可能会提供缓存模式,意思是前次写入块在编程到 Flash 的时刻,控制器可以接 着发送下一块的数据 当写缓存为满时刻,并且 SD 卡处于 Programming 状态,DAT0 会保持为低电平(BUSY), 表明其为忙状态 写CSD,写保护,擦除这些操作没有缓存的功能,当SD 卡正在处理这些命令的时候, 其余的数据传输命令会被忽略.当SD 卡为忙,并且处于 Programming 状态的时候,DAT0 也 会被 SD 卡拉低, 在SD 卡处于 Programming 状态时候,不允许控制器发送设置参数命令.设置参数命令 有:设置块长度(CMD16)、擦除块开始(CMD32)以及擦除块结束(CMD33) 在SD 卡编程时刻,读命令也是不允许的 当把另一个卡从 Stand-by 状态转换为 Transfer 状态的时候,正处于 erase 和Programming 状态的卡其操作不会终止,它会自动进入 Disconnect 状态,释放数据线. 处于 Disconnect 状态的卡可以通过发送 CMD7 命令使其脱离此状态,并进入 Programming 状态,并重新激活忙标识符 复位 SD 卡(使用 CMD0 或者 CMD15)会终止任何等待中或正在进行的 Programming 操作.这可能会损毁 SD 卡的数据 CMD34-37 CMD50,CMD57 保留 宽总线选择/取消选择 : Emai:[email protected] SD 卡协议学习点滴 第二版本

下载(注:源文件不在本站服务器,都将跳转到源网站下载)
备用下载
发帖评论
相关话题
发布一个新话题