STM32外设使用(八) FSMC

注:该帖为自己在使用stm32时的问题总结贴,如有错误欢迎大家指正出来,一起交流学习

目录

一、简介

二、在stm32中的结构

三、驱动液晶屏代码示例

四、碰到过的问题


一、简介

FSMC(Flexible Static Memory Controller,静态存储控制器):灵活的静态存储器控制器。可用于Stm32芯片控制 NOR FLASH、PSRAM和NAND FLASH存储芯片

STM32的FSMC真是一个万能的总线控制器,不仅可以控制SRAM,NOR FLASH,NAND FLASH,PC Card,还能控制LCD,TFT.

一般越是复杂的东西,理解起来就很困难,但是使用上却很方便,如USB。

FSMC功能是类似 51 单片机的存储器映射功能,能管理多个外部不同种类的存储设备,具有方便,简单,快捷的优点。

 

FSMC的主要作用:

  1. 将AHB传输信号转换到适到的外设协议;
  2. 满足访问外部设备对时序的要求;

FSMC的主要功能:

       ●  具有静态存储器接口的器件包括:

        ─ 静态随机存储器(SRAM)

        ─ 只读存储器(ROM)

        ─  NOR闪存

        ─  PSRAM(4个存储器块)

       ●  两个NAND闪存块,支持硬件ECC并可检测多达8K字节数据

       ●  16位的PC卡兼容设备

       ●  支持对同步器件的成组(Burst)访问模式,如NOR闪存和PSRAM

       ●  8或16位数据总线

       ●  每一个存储器块都有独立的片选控制

       ●  每一个存储器块都可以独立配置

       ●  时序可编程以支持各种不同的器件:

        ─ 等待周期可编程(多达15个周期)

        ─ 总线恢复周期可编程(多达15个周期)

        ─ 输出使能和写使能延迟可编程(多达15周期)

        ─ 独立的读写时序和协议,可支持宽范围的存储器和时序

       ●  PSRAM和SRAM器件使用的写使能和字节选择输出

       ●  将32位的AHB访问请求,转换到连续的16位或8位的,对外部16位或8位器件的访问

       ●  具有16个字,每个字32位宽的写入FIFO,允许在写入较慢存储器时释放AHB进行其它操作。在开始一次新的FSMC操作前,FIFO要先被清空。

       通常在系统复位或上电时,应该设置好所有定义外部存储器类型和特性的FSMC寄存器,并保持它们的内容不变;当然,也可以在任何时候改变这些设置

二、在stm32中的结构

FSMC结构框图:

 

 

 

AHB接口:

AHB接口为内部CPU和其它总线控制设备访问外部静态存储器提供了通道。AHB操作被转换到外部设备的操作。当选择的外部存储器的数据通道是16或8位时,在AHB上的32位数据会被分割成连续的16或8位的操作(具体操作规则见参考手册)。AHB时钟(HCLK)是FSMC的参考时钟。

 

FSMC的地址映像:

       ●  存储块1用于访问最多4个NOR闪存或PSRAM存储设备。这个存储区被划分为4个NOR/PSRAM区并有4个专用的片选。

       ●  存储块2和3用于访问NAND闪存设备,每个存储块连接一个NAND闪存。

       ●  存储块4用于访问PC卡设备

       每一个存储块上的存储器类型是由用户在配置寄存器中定义的。

 

三、驱动液晶屏代码示例

四、碰到过的问题

 

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值