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

数据访问

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

逐步解释:

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

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

  2. 使用内部的ADDR[25:1]地址进行外部存储器寻址:

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

  3. FMC_A[24:0]作为外部存储器的地址线:

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

当我们将外部存储器的宽度配置为16位时,FMC使用内部的ADDR[25:1]地址线进行外部存储器的寻址,而FMC_A[24: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的突发功能,提高系统性能和效率。

相关推荐
FreakStudio19 小时前
lvgl-micropython、lv_micropython和lv_binding_micropython到底啥关系?一文读懂
python·单片机·嵌入式·面向对象·电子diy
xuxie9921 小时前
N8 ARM第一个程序点灯
arm开发
风逸尘_lz1 天前
STM32标准工程目录文件解释
stm32·单片机·嵌入式硬件
小白学电子_1 天前
51 单片机 拖尾流水灯
单片机·嵌入式硬件
春日见1 天前
E2E自驾规控30讲:导论
开发语言·驱动开发·git·matlab·计算机外设
平凡灵感码头1 天前
C语言 printf 数据打印格式速查表
c语言·开发语言·算法
酸奶乳酪1 天前
IIC学习笔记
笔记·单片机·学习
进击的横打1 天前
【车载开发系列】系统时钟与定时器
stm32·单片机·fpga开发
LCG元1 天前
STM32实战案例:基于STM32F103的智能插座(电量计量+远程控制)
stm32·单片机·嵌入式硬件
至为芯1 天前
PY32F005至为芯支持32位ARM内核的高主频MCU微控制器
单片机·集成电路·芯片