31. Flexible static memory controller (FSMC)

Posted qiyuexin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了31. Flexible static memory controller (FSMC)相关的知识,希望对你有一定的参考价值。

31.1 FSMC main features

FSMC块能够与同步和异步内存和16位PC存储卡。其主要目的是:

  • 将AHB事务转换为适当的外部设备协议
  • 满足外部设备的访问定时要求

所有外部存储器与控制器共享地址、数据和控制信号。每个外部设备通过一个唯一的芯片选择来访问。FSMC一次只能访问一个外部设备。

FSMC具有以下主要特点:

  • 静态内存映射设备接口,包括:
    • 静态随机存取存储器(SRAM)
    • NOR 闪存/OneNAND闪存
    • PSRAM(4个内存库)
  • 两个 NAND闪存库,带有ECC硬件,可以检查最多8千字节的数据
  • 16位PC卡兼容设备
  • 支持对同步设备的突发模式访问(NOR Flash和PSRAM)
  • 8位或16位宽的数据总线
  • 独立的芯片选择控制每个存储库
  • 每个内存库的独立配置
  • 可编程时序,以支持广泛的设备,特别是:
    • 可编程等待状态(最多15个)
    • 可编程总线转变周期(最多15个)
    • 可编程输出使能和写入使能延迟(最多15次)
    • 独立读写时序和协议,从而支持最广泛各种各样的内存和时序
  • 写使能和字节巷选择输出用于PSRAM和SRAM设备
  • 将32位宽的AHB事务传输转换为连续的16位或8位访问外部16位或8位设备
  • 一个写FIFO, 2个字长,每个字32位宽,只存储数据,不存储地址。因此,这个FIFO只缓冲AHB写突发事务。可以用它往慢速内存中写入从而快速释放AHB为其他操作。只有一次一个突发事件被缓冲:如果一个新的AHB突发事件或单个事务发生在操作正在进行中,FIFO已经排干。FSMC将插入等待状态,直到当前内存访问完成。
  • 外部异步等待控制

 定义外部设备类型和相关特征的FSMC寄存器通常是在启动时设置,直到下一次复位或开机时才更改。然而,它是可以随时更改设置。  

31.2  Block diagram

FSMC由四个主要模块组成:

  • AHB接口(包括FSMC配置寄存器)
  • NOR Flash/PSRAM控制器
  • NAND闪存/PC卡控制器
  • 外部设备接口

框图如图397所示

技术图片

 

 

   

 

 

 

 

 

 

 

 

  

以上是关于31. Flexible static memory controller (FSMC)的主要内容,如果未能解决你的问题,请参考以下文章

缓存函数memorize

python decorator_memorization_cache.py

You Will Be Memorizing Things

Registry things to memorize

LeetCode 337 & 329. memorization DFSHouse Robber III

CodeForce-811C Vladik and Memorable Trip(动态规划)