目录
硬件平台:正点原子阿波罗stm32f429
一、为什么使用SDRAM
STM32控制器芯片内部有一定大小的SRAM及FLASH作为内存和程序存储空间,但当程序较大,内存和程序空间不足时,就需要在STM32芯片的外部扩展存储器了。
STM32F429系列芯片扩展内存时可以选择SRAM和SDRAM,由于SDRAM的"容量/价格"比较高,即使用SDRAM要比SRAM要划算得多。我们以SDRAM为例讲解如何为STM32扩展内存。
给STM32芯片扩展内存与给PC扩展内存的原理是一样的,只是PC上一般以内存条的形式扩展,内存条实质是由多个内存颗粒(即SDRAM芯片)组成的通用标准模块,而STM32直接与SDRAM芯片连接。
二、SDRAM芯片W9825G6KH
该芯片有4个bank,每个bank13行,9列,数据位为16bit,所以整体大小为:4*(2^13)*(2^9)*16=32M。
引脚顺序如下:

SDRAM 的信号线如表 18.1.1.1 所示:
| 信号线 | 说明 |
| CLK | 时钟信号,在该时钟的上升沿采集输入信号 |
| CKE | 时钟使能,禁止时钟时, SDRAM 会进入自刷新模式 |
| CS# | 片选信号,低电平有效 |
| RAS# | 行地址选通信号,低电平时,表示行地址 |
| CAS# | 列地址选通信号,低电平时,表示列地址 |
| WE# | 写使能信号,低电平有效 |
| A0~A12 | 地址线(行/列) |
| BS0, BS1 | BANK 地址线 |
| DQ0~15 | 数据线 |
| LDQM,UDQM | 数据掩码,表示 DQ 的有效部分 |
三、stm32f4的fmc接口
1、简介:
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。我们只讲述FMC的SDRAM控制功能。
STM32F429 FMC 接口的 SDRAM控制器,具有如下特点:
两个 SDRAM 存储区域,可独立配置
支持 8 位、 16 位和 32 位数据总线宽度
支持 13 位行地址, 11 位列地址, 4 个内部存储区域: 4x16Mx32bit (256MB)、
4x16Mx16bit(128 MB)、 4x16Mx8bit (64 MB)
支持字、半字和字节访问
自动进行行和存储区域边界管理
多存储区域乒乓访问
可编程时序参数
支持自动刷新操作,可编程刷新速率
自刷新模式
读 FIFO 可缓存,支持 6 行 x32 位深度( 6 x14 位地址标记)/
2、框图

3、引脚对照表
| 名称 | 引脚 | 引脚号 | 功能 |
| FMC_SDNCAS | PG15 | P160 | 列地址选通信号 |
| FMC_SDNRAS | PE11 | P59 | 行地址选通信号 |
| FMC_SDNE0 | PC2 | P34 | 片选信号SDNE0:SDRAM 存储区域 1 芯片使能 SDNE1:SDRAM 存储区域 2 芯片使能 |
| FMC_SDNE1 | PH6 | P83 | |
| FMC_BA0 |

本文详细介绍了STM32F4系列微控制器如何通过FMC接口扩展SDRAM,包括SDRAM芯片W9825G6KH的特性、FMC接口的工作原理、STM32CubeMX配置步骤、软件编程技巧以及实验注意事项。
最低0.47元/天 解锁文章
47





