打印

SPI模式调试T卡,一直没有回应(附原理图)

[复制链接]
3570|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
使用网上多套STM32的代码移值,T卡一直没有回应信息
返回的总是0xff
后来发现我们的硬件SDI与SDO接反了,反过来仍然不行
使用GPIO模拟SPI仍然没有成功的迹象,使用示波器查看CLOCK的频率为300多K,满足小于400K的条件
T卡使用手机查看是好的

请各位大虾帮忙分析一下,有什么方面的原因

沙发
scofieldlau|  楼主 | 2011-4-13 16:52 | 只看该作者
已经调到想不到新办法了,郁闷ing...

使用特权

评论回复
板凳
scofieldlau|  楼主 | 2011-4-13 17:11 | 只看该作者
等待高人。。。。。

使用特权

评论回复
地板
pkat| | 2011-4-13 18:24 | 只看该作者
帮楼主顶一下

使用特权

评论回复
5
banhushui| | 2011-4-13 19:56 | 只看该作者
:D不会卡座封装搞错了吧

使用特权

评论回复
6
scofieldlau|  楼主 | 2011-4-14 08:49 | 只看该作者
5# banhushui 感谢回复
T卡卡座封装还有讲究吗??T卡放上去很合身啊。。。。
使用示波器看卡座上的接触点信号可以受控制的啊
应该没有错吧

使用特权

评论回复
7
yzzly| | 2011-4-14 13:19 | 只看该作者
查看SDO线上数据波形是否正确,如正确再对照卡的时序要求仔细修改程序以配合时序要求

使用特权

评论回复
8
yan2005| | 2011-4-14 14:05 | 只看该作者
1. 确保你的SPI接口已经能往外送CS, MOSI, SCK。
2. 上拉电阻以及隔离的10R可以都不接;下面再接个电容更是画蛇添足,搞不好很有问题。
3. 严格按照SPI模式SD卡的启动方式来写你的代码,每一步都要成功了再往下走。

示波器在MISO上设一个触发模式,这样一旦卡有反应信号,你就能知道了。

使用特权

评论回复
9
scofieldlau|  楼主 | 2011-4-14 16:00 | 只看该作者
本帖最后由 scofieldlau 于 2011-4-14 17:05 编辑

感谢楼上各位的回复!!

1. 确保你的SPI接口已经能往外送CS, MOSI, SCK。
==>  为了避免封闭的spi问题,已经使用GPIO控制这几个管脚,并且使用断点调试,这几个管脚可以受控
         测试SCK频率< 400K, CS控制正常,MOSI 有信号输出

2. 上拉电阻以及隔离的10R可以都不接;下面再接个电容更是画蛇添足,搞不好很有问题。
==> 硬件方面可能是有问题,我主要写驱动,硬件由另一同事负责,在商量更改

3. 严格按照SPI模式SD卡的启动方式来写你的代码,每一步都要成功了再往下走。
==> 开始将CS拉高,CLK信号走>74个CLOCK,再发CMD0,第一步就没成功过,返回值一直为0xFF

使用GPIO方式模拟SPI,使用芯片封装的SPI都试过,就是第一步CMD0时就返回0xFF

继续郁闷ing...

使用特权

评论回复
10
scofieldlau|  楼主 | 2011-4-14 17:04 | 只看该作者
明天接我的MMC卡卡座用GPIO调试一下看。。。。

使用特权

评论回复
11
yan2005| | 2011-4-14 21:38 | 只看该作者
那先把那几个电容卸掉吧, 管脚确认都是通的。SPI接口速度慢,用飞线也可以,所以那些上拉下拉、电容都不需要。不过你用GPIO更慢,以后还是需要改到spi的吧。

使用特权

评论回复
12
scofieldlau|  楼主 | 2011-4-15 09:10 | 只看该作者
那先把那几个电容卸掉吧, 管脚确认都是通的。SPI接口速度慢,用飞线也可以,所以那些上拉下拉、电容都不需要。不过你用GPIO更慢,以后还是需要改到spi的吧。 ...
yan2005 发表于 2011-4-14 21:38


感谢回复!
现在没有飞线的板子上使用GPIO模拟的SPI可以收到CMD0的回应信息0x01了
之前调试时没有那么认真,设置断点发现第一次收到0xff 就没往下看了,其实紧接着就来0x01了
现在Hello World出来就不怕了

是的使用GPIO主要是为了验证问题,之后还是要改回来的

Thanks again!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

7

帖子

1

粉丝