OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5614|回复: 9

一个SDIO如何挂载2张SD卡

[复制链接]

4

主题

28

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
227
金钱
227
注册时间
2014-12-20
在线时间
32 小时
发表于 2017-1-21 15:09:43 | 显示全部楼层 |阅读模式
1金钱
原子哥,我想请教一个问题,我用探索者F4开发板,做SD卡实验,我想用两张SD卡用同一个SDIO接口通讯,我想用RCA寄存器来区分卡的地址,但是有一个问题,在初始化卡的时候,如果两张卡的连接方式是同一个SDIO的话,那么初始化的时候,应该如何初始化才能分别对2张卡初始化,从而拿到每张卡对应的RCA地址呢?

最佳答案

查看完整内容[请看2#楼]

各位这个方案目前我查STM32F407的手册,这个版本的SDIO不支持多张SD卡,但是能支持MMC卡
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

4

主题

28

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
227
金钱
227
注册时间
2014-12-20
在线时间
32 小时
 楼主| 发表于 2017-1-21 15:09:44 | 显示全部楼层
各位这个方案目前我查STM32F407的手册,这个版本的SDIO不支持多张SD卡,但是能支持MMC卡
回复

使用道具 举报

4

主题

28

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
227
金钱
227
注册时间
2014-12-20
在线时间
32 小时
 楼主| 发表于 2017-1-21 15:22:33 | 显示全部楼层
再补充一下:就是当我  主机  发送CMD3命令时,如何发送才能让两张卡 分别来接收这个CMD3命令,从而分别返回 卡对应的RCA地址呢?个人感觉应该是我不知道两张卡跟一个SDIO如何连接?
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2017-1-24 20:55:03 | 显示全部楼层
这个我没有研究哦,应该是可以挂同一个接口,你试试
回复

使用道具 举报

4

主题

28

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
227
金钱
227
注册时间
2014-12-20
在线时间
32 小时
 楼主| 发表于 2017-2-3 10:32:55 | 显示全部楼层
正点原子 发表于 2017-1-24 20:55
这个我没有研究哦,应该是可以挂同一个接口,你试试

原子哥,我试过挂到同一个SDIO接口,之前尝试想用通过2张卡的电源脚切换拉高和拉低来分别写,发现2张都写不进去,我看过你之前的SD卡讲解篇,你说是用RCA寄存器来区分,但是我就是没想通硬件怎么连接才能分别拿到2张卡不同的RCA寄存器,劳烦您提点一下,之前也有人问过类似的问题,但是论坛上也没有人能够解决,希望您提点一下,谢谢了
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2017-2-6 18:58:11 | 显示全部楼层
小枫叶 发表于 2017-2-3 10:32
原子哥,我试过挂到同一个SDIO接口,之前尝试想用通过2张卡的电源脚切换拉高和拉低来分别写,发现2张都写 ...

这个貌似是在卡初始化的时候,设置的。
你仔细研究下这个流程
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

22

主题

131

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
493
金钱
493
注册时间
2013-12-19
在线时间
111 小时
发表于 2017-3-22 14:07:14 | 显示全部楼层
我在百度搜了一下“SD卡 总线”。SD卡总线只能公用时钟线,命令线和信号线是不能公用的。MMC卡可以公用时钟线、命令线和数据线。
但我有个疑问:一开始MMC卡并没有被主机设置RCA(相对地址),那主机设置RCA的命令 应该会被所有的MMC卡收到,这样 所有的MMC卡就都被设成同样的RCA了。有可能是,先用一个设备设置好MMC卡的RCA,再把这个MMC卡插入嵌入式系统。
回复

使用道具 举报

1

主题

561

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1183
金钱
1183
注册时间
2015-5-28
在线时间
149 小时
发表于 2017-3-22 16:40:48 | 显示全部楼层
ruanyongyu 发表于 2017-3-22 14:07
我在百度搜了一下“SD卡 总线”。SD卡总线只能公用时钟线,命令线和信号线是不能公用的。MMC卡可以公用时钟 ...

MMC是需要设置RCA地址才能用的,你通过CMD3设置地址后,再去通过CMD13读取卡状态,确定卡进入到standby状态才能算设置成功,我猜测如果你用总线的方式去设置RCA,只有一张卡会进入standby状态~有环境你可以自己测试下,对了,SD卡协议说明了是不推荐总线上挂多张卡的~
回复

使用道具 举报

4

主题

28

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
227
金钱
227
注册时间
2014-12-20
在线时间
32 小时
 楼主| 发表于 2017-3-23 15:59:37 | 显示全部楼层
我曾经试过一个SDIO挂载2张SD卡,采用分时上电行不通的,首先就算你分时获取了对应卡的RCA,但是你在后面写入SD卡的时候,你写不进去了,因为这张卡已经被掉电,再次写入相当于你需要再次初始化,这样根本行不通的,所以我建议如果使用多张卡,就采用不同的驱动方式最保险,如SPI写SD卡
回复

使用道具 举报

4

主题

28

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
227
金钱
227
注册时间
2014-12-20
在线时间
32 小时
 楼主| 发表于 2017-3-23 15:59:48 | 显示全部楼层
我曾经试过一个SDIO挂载2张SD卡,采用分时上电行不通的,首先就算你分时获取了对应卡的RCA,但是你在后面写入SD卡的时候,你写不进去了,因为这张卡已经被掉电,再次写入相当于你需要再次初始化,这样根本行不通的,所以我建议如果使用多张卡,就采用不同的驱动方式最保险,如SPI写SD卡
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-18 17:42

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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