stm32的FMC数据访问与突发模式

数据访问

配置外部存储器的宽度为 16 位, FMC 将使用内部的 ADDR25:1地址来作为对外部存储器的寻址地址 FMC_A24:0,这段描述是在解释在STM32的FMC(Flexible Memory Controller)中,如何配置外部存储器的宽度为16位时,FMC使用内部的ADDR25:1地址作为对外部存储器的寻址,而FMC_A24:0用作外部存储器的地址线。

逐步解释:

  1. 配置外部存储器宽度为16位:

    当我们将外部存储器的宽度配置为16位时,这意味着每次读取或写入操作,FMC会同时读取或写入16位的数据。这是因为外部存储器的数据总线宽度被设置为16位。

  2. 使用内部的ADDR25:1地址进行外部存储器寻址:

    FMC使用内部的ADDR25:1地址线来对外部存储器进行寻址。这些地址线是由FMC控制器生成的,用于指示外部存储器的访问位置(地址)。ADDR25:1表示了FMC控制器内部的地址线。

  3. FMC_A24:0作为外部存储器的地址线:

    FMC_A24:0是FMC控制器的输出引脚,用于连接到外部存储器的地址输入引脚。这些地址线将FMC控制器生成的内部地址传递给外部存储器,以指示要读取或写入的存储器位置。

当我们将外部存储器的宽度配置为16位时,FMC使用内部的ADDR25:1地址线进行外部存储器的寻址,而FMC_A24:0用作连接到外部存储器的地址线,将FMC生成的地址传递给外部存储器。这样,FMC控制器就能够正确地对16位宽度的外部存储器进行寻址和数据传输。

突发模式

在STM32的FMC(Flexible Memory Controller)中,突发(Burst)是指在一次存储器访问中,通过连续传输多个数据字(burst data)的操作模式。使用突发模式可以提高存储器访问效率,减少传输延迟,并充分利用存储器的带宽。

FMC支持不同的突发模式,其中最常见的是连续突发(Single-burst)和增量突发(Incremental-burst)。

  1. 连续突发(Single-burst):

    连续突发模式是指在一次存储器访问中,FMC按照事先设定的传输长度(burst length)连续传输连续的数据字。传输长度可以配置为4字(32位)、8字(64位)等不同的长度。在连续突发模式下,只需要一次地址传输,然后连续传输指定长度的数据字。

  2. 增量突发(Incremental-burst):

    增量突发模式是指在一次存储器访问中,FMC按照事先设定的传输长度连续传输一系列连续的数据字,同时自动增加地址。传输长度可以配置为4字(32位)、8字(64位)等不同的长度。在增量突发模式下,FMC首先传输起始地址对应的数据字,然后自动增加地址并传输下一个数据字,直到传输指定长度的数据字为止。

通过使用突发模式,FMC可以在一次存储器访问中连续传输多个数据字,减少了每次传输的地址和控制开销,提高了数据传输效率。这对于需要高带宽的应用场景非常有用,例如图形处理、音视频处理等。

在配置FMC时,可以选择突发模式,并设置传输长度和其他相关参数,以满足具体应用的需求。这样可以充分利用FMC的突发功能,提高系统性能和效率。

相关推荐
FreakStudio7 小时前
W55MH32L-EVB 上手测评:硬件 TCP/IP 加持的以太网单片机,MicroPython 零门槛开发
python·单片机·嵌入式·大学生·面向对象·并行计算·电子diy·电子计算机
LDR0065 天前
Type-C 快充全面升级!LDR6601 赋能个人护理便携电机,重塑剃须刀 / 理发器新体验
c语言·开发语言
✎ ﹏梦醒͜ღ҉繁华落℘5 天前
单片机基础知识---stm32单片机的优先级
stm32·单片机·mongodb
Luminous.5 天前
C语言--day30
c语言·开发语言
玖玥拾5 天前
C/C++ 数据结构(七)栈、容器适配器
c语言·数据结构·c++··容器适配器
謓泽5 天前
C语言不是语法,是通往机器的地图。
c语言·开发语言
不会C语言的男孩5 天前
Linux 系统编程 · 第 8 章:进程基础
linux·c语言
zd8451015005 天前
RS485 总线详解
单片机·嵌入式硬件
牛根生同志5 天前
SPI数据收发的时候 TXE与RXNE标志位置位的时机
stm32·spi·transfer
2601_951643885 天前
C语言长文整理,关键字和数据类型
c语言·数据类型·关键字·嵌入式开发·格式化输出