我正在STM32H753上工作,目前在STM32H753I-EVAL2板上工作。 我正在评估外部存储器的功能,尤其是FMC SRAM和QSPI Flash。
我使用了意法半导体(STM32CubeH7)的项目,并测量了分别从QSPI Flash和FMC SRAM读取1KB数据的持续时间。在这两种情况下,如果我理解正确,则将不同的时钟配置为它们的最大速度(不提高速度,即CPU时钟为400MHz等)。
令我惊讶的是,同时启用了D-cache和I-cache,从QSPI Flash读取1KB的速度几乎是从FMC SRAM读取速度的两倍。因为FMC是并行总线,所以我期望相反。
这是我第一次使用FMC内存。
您是否知道在STM32上如何比较FMC和QSPI?
答案 0 :(得分: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设置/调整以及也许一些胶合逻辑才能以同步/突发模式启动它。