SD卡初始化的时候,CMD0都不对,返回的是0xff,一般问题回出现在什么地方?
如题 问题解决,我遇到的问题是,金士顿的卡就不行scandisk的卡就可以,真是郁闷 请问你是怎么解决的? 你 CMD0 之前的74个时钟脉冲加的够数么
而其初始化要多跑几次,有些卡确实一次通不过!! 额,我的能正常CMD0,CMD1死活不对,郁闷死了 我遇到了相同的问题
所有的PCB板,金士顿2.0G的没有任何问题
奇怪的是:换成4G的卡极少数几块板没有问题
大多数板(金士顿4G,CM0正常,CMD1重试过程中交替返回0x00,0xE0))
scandisk(CMD0,死活都返回0xFF)
电平转换用的9013三极管(M64)
后来多拭了几张4G金士顿SD,发现有些卡可以,有些不可以,真是郁闷,现象同上
楼上几位后来怎么解决的,肯请指教 问题解决了
在此公布解决方案,希望后来的朋友遇到此情况能够迅速解决
我用的是三极管加下拉电阻进行匹配的方案,接的下拉电阻是4.7K,然后能过一条长250mm的28#线引到SD卡座
问题即在于此:1.线长极易引受干扰,且引起0电平略高;2.分布电容引起延时以及信号微小畸变
解决方案:1.减小下拉电阻,强下拉,我降到1K 2.引线缩短,最好就焊在板上,且离MCU一定要近
看似一个微不足道的问题,可能认为是软件兼容性问题,死活查不出来,我是搞了一天。 我也痛苦啊,一直返回0xff hecb999 发表于 2010-6-28 15:22 static/image/common/back.gif
问题解决了
在此公布解决方案,希望后来的朋友遇到此情况能够迅速解决
如果真是硬件的问题,会不会,无论什么程序都无法初始化成功呢。
我发现我的卡发送CMD0一直返回的是0xff,(在发送cmd0之前已经发送了80个空时钟,spi发送0xff),同样的方法在io口模拟spi的情况下,能够得到正确的返回值0x01. 使用spi ip核,就是0xff, 会不会因为时钟太快了呢?
请问有没有什么解决办法? 从硬件和软件上,给我提一点建议。 非常感谢
woniu158 发表于 2013-4-25 10:59 static/image/common/back.gif
如果真是硬件的问题,会不会,无论什么程序都无法初始化成功呢。
我发现我的卡发送CMD0一直返回的是0xff ...
检查时序,sd卡的时序是 时钟空闲高电平,在第二个沿发送(接收数据),再就是CMD0做成循环执行200次,参考正点原子的SD卡实验试试。
页:
[1]