有谁知道C8051F410的SPI最大能接多少容量的sd卡?

[复制链接]
 楼主| pegion1001 发表于 2010-8-17 21:30 | 显示全部楼层 |阅读模式
有谁知道C8051F410的SP最大I能接多少容量的sd卡?1G?2G?4G?8G?16G?32G?...麻烦告知一下下。
lyjian 发表于 2010-8-17 22:02 | 显示全部楼层
随你便
古道热肠 发表于 2010-8-17 23:12 | 显示全部楼层
容量与SPI总线无关,2G是个分水岭,2G以上是SD2.0协议,与2G以下的卡驱动不兼容。很多老设备(俺家的佳能A530相机就是一例)用不了2G以上的卡,也就是这个原因。
 楼主| pegion1001 发表于 2010-8-18 10:56 | 显示全部楼层
今天试了一下,1G的sd卡,在发CMD0后发CMD1,返回正常;32G的sd卡在发CMD0后发CMD1,始终返回0x05。

另:在网上看有说要发CMD55+ACMD41的,可我找不到CMD55和ACMD41的具体命令代码是多少呀?好像没人说这个,sd的协议里也没找到呀。
CMD55 = 0x40 + 0x37 = 0x77?
ACMD41=?
 楼主| pegion1001 发表于 2010-8-18 16:53 | 显示全部楼层
嗯,没有人告诉我了么!!!!
 楼主| pegion1001 发表于 2010-8-20 21:14 | 显示全部楼层
谢谢古道的提醒!!

看了2.0的协议,在网上查了sdhc的初始化方法,到目前已经把csd读出来了,下一步该弄读写了。
 楼主| pegion1001 发表于 2010-8-24 11:38 | 显示全部楼层
弄了几天读了,可是发送cmd17读到的都是0呀,
cmd17[]= {0x51,0x00,0x00,0x00,0x00,0xFF},返回0了,
也能等到0xFE,可再接下来的就全部都是0了,没有读到0扇区的数据呀
jinyun1984 发表于 2011-6-13 17:24 | 显示全部楼层
楼主现在搞定了没有啊??我现在通过CMD17发完命令,等到0xfe之后,接下来也都是零,也是没有读到扇区的数据。如果楼主搞定了,能不能指导下。。多谢。。
huangqi412 发表于 2011-6-14 10:05 | 显示全部楼层
主要是协议。。。 跟SPI没啥关系。
xwj 发表于 2011-6-14 10:43 | 显示全部楼层
是的,容量之和协议、你的软件有关,和SPI无关的。

SD卡2G及以下是按字节寻址的,更大的是SD2.0协议,但还要读取OCR数据,判断是SD2.0还是SD2.0HC卡,只有SD2.0HC卡才是按扇区寻址的,所以卡的初始化时先要读取卡的类型,这点要特别注意。
xwj 发表于 2011-6-14 10:48 | 显示全部楼层
本帖最后由 xwj 于 2011-6-14 10:51 编辑

至于指令CMD55+ACMD41,目的是通过发这个来判断卡是SD卡还是MMC卡,
如果有应答,说明是SD卡,且初始化完成;没有回应,说明是MMC卡,需要额外进**相应初始化

CMD55和ACMD41的具体命令代码就是十进制41和55,同时CMD55+ACMD41指的是分别发送CMD55指令接着ACMD41,而不是发送他们的和,不要想岔了哦

#define ACMD41  41      //命令41,应返回0x00
#define CMD55   55      //命令55,应返回0x01
t.jm 发表于 2011-6-14 10:54 | 显示全部楼层
是的,容量之和协议、你的软件有关,和SPI无关的。

SD卡2G及以下是按字节寻址的,更大的是SD2.0协议,但还要读取OCR数据,判断是SD2.0还是SD2.0HC卡,只有SD2.0HC卡才是按扇区寻址的,所以卡的初始化时先要读取卡的 ...
xwj 发表于 2011-6-14 10:43

这个好像SD2.0卡也是按扇区寻址的吧?SD1.X才是字节寻址吧。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

67

主题

168

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部