FMC 比 STM32H7 上的 QSPI 慢?
Posted
技术标签:
【中文标题】FMC 比 STM32H7 上的 QSPI 慢?【英文标题】:FMC slower than QSPI on STM32H7? 【发布时间】:2019-12-08 00:22:57 【问题描述】:我正在研究 STM32H753,目前在 STM32H753I-EVAL2 板上。 我正在评估外部存储器功能,尤其是 FMC SRAM 和 QSPI 闪存。
我使用了 STMicro 的项目(来自 STM32CubeH7)并测量了分别从 QSPI Flash 和 FMC SRAM 读取 1KB 数据的持续时间。在这两种情况下,如果我理解正确,不同的时钟都配置为其最大速度(没有提升,即 CPU 时钟为 400MHz 等等)。
我惊讶地发现,在启用 D-cache 和 I-cache 的情况下,从 QSPI 闪存读取 1KB 的速度几乎是从 FMC SRAM 读取的两倍。因为 FMC 是并行总线,所以我的预期正好相反。
这是我第一次使用 FMC 内存。
您知道 FMC 和 QSPI 在 STM32 上的比较吗?
【问题讨论】:
STM 示例通常具有非常安全的 FMC 设置,以避免出现以下问题:为什么演示程序不能在我的发现或评估板上工作?有时它比理论可能慢 10-20 倍 【参考方案1】:虽然名称相同,但 STM32 外设的行为因家族而异。所以你的问题实际上取决于家庭。我会详细说明你的 H7 部分,但 YMMV。
QSPI 实际上也是一个并行接口,因为它同时通过 4 根线传输数据。不仅如此,QSPI 是同步的,而且速度非常快(在某些电压范围内高达 133 MHz),即大约 533 Mbit/s 的即时速度。
另一方面,FMC 并没有那么快。最大时钟为 100 MHz,启动传输需要几个时钟,即使它是突发的。不仅如此,它还可以在异步模式下工作,并且在那里进行一次传输需要 5-8 个时钟。如果您的 SRAM 在异步模式下连接到 FMC,它的速度不会超过每秒 15 兆次传输,这对于 16 位部分来说是 240 Mbit/s 的即时速度。
大多数 SRAM 部件都可以做得更好,但它需要一些 FMC 设置/调整,并且可能需要一些胶合逻辑才能在同步/突发模式下启动它。
【讨论】:
请您看看***.com/questions/60392045/…,因为它可能是相关的?以上是关于FMC 比 STM32H7 上的 QSPI 慢?的主要内容,如果未能解决你的问题,请参考以下文章
STM32H7教程第14章 STM32H7的电源,复位和时钟系统
STM32H7教程第39章 STM32H7的DMAMUX基础知识(重要)