OpenEdv-开源电子网

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

[ALTERA] SD卡为什么不返回数据,没有0xFE令牌

[复制链接]

4

主题

20

帖子

0

精华

初级会员

Rank: 2

积分
53
金钱
53
注册时间
2020-11-1
在线时间
16 小时
发表于 2020-12-16 21:41:39 | 显示全部楼层 |阅读模式
1金钱
我做的FPGA读SD卡数据读取,FPGA发出读请求后,SD卡也可以返回00相应请求,但是为什么就不返回数据呢?一直收不到0xFE令牌
1.png

最佳答案

查看完整内容[请看2#楼]

问题解决了,好像确实是采样深度的问题。之前我一直把触发条件设为rd_start_en的上升沿,采样深度设为64K都一直没有返回的数据。这次我将触发条件改为距离数据输入最近的信号变换,触发条件改为rx_flag,这样就可以收到FE令牌,后面紧接着512字节的数据。非常感谢大佬一直解答我的问题,太厉害了。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

4

主题

20

帖子

0

精华

初级会员

Rank: 2

积分
53
金钱
53
注册时间
2020-11-1
在线时间
16 小时
 楼主| 发表于 2020-12-16 21:41:40 | 显示全部楼层
QinQZ 发表于 2020-12-18 09:29
只是通过SignalTap II判断有没有返回吗?有可能数据返回太靠后了,采样深度不够

问题解决了,好像确实是采样深度的问题。之前我一直把触发条件设为rd_start_en的上升沿,采样深度设为64K都一直没有返回的数据。这次我将触发条件改为距离数据输入最近的信号变换,触发条件改为rx_flag,这样就可以收到FE令牌,后面紧接着512字节的数据。非常感谢大佬一直解答我的问题,太厉害了。
5.png
回复

使用道具 举报

4

主题

20

帖子

0

精华

初级会员

Rank: 2

积分
53
金钱
53
注册时间
2020-11-1
在线时间
16 小时
 楼主| 发表于 2020-12-17 17:06:39 | 显示全部楼层
有偿求助,留言QQ我加你
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165186
金钱
165186
注册时间
2010-12-1
在线时间
2106 小时
发表于 2020-12-18 01:30:30 | 显示全部楼层
帮顶
回复

使用道具 举报

3

主题

1979

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
5520
金钱
5520
注册时间
2018-10-21
在线时间
1561 小时
发表于 2020-12-18 09:29:22 | 显示全部楼层
只是通过SignalTap II判断有没有返回吗?有可能数据返回太靠后了,采样深度不够
回复

使用道具 举报

4

主题

20

帖子

0

精华

初级会员

Rank: 2

积分
53
金钱
53
注册时间
2020-11-1
在线时间
16 小时
 楼主| 发表于 2020-12-18 10:01:37 | 显示全部楼层
QinQZ 发表于 2020-12-18 09:29
只是通过SignalTap II判断有没有返回吗?有可能数据返回太靠后了,采样深度不够

刚修改了采样的深度,但还是不行。一直没有FE令牌
回复

使用道具 举报

3

主题

1979

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
5520
金钱
5520
注册时间
2018-10-21
在线时间
1561 小时
发表于 2020-12-20 13:35:18 | 显示全部楼层
无敌昇哥 发表于 2020-12-18 10:01
刚修改了采样的深度,但还是不行。一直没有FE令牌

用的什么板子,换个SD卡试试呢
回复

使用道具 举报

4

主题

20

帖子

0

精华

初级会员

Rank: 2

积分
53
金钱
53
注册时间
2020-11-1
在线时间
16 小时
 楼主| 发表于 2020-12-22 09:29:53 | 显示全部楼层
QinQZ 发表于 2020-12-20 13:35
用的什么板子,换个SD卡试试呢

请问为什么返回00后,要这么久才能接收到返回的数据呢?怎么可以缩短这个时间?
回复

使用道具 举报

4

主题

20

帖子

0

精华

初级会员

Rank: 2

积分
53
金钱
53
注册时间
2020-11-1
在线时间
16 小时
 楼主| 发表于 2020-12-22 09:30:24 | 显示全部楼层
这个是波形
2.png
回复

使用道具 举报

4

主题

20

帖子

0

精华

初级会员

Rank: 2

积分
53
金钱
53
注册时间
2020-11-1
在线时间
16 小时
 楼主| 发表于 2020-12-22 10:11:15 | 显示全部楼层
QinQZ 发表于 2020-12-20 13:35
用的什么板子,换个SD卡试试呢

我这个程序把写操作加进去就可以收到数据,但是修改到只有读模块的话就不能收到数据。请问您知道怎么回事吗?
回复

使用道具 举报

3

主题

1979

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
5520
金钱
5520
注册时间
2018-10-21
在线时间
1561 小时
发表于 2020-12-22 11:47:44 | 显示全部楼层
无敌昇哥 发表于 2020-12-22 10:11
我这个程序把写操作加进去就可以收到数据,但是修改到只有读模块的话就不能收到数据。请问您知道怎么回事 ...

不应该啊,肯定还是程序哪里问题,是不是漏了对SD卡初始化
回复

使用道具 举报

3

主题

1979

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
5520
金钱
5520
注册时间
2018-10-21
在线时间
1561 小时
发表于 2020-12-22 11:48:15 | 显示全部楼层
QinQZ 发表于 2020-12-22 11:47
不应该啊,肯定还是程序哪里问题,是不是漏了对SD卡初始化

开拓者就有只读不写的例程。比如SD卡读图片显示,和音乐播放器的实验
回复

使用道具 举报

3

主题

1979

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
5520
金钱
5520
注册时间
2018-10-21
在线时间
1561 小时
发表于 2020-12-22 11:48:50 | 显示全部楼层
无敌昇哥 发表于 2020-12-22 09:29
请问为什么返回00后,要这么久才能接收到返回的数据呢?怎么可以缩短这个时间?

缩短不了。可以用连续读的命令,这样只有第一次返回时间长
回复

使用道具 举报

4

主题

20

帖子

0

精华

初级会员

Rank: 2

积分
53
金钱
53
注册时间
2020-11-1
在线时间
16 小时
 楼主| 发表于 2020-12-23 11:02:29 | 显示全部楼层
QinQZ 发表于 2020-12-22 11:47
不应该啊,肯定还是程序哪里问题,是不是漏了对SD卡初始化

SD卡初始化应该是成功了的,我看波形sd_int_done变为1,rd_start_en也显示1,miso也可以接收到00。就是不知道为什么后面不跟着数据,采样深度已经设到64K了,但还是不行。我真是百思不得解。请问您还有其他的建议吗?这个问题困扰我好久了
3.png
回复

使用道具 举报

3

主题

1979

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
5520
金钱
5520
注册时间
2018-10-21
在线时间
1561 小时
发表于 2020-12-23 19:15:32 | 显示全部楼层
无敌昇哥 发表于 2020-12-23 17:02
问题解决了,好像确实是采样深度的问题。之前我一直把触发条件设为rd_start_en的上升沿,采样深度设为64K ...

OK,解决了就好。 触发条件设置成rd_start_en是非常不合适的,设置成rx_flag,甚至rx_finish_en都可以
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-10-3 16:34

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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