网站百度收录变少,dw做的网站放文件夹,朝阳网站推广,seo软文是什么目录
概述
1 认识FSMC
1.1 应用介绍
1.2 FSMC的主要功能
1.2.1 FSMC用途
1.2.2 FSMC的功能
2 FSMC的框架结构
2.1 AHB 接口
2.1.1 AHB 接口的Fault
2.1.2 支持的存储器和事务
2.2 外部器件地址映射
3 地址映射
3.1 NOR/PSRAM地址映射
3.2 NAND/PC卡地址映射 概述…目录
概述
1 认识FSMC
1.1 应用介绍
1.2 FSMC的主要功能
1.2.1 FSMC用途
1.2.2 FSMC的功能
2 FSMC的框架结构
2.1 AHB 接口
2.1.1 AHB 接口的Fault
2.1.2 支持的存储器和事务
2.2 外部器件地址映射
3 地址映射
3.1 NOR/PSRAM地址映射
3.2 NAND/PC卡地址映射 概述
本文主要介绍灵活的静态存储控制器 (FSMC)的基本概念包括其支持主要器件架构特点以及在MCU内部AHB接口的特性还介绍了其和外部NOR Flash,Nand flash, 以及SRAM的地址映射关系等内容。
1 认识FSMC
1.1 应用介绍
FSMC 能够连接同步、异步存储器和 16 位 PC 存储卡。其主要用途如下 ● 将 AHB 数据通信事务转换为适当的外部器件协议 ● 满足外部器件的访问时序要求 所有外部存储器共享地址、数据和控制信号但有各自的片选信号。 FSMC 一次只能访问一个外部器件。
总结如下
1所有的外部存储器共享地址、数据和控制信号
2通过片选CS使能各自的片选
3FSMC每一次只能选择一个器件
1.2 FSMC的主要功能
1.2.1 FSMC用途
FSMC 能够连接同步、异步存储器和 16 位 PC 存储卡。其主要用途如下 ● 将 AHB 数据通信事务转换为适当的外部器件协议 ● 满足外部器件的访问时序要求 所有外部存储器共享地址、数据和控制信号但有各自的片选信号。 FSMC 一次只能访问一个外部器件。
1.2.2 FSMC的功能
FSMC 具有以下主要功能1连接静态存储器映射的器件 — 静态随机访问存储器 (SRAM) — 只读存储器 (ROM) — NOR Flash/OneNAND Flash — PSRAM 4 个存储区域 2外围器件支持
两个带有 ECC 硬件的 NAND Flash 存储区域可检查多达 8 KB 的数据。16 位 PC 卡兼容设备支持对同步器件 NOR Flash 和 PSRAM的突发模式访问8 或 16 位宽的数据总线每个存储区域有独立的片选控制每个存储区域可独立配置。
3 可对时序进行编程以支持各种器件 — 等待周期可编程最多 15 个时钟周期 — 总线周转周期可编程最多 15 个时钟周期 — 输出使能和写入使能延迟可编程最多 15 个时钟周期 — 独立的读和写时序和协议以支持各种存储器和时序 4其他功能
● 写使能和字节通道选择输出可配合 PSRAM 和 SRAM 器件使用 ● 将 32 位的 AHB 事务转换为针对外部 16 位或 8 位器件进行的连续 16 位或 8 位访问。 ● 用于写入的 FIFO 2 字长对于 STM32F42x 和 STM32F43x为 16 字长每个字为32 位宽仅用于存储数据而不存储地址。因此此 FIFO 仅会缓冲 AHB 批量写事务。从而可对慢速存储器执行写入操作后能快速释放 AHB以供其它操作使用。每次仅缓冲一个突发事务如果在有操作正在进行时发生一个新的 AHB 突发事务或者一个单独事务则 FIFO 将会清空。 FSMC 将插入等待周期直至当前存储器访问已完成。
5外部异步等待控制 定义外部器件类型和其特性的 FSMC 寄存器通常在启动时进行设置并且在下次上电或复位前保持不变。但也可随时更改这些设置。
2 FSMC的框架结构
FSMC 包含四个主要模块 1AHB 接口包括 FSMC 配置寄存器 2NOR Flash/PSRAM 控制器 3NAND Flash/PC 卡控制器 4外部器件接口 2.1 AHB 接口
CPU 和其它 AHB 总线主设备可通过该 AHB 从设备接口访问外部静态存储器。AHB 事务会转换为外部器件协议。尤其是当所选外部存储器的宽度为 16 位或 8 位时 AHB中的 32 位宽事务将被划分成多个连续的 16 或 8 位访问。片选将在每次访问时进行切换。
2.1.1 AHB 接口的Fault
出现以下条件时 FSMC 将产生 AHB 错误 ● 读取或写入未使能的 FSMC 存储区域 ● 在 FSMC_BCRx 寄存器中的 FACCEN 位复位时读取或写入 NOR Flash 存储区域 ● 在输入引脚 FSMC_CD Card Presence Detection为低电平时读取或写入 PC 卡存储区域 此 AHB 错误的影响具体取决于尝试进行读写访问的 AHB 主设备 ● 如果为 Cortex™-M4F CPU则会生成硬性故障 (hard fault) 中断 ● 如果为 DMA则会生成 DMA 传输错误并会自动禁用相应的 DMA 通道AHB 时钟 (HCLK) 是 FSMC 的参考时钟。 2.1.2 支持的存储器和事务
1通用事务规则
所请求的 AHB 事务传输大小可以是 8、 16 或 32 位但访问的外部器件具有固定的数据宽度。这可能会导致不一致的数据宽度。因此必须遵循一些简单的事务规则
● AHB 事务数据宽度和存储器数据宽度相等没有任何问题。
● AHB 事务数据宽度大于存储器宽度在此情况下 FSMC 会将 AHB 事务分为多个较小的连续存储器访问以便符合外部数据宽度。 对具有字节选择功能的器件 SRAM、 ROM、 PSRAM进行异步访问。 a) FSMC 允许写入事务通过其字节选择通道 NBL[1:0] 访问恰当的数据 b) 允许读取事务。会读取所有存储器字节并将丢弃无用的存储器字节。 NBL[1:0]在读取事务期间保持为低电平。 对不具有字节选择功能的器件 16 位 NOR 和 NAND Flash进行异步访问。 当请求对 16 位宽的 Flash 存储器进行字节访问时会发生此情形。显然不能在字节模式下访问此器件只能针Flash 存储器读取或写入 16 位字因此 a) 不允许写入事务 b) 允许读取事务。会读取所有存储器字节并将丢弃无用的存储器字节。 NBL[1:0]在读取事务期间保持低电平。 2配置寄存器
FSMC 可通过一个寄存器组进行配置。有关 NOR Flash/PSRAM 控制寄存器的详细说明
2.2 外部器件地址映射
从 FSMC 的角度外部存储器被划分为 4 个固定大小的存储区域每个存储区域的大小为256 MB请参见下图 ● 存储区域 1 可连接多达 4 个 NOR Flash 或 PSRAM 存储器器件。此存储区域被划分为 4 个NOR/PSRAM 区域带 4 个专用片选信号。 ● 存储区域 2 和 3 用于连接 NAND Flash 器件每个存储区域一个器件 ● 存储区域 4 用于连接 PC 卡设备 对于每个存储区域所要使用的存储器类型由用户在配置寄存器中定义。 3 地址映射
3.1 NOR/PSRAM地址映射
HADDR[27:26] 位用于从表 185 中所示的四个存储区域之中选择其中一个存储区域。
NOR/PSRAM 存储区域选择 HADDR[25:0] 包含外部存储器地址。由于 HADDR 为字节地址而存储器按字寻址所以根据存储器数据宽度不同实际向存储器发送的地址也将有所不同如下表所示。
外部存储器地址 如果外部存储器的宽度为 16 位 FSMC 将使用内部的 HADDR[25:1] 地址来作为对外部存储器的寻址地址 FSMC_A[24:00]。 无论外部存储器的宽度为 16 位还是 8 位 FSMC_A[0] 都应连接到外部存储器地址 A[0]。 NOR Flash/PSRAM 的回卷支持 不支持同步存储器的回绕突发模式。存储器必须按未定义长度的线性突发模式进行配置。
3.2 NAND/PC卡地址映射
在此情况下有三个存储区域每个存储区域分为各个存储空间如下表所示。
存储器映射和时序寄存器 对于 NAND Flash 存储器通用区和特性区存储空间分为三个部分均位于低位 256 KB 中见下面的表 ● 数据区域通用/特性存储空间中的第一个 64 KB ● 命令区域通用/特性存储空间中的第二个 64 KB ● 地址区域通用/特性存储空间中的下一个 128 KB NAND 存储区域选择 应用程序软件使用这 3 个区域来访问 NAND Flash 存储器 ● 向 NAND Flash 存储器发送命令软件可以向命令区域中的任意存储器位置写入命令值。 ● 指定读取或写入的 NAND Flash 地址软件可以向地址区域中的任意存储位置写入地址值。由于地址的长度可以是 4 或 5 个字节具体取决于实际存储器大小要指定完整的地址需要对地址区域执行多个连续写入操作。 ● 读取或写入数据软件将从数据区域中的任意存储器位置读取数据值或者向其中写入数据值。 由于 NAND Flash 存储器会自动递增地址所以在访问连续存储器位置时无需递增数据区域的地址。