STM32的FSMC扩展SRAM的时序测量及配置

[复制链接]
 楼主| aozima 发表于 2012-5-1 22:37 | 显示全部楼层 |阅读模式
本帖最后由 aozima 于 2012-5-2 15:51 编辑

先贴图上测试数据,详细介绍见文档。
STM32的FSMC扩展SRAM的时序测量及配置.pdf (391.52 KB, 下载次数: 479)

先看F103
ZET6
主频72M
FSMC:ADDSET=0,DATSET=1,BUSTURN=0
103_benchmark.jpg

再看F4
ZGT6主频168M
FSMC接中速SRAM:ADDSET=4,DATSET=4,BUSTURN=1
F4_M_benchmark.jpg

FSMC接高速SRAM:ADDSET=2,DATSET=3,BUSTURN=1
F4_H_benchmark.jpg
香水城 发表于 2012-5-2 08:24 | 显示全部楼层
怎么解读呢?
airwill 发表于 2012-5-2 09:06 | 显示全部楼层
我感觉测试这个意义不是很大.
1. 准确度不可信.
F103ZET6, 主频72M byte: Internal SRAM 的 write 9.78MByte/s, read 7.61Mbyte/S.
应该说内部ram 的读写都是单周期的. 理论上讲是相同的, 而且最大吞吐率应该是 72Mbyte/s. 但测试结果差别这么大, 原因在于指令的特性和测试软件所使用的指令(写指令可以单周期, 在写SRAM 的时候, cpu 已经在执行下一条指令了; 而读指令通常却要等读到数据后才能继续下一条指令,从而多出了一个周期而导致读的谈吐率明显小于写).
2. 间接反应处理器总体的数据吞吐能力.
F103ZET6, 主频72M 其实其数据总体吞吐能力应该远高于这个数值, 但是多度地受限制于 FLASH 读指令的速度. 所以 F103  的单位 MHZ 的数据吞吐率明显低于 F4.
3. 鉴于 FLASH 对取指的影响, 可以预见: 单位 MHZ 的数据吞吐率最高的将是 F2 而不是 F4.(当然由于 F4 的主频高, 绝对值肯定超过 F2), 这也正是 F2/F4 改进 FLASH 缓存技术, 采用 ART 的原因.
 楼主| aozima 发表于 2012-5-2 09:48 | 显示全部楼层
本帖最后由 aozima 于 2012-5-2 10:01 编辑

以上的测试主要是用于对比内部和外部SRAM的,而不是看绝对值。
因为使用软件测试,中断都没有关,加上代码是在FLASH中运行。

memset里面是做了最大优化的,这个可以体现SRAM及CPU的最大性能。
(不算FLASH等待的话)

但完全一样的程序,也可以对F103和F2/F4的FLASH做对比。
这个的测试的主要目地是FSMC的时序和配置。

因为原来在103时使用25616的10ns速度的SRAM,怎么配都没关系。
而现在在F4上面使用55ns的SRAM就有关系的,要好好计算设置几个周期。
 楼主| aozima 发表于 2012-5-2 15:54 | 显示全部楼层
文档已上传,写得不对还请拍砖。
sen_81 发表于 2014-8-4 08:20 | 显示全部楼层
最近也遇到这个问题,刚学STM,谢谢楼主详细的测试
STM32初学者 发表于 2014-8-30 09:32 | 显示全部楼层
可以参考下,学习了!
grace75 发表于 2014-8-30 10:16 | 显示全部楼层
谢谢楼主的资料!学习了
1398117027 发表于 2014-8-30 11:51 | 显示全部楼层
学习了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:RTOS RT-Thread

55

主题

2039

帖子

23

粉丝
快速回复 在线客服 返回列表 返回顶部