请选择 进入手机版 | 继续访问电脑版

硬汉嵌入式论坛

 找回密码
 立即注册
查看: 24669|回复: 43
收起左侧

[FMC] STM32H7驱动32位SDRAM的写速度狂飙376MB/S,读速度189MB/S

  [复制链接]

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
105917
QQ
发表于 2019-2-25 00:29:58 | 显示全部楼层 |阅读模式
测试例子:
V7-023_外设32位带宽SDRAM性能测试(写每秒376MB,读每秒189MB).rar (2.72MB)


测试条件:

1、程序运行在Flash,数据空间采用DTCM。
2、SDRAM的工作时钟是100MHz,32位带宽,速度166MHz。

测试结果:
1、开启Cache
(1)使用MDK和IAR的各种优化等级测试,优化对其影响很小。
(2)写速度376MB/S,读速度182MB/S。
2、关闭Cache
(1)使用MDK和IAR的各种优化等级测试,优化对其影响很小。
(2)写速度307MB/S,读速度116MB/S。
3、IAR开启最高等级优化,读速度是189MB/S,比MDK的182MB/S高点。
4、对于MDK,本实验开启了最高等级优化和时间优化。
5、对IAR,本实验开启了最高等级速度优化。


采用了两种速度测试方法,一个是滴答定时器计数,另一个是DWT时钟计数器:
image.png


大家会觉得怎么读速度比写速度慢呢,实际测试的确是这样的,估计CL参数对读速度影响较大,后面有专业的SDRAM测试方案了,再测试下。



F429外接32位SDRAM的速度测试:
32位SDRAM写速度狂飙300MB/S,读速度90MB/S,需要专业的SDRAM测试方案来进一步测试
http://www.armbbs.cn/forum.php?m ... id=16836&fromuid=58


回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
105917
QQ
 楼主| 发表于 2019-2-25 00:31:08 | 显示全部楼层
程序和数据都在TCM做测试,跟楼主位的结果差不多。
回复

使用道具 举报

36

主题

2037

回帖

2145

积分

至尊会员

积分
2145
发表于 2019-2-25 09:18:05 来自手机 | 显示全部楼层
读速度提升不少
回复

使用道具 举报

36

主题

2037

回帖

2145

积分

至尊会员

积分
2145
发表于 2019-2-25 09:34:24 来自手机 | 显示全部楼层
关闭cache的情况下,.比f429高一点,看来开启cache的影响还是不小的。
回复

使用道具 举报

262

主题

578

回帖

1364

积分

至尊会员

积分
1364
发表于 2019-2-25 09:43:55 | 显示全部楼层
大佬,这个SDRAM的时钟要怎么理解啊?一个是MCU上SDRAM的时钟100M,一个是芯片的工作频率166M
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
105917
QQ
 楼主| 发表于 2019-2-25 09:45:19 | 显示全部楼层
jplzl10000 发表于 2019-2-25 09:43
大佬,这个SDRAM的时钟要怎么理解啊?一个是MCU上SDRAM的时钟100M,一个是芯片的工作频率166M

166是支持的最高同步时钟。
回复

使用道具 举报

606

主题

3019

回帖

4857

积分

至尊会员

积分
4857
发表于 2019-2-25 10:56:37 | 显示全部楼层
eric2013 发表于 2019-2-25 09:45
166是支持的最高同步时钟。

你吧sdram 的时钟频率搞到 166 试试看,读写速度会不会有所提升啊 ??
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
105917
QQ
 楼主| 发表于 2019-2-25 10:59:58 | 显示全部楼层
hpdell 发表于 2019-2-25 10:56
你吧sdram 的时钟频率搞到 166 试试看,读写速度会不会有所提升啊 ??

H7限制最大100MHz工作频率驱动SDRAM,再大属于超频,所以测试的价值不大。
777.jpg
回复

使用道具 举报

606

主题

3019

回帖

4857

积分

至尊会员

积分
4857
发表于 2019-2-25 14:56:57 | 显示全部楼层
本帖最后由 hpdell 于 2019-2-25 15:00 编辑
eric2013 发表于 2019-2-25 10:59
H7限制最大100MHz工作频率驱动SDRAM,再大属于超频,所以测试的价值不大。

原来如此啊,另外问一下,你们的 H7 的板子 大概还有多久可以销售啊?
板子上有没有外挂 sram ?
回复

使用道具 举报

3

主题

82

回帖

91

积分

初级会员

积分
91
发表于 2019-2-25 15:05:23 | 显示全部楼层
其实我也很关注H7的板子和调试工具什么时候出来,好想买!
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
105917
QQ
 楼主| 发表于 2019-2-25 15:07:16 | 显示全部楼层
hpdell 发表于 2019-2-25 14:56
原来如此啊,另外问一下,你们的 H7 的板子 大概还有多久可以销售啊?
板子上有没有外挂 sram ?

挂了SDRAM。正在努力中,争取早点。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
105917
QQ
 楼主| 发表于 2019-2-25 15:07:43 | 显示全部楼层
Nesayx 发表于 2019-2-25 15:05
其实我也很关注H7的板子和调试工具什么时候出来,好想买!

正在努力中,争取早点。
回复

使用道具 举报

606

主题

3019

回帖

4857

积分

至尊会员

积分
4857
发表于 2019-2-25 17:25:00 | 显示全部楼层
eric2013 发表于 2019-2-25 15:07
挂了SDRAM。正在努力中,争取早点。

你好,我刚才问的是 sram 啊,不是sdram 哟 ?

当然 sdram 肯定也是需要的啊
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
105917
QQ
 楼主| 发表于 2019-2-25 17:27:59 | 显示全部楼层
hpdell 发表于 2019-2-25 17:25
你好,我刚才问的是 sram 啊,不是sdram 哟 ?

当然 sdram 肯定也是需要的啊

SRAM太奢侈了,32位带宽的2MB,一片150块钱,买不起

像我们V5板子的那个高速SRAM 2MB。一片在70多。
回复

使用道具 举报

606

主题

3019

回帖

4857

积分

至尊会员

积分
4857
发表于 2019-2-25 19:14:54 | 显示全部楼层
eric2013 发表于 2019-2-25 17:27
SRAM太奢侈了,32位带宽的2MB,一片150块钱,买不起

像我们V5板子的那个高速SRAM 2MB。一片在70多。

这么贵呀,太不像话了啊
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
105917
QQ
 楼主| 发表于 2019-2-25 19:26:42 | 显示全部楼层
hpdell 发表于 2019-2-25 19:14
这么贵呀,太不像话了啊

ISSI的一款。
回复

使用道具 举报

12

主题

74

回帖

110

积分

初级会员

积分
110
发表于 2019-2-25 22:20:27 | 显示全部楼层
用了什么型号的SDRAM?
回复

使用道具 举报

0

主题

36

回帖

36

积分

新手上路

积分
36
发表于 2019-2-25 23:21:07 | 显示全部楼层
大佬可以试着用DMA测试SDRAM读写看看,不知道能不能更快一点
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
105917
QQ
 楼主| 发表于 2019-2-26 00:23:33 | 显示全部楼层
yangskyhigh 发表于 2019-2-25 22:20
用了什么型号的SDRAM?

等发布了公布所有信息
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
105917
QQ
 楼主| 发表于 2019-2-26 00:24:42 | 显示全部楼层
小志 发表于 2019-2-25 23:21
大佬可以试着用DMA测试SDRAM读写看看,不知道能不能更快一点

通用DMA的性能有限

此贴有测试,后面会发一个DMA2D的测评。
----------------------
STM32H7的DMA存储器到存储器模式的速度基本是11MHz复制频率
http://www.armbbs.cn/forum.php?m ... 1281&fromuid=58
(出处: 安富莱电子论坛)
回复

使用道具 举报

0

主题

36

回帖

36

积分

新手上路

积分
36
发表于 2019-2-26 01:09:38 | 显示全部楼层
eric2013 发表于 2019-2-26 00:24
通用DMA的性能有限

此贴有测试,后面会发一个DMA2D的测评。

代码里DMA配置有点问题,burst mode选的是single transfer,数据是一个接一个传的,发挥不出DMA的性能,可以改成INCR16试试,应该会快很多
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
105917
QQ
 楼主| 发表于 2019-2-26 02:11:10 | 显示全部楼层
小志 发表于 2019-2-26 01:09
代码里DMA配置有点问题,burst mode选的是single transfer,数据是一个接一个传的,发挥不出DMA的性能, ...

的确有些效果,不过字传输只能使用INC4
速度由那个帖子的90us,提升到60us

QQ截图20190226021810.jpg
回复

使用道具 举报

0

主题

36

回帖

36

积分

新手上路

积分
36
发表于 2019-2-26 07:58:56 | 显示全部楼层
eric2013 发表于 2019-2-26 02:11
的确有些效果,不过字传输只能使用INC4
速度由那个帖子的90us,提升到60us

谢谢大佬提醒,学习了。SDRAM这个可以用MDMA把数据从FMC搬到AXI SRAM,没有burst size的限制
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
105917
QQ
 楼主| 发表于 2019-2-26 10:32:43 | 显示全部楼层
小志 发表于 2019-2-26 07:58
谢谢大佬提醒,学习了。SDRAM这个可以用MDMA把数据从FMC搬到AXI SRAM,没有burst size的限制

MDMA的缺点是使用起来太麻烦,不够亲民,得好好熟练下才行,所以现在基本都不怎么研究它了,主要使用DMA1,DMA2和BDMA。
回复

使用道具 举报

606

主题

3019

回帖

4857

积分

至尊会员

积分
4857
发表于 2019-2-26 12:15:22 | 显示全部楼层
本帖最后由 hpdell 于 2019-2-26 12:26 编辑

https://item.taobao.com/item.htm ... 1&abbucket=6#detail

貌似这款 2MB 的sram 便宜啊,8bit 的
8bit 的 应该不用考虑 4字节对齐吧 ??
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
105917
QQ
 楼主| 发表于 2019-2-26 12:31:02 | 显示全部楼层
hpdell 发表于 2019-2-26 12:15
https://item.taobao.com/item.htm ... 1&abbucket=6#detail

貌似这款 2MB 的sram 便宜啊,8bit 的

8bit用在H7上意义不大。
我们V5 F407板子用的这款:
QQ截图20190226122845.jpg






回复

使用道具 举报

606

主题

3019

回帖

4857

积分

至尊会员

积分
4857
发表于 2019-2-26 14:42:31 | 显示全部楼层
eric2013 发表于 2019-2-26 12:31
8bit用在H7上意义不大。
我们V5 F407板子用的这款:

这个价格确实高了,他们这个貌似是 含 16%  的增值税的
回复

使用道具 举报

39

主题

926

回帖

1048

积分

至尊会员

积分
1048
发表于 2019-2-26 15:10:10 | 显示全部楼层
eric2013 发表于 2019-2-26 12:31
8bit用在H7上意义不大。
我们V5 F407板子用的这款:

我在想,单片机怎么都不给个DDR2/DDR3接口?DDR2/DDR3不是很便宜吗?速度还快。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
105917
QQ
 楼主| 发表于 2019-2-26 15:12:17 | 显示全部楼层
ghslfgkkl88 发表于 2019-2-26 15:10
我在想,单片机怎么都不给个DDR2/DDR3接口?DDR2/DDR3不是很便宜吗?速度还快。

估计Cortex-M内核性能吃不消,之前PIC32DA MZ那款单片机自带的DDR2是工作在400MHz。
回复

使用道具 举报

39

主题

926

回帖

1048

积分

至尊会员

积分
1048
发表于 2019-2-26 15:21:09 | 显示全部楼层
eric2013 发表于 2019-2-26 15:12
估计Cortex-M内核性能吃不消,之前PIC32DA MZ那款单片机自带的DDR2是工作在400MHz。

这个跟内核性能没关系吧?接口工作在那等高速下,CPU慢点又不会出问题?新塘NUC972内置的DDR2好像是工作在150MHz下的。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
105917
QQ
 楼主| 发表于 2019-2-26 15:26:17 | 显示全部楼层
ghslfgkkl88 发表于 2019-2-26 15:21
这个跟内核性能没关系吧?接口工作在那等高速下,CPU慢点又不会出问题?新塘NUC972内置的DDR2好像是工作 ...

做不了,如果你观察下各个厂家的M内核芯片,基本所有外设多是工作在低于系统时钟的,除了TCM ,Cache等于CPU等速。

像F4,H7这些接SDRAM都需要至少2分频。

我个人的看法。
回复

使用道具 举报

39

主题

926

回帖

1048

积分

至尊会员

积分
1048
发表于 2019-2-26 15:32:40 | 显示全部楼层
eric2013 发表于 2019-2-26 15:26
做不了,如果你观察下各个厂家的M内核芯片,基本所有外设多是工作在低于系统时钟的,除了TCM ,Cache等于C ...

你说起这个我也想起来了,的确如此。但其实没想明白为什么都这样
回复

使用道具 举报

39

主题

926

回帖

1048

积分

至尊会员

积分
1048
发表于 2019-2-26 15:41:48 | 显示全部楼层
eric2013 发表于 2019-2-26 15:26
做不了,如果你观察下各个厂家的M内核芯片,基本所有外设多是工作在低于系统时钟的,除了TCM ,Cache等于C ...

而且其实频率低一点也没关系。像你说的PIC32的DDR2,CPU频率200M,对半分给DDR2是100M,等效为400M,就算它的DDR2是16位宽度的,400M * 16 / 8 = 800MB/S。新塘的CPU是300MHz,对半给DDR2是150M,等效为600M,16位位宽就是600M * 16 / 8 = 1200MB/S。这也很可观了吧?另,我这样算对不?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
105917
QQ
 楼主| 发表于 2019-2-26 16:05:59 | 显示全部楼层
ghslfgkkl88 发表于 2019-2-26 15:41
而且其实频率低一点也没关系。像你说的PIC32的DDR2,CPU频率200M,对半分给DDR2是100M,等效为400M,就算 ...

PIC32的时钟就是400MHz
回复

使用道具 举报

4

主题

42

回帖

54

积分

初级会员

积分
54
发表于 2019-2-26 21:02:57 | 显示全部楼层
dram的结构决定了写入比读出更容易,所以写入速度更快这并不奇怪。
研究一下dram结构就明白了,写入过程就是直接对存储电容充电,而读出过程中还需要先预充电,不能一读数据把电容里的电荷消耗完了,电荷消耗过多就丢数据了。
回复

使用道具 举报

36

主题

2037

回帖

2145

积分

至尊会员

积分
2145
发表于 2019-2-26 21:08:30 来自手机 | 显示全部楼层
jinggx 发表于 2019-2-26 21:02
dram的结构决定了写入比读出更容易,所以写入速度更快这并不奇怪。
研究一下dram结构就明白了,写入过程就 ...

有道理
回复

使用道具 举报

5

主题

54

回帖

69

积分

初级会员

积分
69
发表于 2020-7-9 10:19:13 | 显示全部楼层
大神,IAR环境下怎么把一个数组定义到SDRAM中哇
回复

使用道具 举报

1

主题

17

回帖

20

积分

新手上路

积分
20
发表于 2020-7-9 23:31:05 | 显示全部楼层
fengxiaoyu 发表于 2020-7-9 10:19
大神,IAR环境下怎么把一个数组定义到SDRAM中哇

大神写的用户手册里有
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
105917
QQ
 楼主| 发表于 2020-7-10 02:32:10 | 显示全部楼层
fengxiaoyu 发表于 2020-7-9 10:19
大神,IAR环境下怎么把一个数组定义到SDRAM中哇

像使用内部SRAM一样定义使用STM32H7的外部SDRAM,含MDK和IAR两版
http://www.armbbs.cn/forum.php?m ... 8697&fromuid=58
(出处: 硬汉嵌入式论坛)
回复

使用道具 举报

5

主题

54

回帖

69

积分

初级会员

积分
69
发表于 2020-7-10 08:50:58 | 显示全部楼层
eric2013 发表于 2020-7-10 02:32
像使用内部SRAM一样定义使用STM32H7的外部SDRAM,含MDK和IAR两版
http://www.armbbs.cn/forum.php?mod=v ...

多谢
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-3-29 07:14 , Processed in 0.299780 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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