在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 23486|回复: 55

[求助] SD卡的初始化过程

[复制链接]
发表于 2012-5-14 14:23:55 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
目前正在做SD卡的SD协议读写,但是卡在了ACMD41命令上了。从这个命令的response来看,[31]位始终为0,卡始终处于busy状态,不管经过了多长时间都是如此。各位大虾有知道为什么初始化总是无法完成的原因么?
我的命令操纵过程是CMD0、CMD8、CMD55、ACMD41
发表于 2012-5-14 15:07:29 | 显示全部楼层
首先,你要确定你测得的什么版本的卡,1.0,2.0还是3.0?
如果是2.0,你把你的ACMD41上的参数写出来,有可能是你的参数设置有问题。
 楼主| 发表于 2012-5-14 15:23:59 | 显示全部楼层
谢谢你的回答。我
用的是2.0的协议,因为我发送CMD8之后,response是0x01。
我发送的ACMD41命令参数是0100_0000_0010_0000_0000_0000_0000_0000。我用万用表量了一下SD卡的电压两端,是3.34V。
发表于 2012-5-14 15:50:14 | 显示全部楼层
回复 1# dabenzhong


    好,非常感谢
发表于 2012-5-14 16:09:44 | 显示全部楼层
1:CMD8的response中的back echo怎么全是0,难道你的CMD8参数中设置的为0?
2:至少要发两次ACMD41,而且这两次的参数和其response是不一样的,所以你还没有把问题描述清楚
 楼主| 发表于 2012-5-14 16:19:38 | 显示全部楼层
1.我的CMD8response不是零,不是写了最后response是0x01么?返回的response的voltage accepted相应部分的值是0001;
2.第一次发送ACMD41命令是0100_0000_0010_0000_0000_0000_0000_0000;然后就开始一直的循环,用的参数就是0000_0000_0000_0000_0000_0000_0000_0000了。
发表于 2012-5-14 16:41:16 | 显示全部楼层
1:如果是这样,那我感觉是不是你的CMD8命令就是问题了。
从协议上看,CMD8的response的最后16位是echo-back of check pattern,次4位才是voltage accepted。如果如你所说,那在CMD8参数中设置的check pattern是0x01(协议上推荐的值不是这个值),而且卡的voltage accepted是0,这个是不合理的。可以再看看协议资料
2:你第一次用ACMD41根本就没有读出卡的电压范围,所以你第二次发的时候可能出现电压不匹配。

个人觉得可能还是CMD8命令导致初始化不成功
 楼主| 发表于 2012-5-14 17:15:56 | 显示全部楼层
1.好吧,我把CMD8的命令都贴出来吧,
CMD8的初始命令:
0100_1000_0000_0000_0000_0000_0000_0001_1010_1010_1000_0111
CMD8的response:
0000_1000_0000_0000_0000_0000_0000_0001_1010_1010_0001_0011
这里的response和cmd包含了全部48比特的信息,我觉得上面的命令和response是没错的。
2.我发送第一次ACMD41的命令之后,产生了response。
ACMD41的命令是:
0110_1001_0100_0000_0001_0000_0000_0000_0000_0000_1100_1101
ACMD41的response是:
0011_1111_0100_0000_1111_1111_1000_0000_0000_0000_1111_1111
我不觉得有啥问题啊
发表于 2012-5-14 17:52:03 | 显示全部楼层
说得很仔细了。
从上面看,你的CMD8是没有问题的。但感觉你第一次发的ACMD41有点问题,但其response又没有问题。
个人建议:
1:把第一次发的ACMD41的参数全改为0试试:0110_1001_0100_0000_0000_0000_0000_0000_0000_0000_1100_1101
2:或者再把你第二次(三次)发的ACMD41命令和response贴出来看看
发表于 2012-5-14 17:53:31 | 显示全部楼层
忘说了,把第一次ACMD41的参数全改为0后,后面的CRC可能不一样了,LZ不要把我写的那个数据直接copy了哈。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条

×

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-5-3 07:00 , Processed in 0.028923 second(s), 8 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表