OpenEdv-开源电子网

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

FPGA使用SPI协议写SD卡时,SPI最大时钟频率只有0.5MHz?

[复制链接]

2

主题

6

帖子

0

精华

新手上路

积分
21
金钱
21
注册时间
2021-5-11
在线时间
5 小时
发表于 2021-5-11 21:34:01 | 显示全部楼层 |阅读模式
1金钱

我查资料看到SPI模式最大时钟频率可以到25MHz,但是我在自己使用时最大时钟频率只能给到0.5MHz,如果时钟频率提高,在多块写(CMD25)模式下,第二个扇区的数据会不正确,而且最多只能写32个扇区。用singaltap抓取数据,发现miso数据线会不正常拉低。以下两张截图都是在写完第一个扇区之后,尝试过在写两个不同的块之间添加延时,最高延时200个时钟周期,但没有效果,使用的是EP3C16Q240芯片。


烦请论坛里面的老哥指点!











正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

4

主题

2082

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
5829
金钱
5829
注册时间
2018-10-21
在线时间
1678 小时
发表于 2021-5-12 14:14:20 | 显示全部楼层
只试过单个块的读写,时钟频率可以到50Mhz
回复

使用道具 举报

2

主题

6

帖子

0

精华

新手上路

积分
21
金钱
21
注册时间
2021-5-11
在线时间
5 小时
 楼主| 发表于 2021-5-12 14:38:01 | 显示全部楼层
QinQZ 发表于 2021-5-12 14:14
只试过单个块的读写,时钟频率可以到50Mhz

单个快的读写需要加一个写块数命令吗,不然默认是写一个块吧
回复

使用道具 举报

4

主题

2082

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
5829
金钱
5829
注册时间
2018-10-21
在线时间
1678 小时
发表于 2021-5-12 15:47:15 | 显示全部楼层
tskk 发表于 2021-5-12 14:38
单个快的读写需要加一个写块数命令吗,不然默认是写一个块吧

嗯,我们是用CMD24写的单个数据块
回复

使用道具 举报

2

主题

6

帖子

0

精华

新手上路

积分
21
金钱
21
注册时间
2021-5-11
在线时间
5 小时
 楼主| 发表于 2021-5-12 15:59:14 | 显示全部楼层
请问如果用CMD24写单个数据块,想再写下一个数据块是要重新发一遍命令吗,地址也要+1?
回复

使用道具 举报

2

主题

6

帖子

0

精华

新手上路

积分
21
金钱
21
注册时间
2021-5-11
在线时间
5 小时
 楼主| 发表于 2021-5-12 15:59:52 | 显示全部楼层
QinQZ 发表于 2021-5-12 15:47
嗯,我们是用CMD24写的单个数据块

请问如果用CMD24写单个数据块,想再写下一个数据块是要重新发一遍命令吗,地址也要+1?
回复

使用道具 举报

4

主题

2082

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
5829
金钱
5829
注册时间
2018-10-21
在线时间
1678 小时
发表于 2021-5-13 09:03:19 | 显示全部楼层
tskk 发表于 2021-5-12 15:59
请问如果用CMD24写单个数据块,想再写下一个数据块是要重新发一遍命令吗,地址也要+1?

要重新发一遍命令,效率比较低。但你用连续的写,频率也不至于这么低的
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-5-24 11:13

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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