shenhaiyu 发表于 2013-10-24 00:22:46

突然有个奇怪的想法,想用两个UNO读取同一个SD卡,不知道能否实现,有经验的谈一谈?

本帖最后由 shenhaiyu 于 2013-10-24 12:14 编辑

RT,最近用UNO做了个东西,32K的Flash几乎都写满了,IO也快用光了,无奈之下决定用两块UNO实现更多的功能。
(当然,有人会推荐我换mega,但是我真的不想重新设计硬件部分啊,换mega盒子也要重做,两块UNO勉强能塞下)

遇到的问题就是两块UNO的数据共享问题,第一块IO除了pin 0和1外全用了,总不能用这两个pin实现两块UNO的串口通信吧,一是麻烦,二是我的数据没有时效性,第二块只要能在上电的时候一次性读取完SD卡中的数据就行了。

于是就有了这么个想法,两块UNO读取同一个SD卡。

网上卖的SD卡模块大部分是图中的样子:


SPI接口上有两排针,硬件连接倒是很方便,可以同时连两块UNO,可是能实现读取同一块SD卡吗?

目前不敢试验,怕把SD卡弄坏,希望有经验的同学提供些建议

maxims 发表于 2013-10-24 07:21:02

硬件上来说,可以!

迷你强 发表于 2013-10-24 08:57:38

本帖最后由 迷你强 于 2013-10-24 08:59 编辑

:L不可以吧。。。每个spi主机都给时钟信号,这不就傻了么?不过有协商机制就可以,比如,这1号板卡,断开读写卡的时候,会拉低一个IO口的电平。。。。,然二号板卡读写前确认这个电平是否为低。应该是OK的。。。单位时间只有一个板卡读写

林定祥 发表于 2013-10-24 10:10:10

原理上确实需要协调机制,保证不同是工作,否则会不稳定.另一个定时的问题,工作时其它端口并用无关,但是时钟只能一个,而且需和读写端口同步.

shenhaiyu 发表于 2013-10-24 12:17:10

林定祥 发表于 2013-10-24 10:10 static/image/common/back.gif
原理上确实需要协调机制,保证不同是工作,否则会不稳定.另一个定时的问题,工作时其它端口并用无关,但是时钟只 ...

就是说只要安排好两块UNO不同时操作SD卡,硬件上这样并联没问题呗?

maxims 发表于 2013-10-24 14:27:22

我的理解,两板按正常情况联接sd模块!
在读写之前先检测cs片选电平,如果为高则放弃操作,为低则sd模块空,置为高,并进行操作

Malc 发表于 2013-10-24 19:27:25

没问题的,你可以把sd卡、第二块uno当做从机,第一块当做主机就行,反正都是通过SPI通信,
不过sd卡选通信号应该只能接一块uno,如果不添加其他器件,否则会出现电平不同的问题

shenhaiyu 发表于 2013-10-26 16:11:34

maxims 发表于 2013-10-24 14:27 static/image/common/back.gif
我的理解,两板按正常情况联接sd模块!
在读写之前先检测cs片选电平,如果为高则放弃操作,为低则sd模块空 ...

嗯,软件上片选我懂,就是想问一下硬件上这样链接是否有问题~

maxims 发表于 2013-10-26 18:19:08

最多就是隔离一下嘛~隔离的话,具体方案我也暂时没有想过

shenhaiyu 发表于 2013-10-26 20:15:31

maxims 发表于 2013-10-26 18:19 static/image/common/back.gif
最多就是隔离一下嘛~隔离的话,具体方案我也暂时没有想过

那到底是用不用隔离呢

弘毅 发表于 2013-10-26 21:38:18

{:soso_e103:}其实我是进来看美女头像的

shenhaiyu 发表于 2013-10-26 23:07:16

弘毅 发表于 2013-10-26 21:38 static/image/common/back.gif
其实我是进来看美女头像的

:$         

patrick诚 发表于 2015-12-17 11:42:34

楼主实现了吗?能分享下不

maxims 发表于 2015-12-18 22:00:44

patrick诚 发表于 2015-12-17 11:42 static/image/common/back.gif
楼主实现了吗?能分享下不

理论上,2个主机SPI,1个从机SD卡,是可以的。每个主机读写SD卡前,先检测CS判断SPI总线是否忙。如忙则等,不忙就当自己是主机。

shenhaiyu 发表于 2016-3-17 10:27:57

maxims 发表于 2015-12-18 22:00 static/image/common/back.gif
理论上,2个主机SPI,1个从机SD卡,是可以的。每个主机读写SD卡前,先检测CS判断SPI总线是否忙。如忙则等 ...

那具体实现呢?
页: [1] 2
查看完整版本: 突然有个奇怪的想法,想用两个UNO读取同一个SD卡,不知道能否实现,有经验的谈一谈?