找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3236|回复: 6
收起左侧

单片机SD卡启动实验

  [复制链接]
ID:283954 发表于 2021-2-11 18:09 | 显示全部楼层 |阅读模式
近日为了要DIY一样东西,需要用到大容量记忆体,自然就选中了SD卡,在阅读了51HEI论坛所有有关SD卡的文章后,就决定开工了,先是用大卡的套焊接了SPI线,连接STC12的开发板,选了http://www.51hei.com/bbs/dpj-186038-1.html“单片机软件SPI和硬件SPI读写SD卡,TF卡测试程序”这篇文章,把里面的C代码编译后下载到开发板,LED真的亮了,表示接线没问题。

接下来就是5天5夜的SD卡之旅,由于我只懂汇编,只能逐一把C改写成A,过程并不顺利,尤其是那个CMD1,总是搞不成,后来读到有人说,网上很多关于SD卡的文章已经过时,因为文章发表时新的SD卡还未诞生,建议去看厂商的说明书,但那些说明书内容太多,不容易看,最后搜寻到这个教程(自行替换.):www点rjhcoding点com/avrc-sd-interface-1.php,乖乖学习,把命令逐一写了实验,也终于写好了,重点如下:

1. 开机稍等一下
2. 给80个空时钟(CS拉高,做读取动作)让SD卡同步。
3. 给CMD0命令,(重置,回应:1字节,“#01H",表示在睡觉)

4. 给CMD8命令,(测试,回应:5字节)
5. 给CMD58命令,(获得参数,回应:5字节)
6. 给CMD55命令,(告诉SD卡,接下来会给一个属于ACMD的命令,回应:1字节)

7. 给ACMD41命令,(告诉SD开工,回应:1个字节,因为刚刚叫SD开工,回应肯定是“#01H”, 表示还在睡)
8. 稍等(SD卡正在忙)。
9. 再给CMD55
10.再给ACMD41
11.检查回应,如果是“#00H",表示成功开工了,如果还是”#01H",就继续8-11的过程,直到把SD卡唤醒。

到了这一步,就算成功了.

祝各位:新年进步!


SD卡.jpg


评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

ID:283954 发表于 2021-2-15 00:05 | 显示全部楼层
本帖最后由 dalaoshi 于 2021-2-15 21:12 编辑

SD卡启动命令:


CMD0

cmd0.jpg
CMD8=PARTA (更正:图上写的6个空时钟是8个空时钟)

cmd8-a.jpg
CMD8-PARTB

cmd8-B.jpg
CMD58

CMD58.jpg
ACMD41

ACMD41.jpg




回复

使用道具 举报

ID:224104 发表于 2021-2-15 07:34 | 显示全部楼层
汇编大佬,牛逼
回复

使用道具 举报

ID:283954 发表于 2021-2-15 20:23 | 显示全部楼层
CMD24 写单块(512字节):


CMD24 PART-A.jpg
CMD24 PART-B.jpg


CMD17 读单块(512字节):

CMD17-PARTA.jpg
CMD17-PARTB.jpg
CMD17-PARTC.jpg



回复

使用道具 举报

ID:283954 发表于 2021-2-16 18:28 | 显示全部楼层
SD卡啊SD卡,体积小,容量大,价格低,性能高,是单片机的好配搭,打开了SD卡的大门,就是获得无数宝藏的开始,这是用很多次ACMD41唤醒SD卡之后,用CMD58看到的时序图:

CMD58-ON.jpg

回复

使用道具 举报

ID:126422 发表于 2023-9-27 11:53 | 显示全部楼层
请问楼主,这个是什么软件示波器,看着不错。
回复

使用道具 举报

ID:69038 发表于 2023-9-27 14:52 | 显示全部楼层
lijn 发表于 2023-9-27 11:53
请问楼主,这个是什么软件示波器,看着不错。

看上去是逻辑分析仪。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表