FSMC的介绍学习1

1.FSMC的简介

1.1基本简介

1.1.1FSMC的简介

  • FSMC是(Flexible Static Memory Controller)的缩写,译为灵活的静态存储控制器。它可以用于驱动包括 SRAM、NOR FLASH以及NANDFLSAH类型的存储器,不能驱动如SDRAM这种动态的存储器而在STM32F429 系列的控制器中,它具有FMC外设,支持控制SDRAM存储器
  • FSMC的特点:

(1)所有外部存储器共享地址、数据和控制信号,但有各自的片选信号。FSMC 一次只能访问一 个外部器件。

(2)8或16位宽的数据总线

(3)每个存储区域有独立的片选控制

(4)每个存储区域可独立配置

  • FSMC的时序控制

(1)等待周期可编程(最多 15 个时钟周期)

(2)总线周转周期可编程(最多 15 个时钟周期)

(3)输出使能和写入使能延迟可编程(最多 15 个时钟周期)

(4)独立的读和写时序和协议,以支持各种存储器和时序

1.1.2FSMC的框图

  • FSMC的时钟输入

(1)CPU和其它AHB总线主设备可通过该 AHB 从设备接口访问外部静态存储器。 AHB事务会转换为外部器件协议。

(2)尤其是当所选外部存储器的宽度为16位或8位时,AHB中的32位宽事务将被划分成多个连续的16或8位访问。片选将在每次访问时进行切换

(3)FSMC外设挂载在AHB总线上,时钟信号来自于HCLK,控制器的同步时钟输出就是由它分频得到。

  • FSMC的通讯引脚

(1)N/#表示低电平有效;地址线FSMC_A和数据线FSMC_D是所有控制器都共用的

1.1.3FSMC的地址映射

(1)FSMC控制器对内核的地址映射

  • 图中左侧的是Cortex-M3内核的存储空间分配,右侧是STM32 FSMC外设的地址映射。可以看到FSMC的NOR/PSRAM/SRAM/NAND FLASH以及PC卡的地址都在External RAM地址空间内。正是因为存在这样的地址映射,使得访问FSMC控制的存储器时,就跟访问STM32的片上外设寄存器一样(片上外设的地址映射即图中左侧的“Peripheral”区域)。

(2)外部器件地址映射

  • 从FSMC的角度,外部存储器被划分为4个固定大小的存储区域,每个存储区域的大小为256 MB存储区域1可连接多达4个NOR Flash或PSRAM存储器器件。此存储区域被划分为4个
    NOR/PSRAM 区域,带4个专用片选信号。 存储区域2和3用于连接NAND Flash器件(每个存储区域一个器件) 存储区域4用于连接PC卡设备。对于每个存储区域,所要使用的存储器类型由用户在配置寄存器中定义

(3)Bank1内部片选信号地址的选择

  • STM32F1/F4的FSMC存储块1(Bank1)被分为4个区,每个区管理64M字节空间,每个区 都有独立的寄存器对所连接的存储器进行配置。Bank1的256M字节空间可以通过 28 根地址线 (HADDR[27:0])寻址后访问。这里 HADDR 是内部 AHB地址总线,但是也会参加对外部存储器的寻址,其中HADDR[25:0]来自外部存储器地址FSMC_A[25:0],而 HADDR[26:27]对4个区进行寻址
  • 当STM32访问0x68000000-0x6BFFFFFF地址空间时,会访问到 Bank1的第 3 小块区域,相应的 FSMC_NE3 信号线会输出控制信号

(4)存储器宽度

  • 如果外部存储器的宽度为16位,FSMC将使用内部的HADDR[25:1]地址来作为对外部存储器的寻址地址FSMC_A[24:00]。 当 Bank1 接的是 8 位宽度存储器的时候:FSMC将内部的HADDR[25:0] 地址作为对外部存储器的寻址地址FSMC_A[25:0]。(后面的LCD驱动有大用)
  • 无论外部存储器的宽度为16位还是8位,FSMC_A[0]都应连接到外部存储器地址A[0]
  • HADDR[25:0] 包含外部存储器地址。由于HADDR为字节地址,而存储器按字寻址,所以根
    据存储器数据宽度不同,实际向存储器发送的地址也将有所不同 ,如下表所示
​​​​​​​
(5)NAND/PC卡地址映射

  • 对于NAND Flash 存储器,通用区和特性区存储空间分为三个部分,均位于低位256KB 
  • 数据区域(通用/特性存储空间中的第一个 64 KB命令区域(通用/特性存储空间中的第二个 64 KB地址区域(通用/特性存储空间中的下一个 128 KB
  • 由于NAND Flash存储器会自动递增地址,所以在访问连续存储器位置时,无需递增数据区域
    的地址。

​​​​​​​1.1.4NOR/PSRAM控制器

(1)寄存器 

(2) 基本概念

不同的设备的最大最小数据建立的时间、地址保持时间 、地址建立时间、总线周转等是不同的

  • 对于同步访问,FSMC只有在读/写事务期间才会向所选的外部器件发出时钟 (CLK)。HCLK
    时钟频率是该时钟的整数倍。每个存储区域的大小固定,均为 64 MB
  • NOR-Flash存储器采用16位字寻址。最大容量为512Mb(26 个地址线)
  • PSRAM存储器采用16位字寻址。最大容量为512Mb(26 个地址线)

​​​​​​​ ​​​​​​​ ​​​​​​​
(3)FSMC的信号名称

​​​​​​​(4)模式1读取访问

  • NBL[1:0] 在进行读取访问时为低电平

​​​​​​​​​​​​​​

  • 位于写入事务末尾的一个HCLK周期有助于确保NWE上升沿之后的地址和数据保持时间 。 由于存在此HCLK周期,DATAST值必须大于零 (DATAST > 0)。简单来说就是保证数据写入 ​​​​​​​
​​​​​​​
​​​​​​​

 (5)B/2模式

 

 

  • 与模式1的不同之处在于设置扩展模式(模式 B)时的NWE切换与独立的读取和写入时序 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值