kdc252626658 发表于 2017-4-15 19:58:41

stm32f407 加载sd卡失败

最近在调一款STM32F407做主控的产品,SD卡偶尔会出现加载失败的情况,以前做的电路都是一颗MCU对一张卡,这次的电路有一点不一样,把一张SD卡做了复用,目的是两颗MCU可以分时管理同一张SD卡。
思路如下:

BASE板上一颗MCU做主要的SD卡管理。如果control板上的MCU需要接管SD卡,则通过给模拟开关的select管脚置“0”来切换数据通路。模拟开关默认将SD卡接在BASE板上。







下边是具体的原理图,倒着贴的。







硬件电路就是这样,但会报SD卡加载失败。据软件的同事讲,这个是错误是由SD卡的电源引起的,比如SD初始化时会检查自己的电压,并记录下来,如果偏低,待MCU通讯时就会告知MCU,我的电源不正常,于是就加载失败。我仔细检查过SD卡的电源,他是和BASE板上的STM32F407用的同一个电源。并且3.3V电源电压稳定,建立也很迅速,没发现什么毛病。请高手帮忙分析分析,谢谢!



kdc252626658 发表于 2017-4-16 11:41:40

谁有SD卡加载过程的技术文档说明,提供一份,或者给个连接。谢谢!

kdc252626658 发表于 2017-4-25 08:51:59

看来大家都没遇到过这个问题。

发表于 2017-4-25 09:43:46

本帖最后由 安 于 2017-4-25 09:45 编辑

楼主应该加一个处理,只要有一路SD接通时,另外一路就不要再去操作了。如果单个操作没有问题,很肯能是由于同时操作导致的。

kdc252626658 发表于 2017-5-4 23:07:51

安 发表于 2017-4-25 09:43
楼主应该加一个处理,只要有一路SD接通时,另外一路就不要再去操作了。如果单个操作没有问题,很肯能是由于 ...

多谢指教!问题解决了,
是MCU2在初始化的时候,通道选择管脚电平没有做控制,导致MCU1正在跟SD卡握手的时候,通道选择信号出现了83us的低电平,这个时候所有的信号通路全部切换到MCU2,包括clk,所以MCU1与SD卡会握手失败,于是串口打印出“SD card initializing!”然后就卡住了。软件修改后就一切OK!
页: [1]
查看完整版本: stm32f407 加载sd卡失败