参考资料:《stm32f4xx中文参考手册》《stm32f4xx规格书》
使用背景:使用LTDC接口显示大容量图片时,FMC驱动SDRAM用作显存
一、SDRAM基本介绍
SDRAM芯片PIN脚图
SDRAM引脚说明
|
信号线 |
类型 |
说明 |
|
CLK |
I |
同步时钟信号,所有输入信号都在CLK为上升沿的时候被采集 |
|
CKE |
I |
时钟使能信号,禁止时钟信号时SDRAM会启动自刷新操作 |
|
CS# |
I |
片选信号,低电平有效 |
|
CAS# |
I |
列地址选通,为低电平时地址线表示的是列地址 |
|
RAS# |
I |
行地址选通,为低电平时地址线表示的是行地址 |
|
WE# |
I |
写入使能,低电平有效 |
|
DQM[0:1] |
I |
数据输入/输出掩码信号,表示DQ信号线的有效部分 |
|
BA[0:1] |
I |
Bank地址输入,选择要控制的Bank |
|
A[0:11] |
I |
地址输入 |
|
DQ[0:15] |
I/O |
数据输入输出信号 |
二、FMC接口说明
1.FMC简介
STM32F429使用FMC外设来管理扩展的存储器,FMC是Flexible Memory Controller的缩写,译为可变存储控制器。它可以用于驱动包括SRAM、SDRAM、NOR FLASH以及NAND FLSAH类型的存储器。在其它系列的STM32控制器中,FSMC控制器(Flexible Static Memory Controller),译为可变静态存储控制器,所以它们不能驱动SDRAM这样的动态存储器,因为驱动SDRAM时需要定时刷新,STM32F429的FMC外设才支持该功能,且只支持普通的SDRAM,不支持DDR类型的SDRAM。
2.FMC SDRAM控制器引脚说明
|
FMC引脚名称 |
对应SDRAM芯片引脚名 |
说明 |
|
FMC_NBL[3:0] |
DQM[3:0] |
数据掩码信号 |
|
FMC_A[12:0] |
A[12:0] |
行/列地址线 |
|
FMC_A[15:14] |
BA[1:0] |
Bank地址线 |
|
FMC_D[31:0] |
DQ[31:0] |
数据线 |
|
FMC_SDCLK |
CLK |
同步时钟信号 |
|
FMC_SDNWE |
WE# |
写入使能 |
|
FMC_SDCKE[1:0] |
CKE |
SDCKE0:SDRAM 存储区域 1 时钟使能 SDCKE1:SDRAM 存储区域 2 时钟使能 |
|
FMC_SDNE[1:0] |
CS# |
SDNE0:SDRAM 存储区域 1 芯片使能 SDNE1:SDRAM 存储区域 2 芯片使能 |
|
FMC_NRAS |
RAS# |
行地址选通信号 |
|
FMC_NCAS |
CAS# |
列地址选通信号 |
其中FMC_A[15:14]引脚用作Bank的寻址线;而FMC_SDCKE线和FMC_SDNE都各有2条,FMC_SDCKE用于控制SDRAM的时钟使能,FMC_SDNE用于控制SDRAM芯片的片选使能。它们用于控制STM32使用不同的存储区域驱动SDRAM,使用编号为0(FMC_SDNE0)的信号线组会使用STM32的Bank1,使用编号为1(FMC_SDNE1)的信号线组会使用存储器区域Bank2。使用不同存储区域时,STM32访问SDRAM的地址不一样,Bank1的起始地址为0xC0000000,Bank2为0xD0000000
本文详细介绍了STM32F429如何通过其FMC外设管理SDRAM,包括SDRAM的基本引脚功能和FMC SDRAM控制器的引脚对应关系,解释了FMC支持SDRAM刷新的特性及其与FSMC的区别。

6172

被折叠的 条评论
为什么被折叠?



