打印
[STM32H7]

STM32H7 FMC操作SDRAM读比写慢得多?

[复制链接]
1092|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
elephant00|  楼主 | 2023-11-13 14:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
使用STM32H723ZG通过FMC操作外部SDRAM W9825G6KH时, 数据宽度16bit, 总线频率108M, FMC操作时序如图,SDRAM CAS值为2,从0XC0000000到0xC1FFFFFF遍历写入并读出,通过TIM2计时,以字节写入时,写时间0.16秒,读时间0.73秒,以半字节操作时,写时间0.09秒,读时间0.71秒。请问为什么读比写要慢得多?
下面是写入和读出代码,系统主频550M,逻辑操作耗时应该基本可以忽略
for(temp=0; temp<SDRAM_TEST_SIZE; temp+=4) { (unsigned int)(SDRAM_TEST_ADDRESS_START+temp) = temp; }
for(temp=0; temp<SDRAM_TEST_SIZE; temp+=4) //读出并且比对预期写入值,如果不相符输出错误 { if(((unsigned int)(SDRAM_TEST_ADDRESS_START+temp)) != temp) { printf("find err on 0x%x\n\r", (SDRAM_TEST_ADDRESS_START+temp)); err++; } }


使用特权

评论回复
沙发
jcky001| | 2023-11-13 15:09 | 只看该作者
这主要是由于SDRAM的存储机制和数据传输机制导致的。

使用特权

评论回复
板凳
两只袜子| | 2023-11-13 15:10 | 只看该作者
可以考虑优化寻址策略、数据传输机制、使用硬件加速器和优化软件算法等方面来提高整体性能。

使用特权

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

本版积分规则

966

主题

2956

帖子

7

粉丝