SDRAM 总是比 HyperRAM 快吗?

问题描述 投票:0回答:0

最近我一直在开发一个使用 LVGL 的 GUI 项目,其微控制器是 NXP I.MXRT1176,它具有高达 1GHz 时钟频率的高性能。然而,我在 RAM 选择方面面临着困境。最初,我的项目使用通过 SEMC 连接的 SDRAM。即使没有启用编译器优化,GUI 的显示和转换也非常流畅。

但现在,我们希望电路板尽可能紧凑,因此我们决定选择通过 FlexSPI 连接的 HyperRAM。它的引脚更少,封装更小。

以下是我一直使用的 SDRAM 和 HyperRAM 的参考手册: HyperRAM:https://www.issi.com/WW/pdf/66-67WVH64M8DALL-BLL.pdf SDRAM:https://www.micro-semiconductor.com/datasheet/76-W9825G6KH-5-TR.pdf

HyperRAM 数据表提到,在 200MHz 时,数据速率为 400MB/s,这与我使用的 SDRAM 的速度类似,数据表中提到的是 200M Words/s。

在 HyperRAM 板中,我将时钟频率设置为最大 200MHz。然而,实际性能差异很大。屏幕之间的过渡不流畅,CPU 使用率明显增加,导致 FPS(每秒帧数)下降。该板还带有MIPI摄像头,在SDRAM板上,即使不启用编译器优化,CPU占用率也在50%左右,摄像头图像的显示非常流畅。但在 HyperRAM 板上,启用 -O3 编译器优化后,相机图像的播放非常卡顿,CPU 占用率高达 90%。

我不确定 HyperRAM 中的某些寄存器是否需要配置才能更有效地访问内存中的数据。或者,SDRAM 本质上可能比 HyperRAM 更快,尽管它们的数据速率如手册中所示相似。值得注意的是,SDRAM 是 RAM 的一种,而 HyperRAM 尽管其名称如此,但与闪存共享引脚封装。

顺便说一句,我必须为 FlexSPI 启用一项名为“删除 AHB 读取突发起始地址对齐限制”的功能。如果未启用,GPU 中断有时无法按预期触发。然而,当我启用它时,HyperRAM 的速度似乎会降低。

我想知道在我的情况下,牺牲空间是否总是会导致速度的牺牲?那我应该如何选择内存呢?

embedded hardware ram nxp-microcontroller
© www.soinside.com 2019 - 2024. All rights reserved.