通信方式——FSMC

简介

FSMC,即灵活的静态存储控制器,能够与同步或异步存储器和 16 位 PC 存储器卡连接,
STM32F4 的 FSMC 接口支持包括 SRAM、 NAND FLASH、 NOR FLASH 和 PSRAM 等存储器

通信方式——FSMC_第1张图片
从上图我们可以看出, STM32F4 的 FSMC 将外部设备分为 2 类: NOR/PSRAM 设备、NAND/PC 卡设备。
通过不同的CS来区分不同的设备。
STM32F4 的 FSMC 支持 8/16/32 位数据宽度
STM32的FSMC 将外部存储器划分为固定大小为 256M 字节的四个存储块,共有1G。
通信方式——FSMC_第2张图片

特性

FSMC 能够连接同步、异步存储器和 16 位 PC 存储卡。其主要用途如下:
● 将 AHB 数据通信事务转换为适当的外部器件协议
● 满足外部器件的访问时序要求
所有外部存储器共享地址、数据和控制信号,但有各自的片选信号。 FSMC 一次只能访问一
个外部器件。
FSMC 具有以下主要功能:
● 连接静态存储器映射的器件:
— 静态随机访问存储器 (SRAM)
— 只读存储器 (ROM)
— NOR Flash/OneNAND Flash
— PSRAM( 4 个存储区域)
● 两个带有 ECC 硬件的 NAND Flash 存储区域,可检查多达 8 KB 的数据
● 16 位 PC 卡兼容设备
● 支持对同步器件( NOR Flash 和 PSRAM)的突发模式访问
● 8 或 16 位宽的数据总线
● 每个存储区域有独立的片选控制
● 每个存储区域可独立配置
● 可对时序进行编程,以支持各种器件,尤其是:
— 等待周期可编程(最多 15 个时钟周期)
— 总线周转周期可编程(最多 15 个时钟周期)
— 输出使能和写入使能延迟可编程(最多 15 个时钟周期)
— 独立的读和写时序和协议,以支持各种存储器和时序
● 写使能和字节通道选择输出,可配合 PSRAM 和 SRAM 器件使用
● 将 32 位的 AHB 事务转换为针对外部 16 位或 8 位器件进行的连续 16 位或 8 位访问。
● 用于写入的 FIFO, 2 字长(对于 STM32F42x 和 STM32F43x,为 16 字长),每个字为
32 位宽,仅用于存储数据,而不存储地址。因此,此 FIFO 仅会缓冲 AHB 批量写事务。
从而可对慢速存储器执行写入操作后能快速释放 AHB,以供其它操作使用。每次仅缓
冲一个突发事务:如果在有操作正在进行时发生一个新的 AHB 突发事务或者一个单独
事务,则 FIFO 将会清空。 FSMC 将插入等待周期,直至当前存储器访问已完成)。
● 外部异步等待控制
定义外部器件类型和其特性的 FSMC 寄存器通常在启动时进行设置,并且在下次上电或复位
前保持不变。但也可随时更改这些设置。

与SRAM的连接一般有

地址线:A0-A25
数据线:D0-D15
控制线:写信号(WE,WR)、读信号(OE,RD)、片选信号(CS)、字节控制(UB/LB)

你可能感兴趣的:(单片机嵌入式,单片机,stm32,物联网)