STM32F429第二十四篇之SRAM原理

Posted 海洋想想

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了STM32F429第二十四篇之SRAM原理相关的知识,希望对你有一定的参考价值。

文章目录

前言

在整个F4系列的器件,都支持FSMC——灵活的静态存储控制器。而F429支持FMC——可变存储控制器。两者的区别在于,FMC在FMSC的基础上增加了对DRAM的支持。而FSMC和FMC在地址上是重叠的,也就是说,在F429中,是通过FMC直接替代了FSMC,所以,在F429的学习中,直接学习FMC即可,不用两者同时学习。

本文只介绍FMC中SRAM部分,其余的部分待以后补充。

本文主要参考资料为:

  • ST.RM0090
  • 正点原子.STM32F429开发指南-HAL库版本_V1.1

框图


上图是整个FMC的框图。其中与SRAM相关的管脚,已经用红色标红。具体如下:

  • NBL[3:0]:字节控制
  • A[25:0]:地址线
  • D[31:0]:数据线
  • NE[4:1]:片选信号
  • NOE:读信号使能
  • NWE:写信号使能
  • NWAIT:等待

外部器件地址映射


整个FMC划分为6个固定大小的存储区域,如上图所示,每个存储区域的大小为256MB。其中,SRAM在BANK1中。BANK1被划分成4个子区域,带有4个片选信号,上文已经介绍。

其中,映射地址(HADDR)的第26位与第27位用于选择四个存储区域。在上图表格中已经列出。

HADDR[25:0]则对应地址输出管脚,对应外部存储器的地址。HADDR是按照字节编址,即数据宽度为8位。若存储器的数据宽度不同,则FMC向存储器发送的地址也将不同,如下表所示。


注意:

若外部存储器的宽度为16位,FMC将使用HADDR[25:1]地址来作为对外部存储器的寻址地址,即地址线上输出的地址为A[24:0]。 则无论外部存储器的宽度是多少,都应将FMC_A[0] 连接到存储器地址 A[0] 。则每个存储区域的子区域的最大存储容量为512Mb(64MB)。

时序

如果使能扩展模式,则最多可以提供四种扩展模式,并且可以组合不同的模式来分别配置读写操作。
如果禁用扩展模式,则只有两种模式可以选择。

本文不再详细分析每一种模式,而是通过与35510的时序对比的方式,重点介绍拓展模式中的模式A。


上图文档详细介绍了模式A的时序图以及寄存器的配置方法。

其中第一个寄存器是功能配置,这里不再详细介绍,下面重点介绍一下时序的配置。

通过观察时序图,可以发现,共有三个时间可以配置,分别为:

  • 存储器事物时间,对应寄存器为:BUSTTURN
  • ADDSET时间,对应寄存器为:ADDSET
  • DATAST时间,对应寄存器为:DATAST

他们的取值范围为:

若以显示器nt35510为例,该时序为:

很容易找到该时序前6项与FMC的A模式对应关系。

以上是关于STM32F429第二十四篇之SRAM原理的主要内容,如果未能解决你的问题,请参考以下文章

STM32F429第二十五篇之MCU屏实验详解

STM32F429第二十五篇之MCU屏实验详解

STM32F429第二十八篇之ADC

STM32F429第二十八篇之ADC

STM32F429第二十八篇之ADC

STM32F429第二十八篇之ADC