SD卡(1.0+2.0)专题讲解;;容量=块数量*块长度
注(1)这里的块数量就是CSD中的(C_SIZE+1)*乘数
(2)乘数为2(C_SIZE_MULT+2) ,比如128M是64,值为100B
(3)块长度为2READ_BL_LEN,比如512byte对应寄存器值为1001B
(4)这里的容量只是用户使用容量,不包含保护区;SD卡(1.0标准)操作实战详细分析
(main.c);SD.c;我们来了解一下SD卡协议命令的格式,MMC卡只有基本命令,即CMD0-CMD38,但是中间不是连续得,感兴趣的话可以查看MMC的协议手册,SD卡有基本命令和特定命令,特定命令必须跟在基本命令CMD55后面,即要想用特定命令,必须先发一条CMD55通知SD卡,然后才能发送特定的命令。每条命令由6BYTE组成,分三部分,1字节为操作码,2-5字节为参数,有的命令没有参数,那就填0,有参数的根据参数说明而定,最后一字节为CRC校验,不过SPI模式不需要CRC校验,故可以任意填写,不过有几个特殊命令有指定的CRC校验码,必须加上。每条命令都有响应,根据命令的不同可能有R1,R1B,R2,R3(OCR)寄存器响应,通过它们判断命令是否操作成功。所有相关寄存器在协议手册上面均有详细介绍。对命令有了解后,只要知道各个操作的过程就可以操作SD卡了,主要操作有初始化,读、写
原创力文档

文档评论(0)