OpenEdv-开源电子网

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

SDIO 4线模式驱动T卡,Power_ON过程失败,求帮助啊~~项目比较急

[复制链接]

28

主题

125

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
260
金钱
260
注册时间
2013-4-14
在线时间
1 小时
发表于 2015-3-16 20:17:13 | 显示全部楼层 |阅读模式
5金钱
同一个T卡,一直用原子哥的探索者开发板来做的,套一个大卡套,插入板子的卡座上,用原子哥的驱动代码,直接认卡,读写文件什么的都很顺利。
觉得T卡这部分搞定了。可是我们自己的硬件回来了,T卡就悲剧了。

我们用的STM32F411CEY6 这款芯片,电路图如下:


/*  inout & Signal
SD_EN-------------PB14
SD_CLK------------PB15
SD_CMD------------PA6
SD_D0-------------PB4
SD_D1-------------PA8
SD_D2-------------PA9
SD_D3-------------PB5
*/

我直接在原子哥的驱动代码上做改动,将初始化部分的GPIO改成我们的硬件,(当然源代码中是著名了出处的)
调试发现1. CMD0-->errorstatus=OK, 但是没有任何respond; 2. CMD8 -->errorstatus=OK,还是没有任何respond;3.CMD55-->errorstatus=非法命令 0x10,SDIO的状态寄存器也变为0x40;
4.于是进入 MMC卡,发送CMD1-->errorstatus=OK,respond一直都是0,所以电压永远无法提取到,所以最后就以电压不在范围失败告终;

但是用原子哥的探索者板子,仿真CMD8成功了,就有respond了,然后CMD55 也会成功,也有respond接下来就是进入SD卡,CMD55+ACMD41试几次就成功了,以后的功能都能正常用。

开始怀疑是上拉的问题,试着把探索者板子的上拉焊掉,依然OK,害怕是33R电阻问题,焊掉,短接,问题依旧。
3v3电压也一直是对的, 我程序中尝试把CMD/SCK两条线不初始化,就会报respond timeout错误,这说明CMD/CLK两条信号应该是对的。
尝试不初始化DATA0~DATA3发现根本没任何影响,跟之前描述的现象一样,是否初始化过程中,本来就不用DATA线。只用CMD/CLK线呢?

如果只用这两条线,我代码也验证了,如果他们有问题,就直接会timeout而不会 ok,而如果不是他们的问题,SD卡就一个 VCC,GND了,代码我也是只改了GPIO的部分,SDIO48Mhz时钟也是配置好的。
真的不知道该怎么查找下去了。
项目有点急,希望大家帮帮忙,集思广益,出出主意,谢谢了。

我可以一辈子都呆在家里不出来么?
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

3

主题

2164

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
5757
金钱
5757
注册时间
2013-11-22
在线时间
1208 小时
发表于 2015-3-16 23:17:47 | 显示全部楼层
再试试4个数据线也上拉10K
回复

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
发表于 2015-3-17 20:30:15 | 显示全部楼层
线上不要串联电阻,加上拉电阻
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
21
金钱
21
注册时间
2013-3-29
在线时间
0 小时
发表于 2015-4-7 10:25:08 | 显示全部楼层
楼主请问你问题解决了吗?我目前也碰到同样的问题!!!
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-2-24 12:22

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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