• 18
  • 10月

虽然已经过去一段时间了,但是还是有必要记录下来,以免下次再犯同样的错误。

首先,在给SD卡初始化的过程中,必须要先开电,然后再给IO上拉!虽然,先给IO开上拉,再上电也大部份能够正常使用。然而,仅仅是大部份而已。为什么会这样呢?原因是:先给IO上拉,会在SD卡内部把VCC拉高,有可能导致SD卡主控芯片运行异常。其它一些芯片应该也是这样,Hanny,要记住了:先开电,再上拉。

血淋淋的教训啊。

» Tags:心得, 教训

» 这篇文章共有3条评论,你可以在文章底部留下你的评论

  1. 2010-03-07 23:59

    [...]做SD/MMC卡驱动的项目也有大半年了,总觉得该总结些什么了。在这里,主要就是记录一些比较常见的问题及解决方法,以免再一次遇到。首先就是SD/MMC卡的初始化错误问题。在找错误之前,先确认:1.用读卡器确认这张SD卡是否损坏;2.用另一套环境(一样的程序)读取同一张卡,是否正常;3.用相同的环境读取另外一张SD卡是否正常。如果是1,那么就直接退出本文章了;如果是2,那么就是该环境上出现虚焊短路或芯[...]

  2. xOpenLee Says:
    2015-02-01 14:35

    hanny,我不明白你的血的教训.
    1.SDMMC对与CMD和DATA是单板VCC给的上拉电阻,不需要GPIO去控制上拉电压?
    2.即使是"即使是IO上拉电压先于SD IP的电压",使得SDMMC的状态机混乱, 可以通过SD IP 的 PWR寄存器给SDMMC 卡重新复位, 也可以通过发送CMD0使得SDMMC 处于IDEL状态.

  3. Silei Says:
    2018-07-02 15:23

    HANNY你好:
    请问一下开电和上拉具体指哪一步操作,能给我发一些指导性的邮件吗?我在用SD卡,在初始化的时候会偶尔出现初始化错误的问题,并且这种问题只能通过重新上电来解决。
    希望得到您的指导,不胜感激!

发表评论