STM32(十五)FSMC

一、FSMC简介

  FSMC(Flexible Static Memory Controller,可变静态存储控制器)是STM32系列采用的一种新型的存储器扩展技术。在外部存储器扩展方面具有独特的优势,可根据系统的应用需要,方便地进行不同类型大容量静态存储器的扩展。它可以用于驱动包括SRAM、NOR FLASH以及NAND FLASH类型的存储器,不能驱动如SDRAM这种动态的存储器而在STM32F429系列中的控制中,它具有FMC外设,支持控制SDRAM存储器

二、FSMC技术优势

  • 支持多种静态存储器类型:

    STM32通过FSMC可以与SRAM、ROM、PSRAM、NOR Flash和NANDFlash存储器的引脚直接相连。

  • 支持丰富的存储操作方法:

    FSMC不仅支持多种数据宽度的异步读/写操作,而且支持对NOR/PSRAM/NAND存储器的同步突发访问方式

  • 支持同时扩展多种存储器

    FSMC的映射地址空间中,不同的BANK是独立的,可用于扩展不同类型的存储器。当系统中扩展和使用多个外部存储器时,FSMC会通过总线悬空延迟时间参数的设置,防止各存储器对总线的访问冲突。

  • 支持更为广泛的存储器型号

    通过对FSMC的时间参数设置,扩大了系统中可用存储器的速度范围,为用户提供了灵活的存储芯片选择空间。

  • 支持代码从FSMC扩展的外部存储器中直接运行,而不需要首先调入内部SRAM。 

三、FSMC内部结构

  在STM32内部,FSMC的一端通过内部高速总线AHB连接到内核Cortex-M3,另一端则是面向扩展存储器的外部总线。内核对外部存储器的访问信号发送到AHB总线后,经过FSMC转换为符合外部存储器通信规约的信号,送到外部存储器的相应引脚,实现内核与外部存储器之间的数据交互。FSMC起到桥梁作用,既能够进行信号类型的转换,又能够进行信号宽度和时序的调整,屏蔽掉不同存储类型的差异,使之对内核而言没有区别。

 

原文地址:https://www.cnblogs.com/yuanqiangfei/p/13852329.html