注:以下内容从网络多方面收集,对于理解SD协议和做关于简单SD项目还是有点用处。SD
驱动本人在做项目时写过完整版本,有需要可以交流。
R1 定义:(一个字节)
处于静止状态 - 这个卡正在执行初始化处理,处于静止状态。
擦除复位 - 由于一条擦除序列之处的命令被确认,导致擦除序列在执行操作之前被清除。
非法命令 - 发现了非法的命令代码。
通信CRC错误 - 最后一条命令的CRC检查发现错误。
擦除序列错误 - 在一个擦除的序列里出现错误。
地址错误 - 不正确的地址,命令里的地址和块长度无法相匹配。
参数错误 - 命令里的参数(例如:地址、块长度)不在该卡所允许的范围内。
R1b 定义:(一个字节)
与R1相同,只多了一个“忙”状态。
R2 定义:(二个字节)
首字节与R1相同,第二字节如下
CSD覆写 - 如果主控制器试图修改ROM(只读)区域,或反转CSD寄存器的copy位(恢复到原始状态)和永久保护位(无保护的),则此状态位被设置(译者注:这段内容在原 文中是没有的,本人在三星的产品说明书中找到了。)
擦除param(错误) - 选择擦除扇区有问题
违背写保护 - 这个命令试图写入一个有写保护的块。
卡的ECC校验失败-卡内部的ECC被使用了,但是未能校正当前的数据。
CC错误 - 内部的卡控制器错误。
错误 - 在操作期间出现了一个不明错误或异常错误。
擦除跳过写保护 - 由于存在写保护的块,只有部分地址空间被擦除。
卡是锁住的 - 由SanDisk SD卡所支持的。
R3 定义:(五个字节)
首字节与R1相同,剩下四个字节是OCR寄存器内容。
SD管脚
SD分类
SD管脚
MiniSD封闭图