FMC-SDRAM

目录

目录

SDRAM介绍

SDRAM引脚

存储阵列模型

SDRAM初始化及读写流程

FMC介绍

FMC的SDRAM接口引脚

FMC地址映射

FMC-SDRAM设计

FMC-SDRAM硬件连接

FMC-SDRAM软件过程


SDRAM介绍

基于STM32F429系列芯片FMC-SDRAMSDRAM/SRAM可以扩展,SDRAM便宜

基于<STM32库开发实战指南——基于野火挑战者开发板>文档

SDRAM引脚

存储阵列模型

寻址方式,通过CAS\RAS选通一种地址,通过BS选定Bank,再以地址线A确定列\行的地址

数据输入,寻址完成后,DQ的数据经过输入数据寄存器再传输到存储器阵列,被保存;

数据输出,寻址完成后,DQ的数据从存储器阵列传输到输出数据寄存器后传出。

此SDRAM存储阵列数据宽度是16b,可以根据DQM选择DQ数据线的有效部分。

SDRAM初始化及读写流程

详情见《STM32开发指南——基于野火挑战者开发板P26.1.7

SDRAM命令表

 注:表中的H 表示高电平,L 表示低电平,X 表示任意电平,High-Z 表示高阻态。

图 初始化流程

图 读流程

 

 图 写流程

 

FMC介绍

Flexible Memory Controller

可驱动SRAM/SDRAM(非DDR)/NORFLASH/NANDFLASH类型存储器。区别于FSMC,FSMC无法驱动动态存储器如SDRAM,DRAM特性需要定时刷新。

DDR SDRAM简介_与SDRAM的区别_时序介绍-维库电子通 (dzsc.com)

FMCSDRAM接口引脚

FMC地址映射

连接好并初始化后,可以直接访问地址读写数据。与通过I2C/SPI访问memory不一样(不包括XIP下的SSIFLASH)。

SDRAM分配区域在External device范围内时,不同于external ram无法直接执行代码。这里的可执行代码即指XIP特性。SRAM/SDRAM/NOR FLASH支持XIP,NAND FLASH及PC卡不支持。上图不支持XIP的存储器占据了External RAM,这里可以通过配置SYSCFG_MEMRMP及SWP_FMC寄存器来SWAP SDRAM和NAND/PC卡的地址映射, 由于SDRAM最高同步时钟为90MHz,代码执行速度会影响。

FMC-SDRAM设计

FMC-SDRAM硬件连接

略,将FMC接口对应SDRAM拓展相连,具体参见各SDRAM存储芯片,可见上文<FMC的SDRAM接口引脚>

FMC-SDRAM软件过程

具体参数见<STM32库开发实战指南——基于野火挑战者开发板>

初始化FMC引脚,配置FMC-SDRAN参数,包括分频、时序参数等,存储区域行列地址线宽度,数据线宽度,SDRAMBank数量等。

初始化SDRAM,通过发送一系列控制命令,使能SDRAM CLK并检查SDRAM标志,对bank预充电并检查SDRAM标志,自动刷新并检查标志,设置SDRAM寄存器并检查标志,设置刷新计数器并检查标志。

随后可以通过指针的方式直接访问SDRAM,例如

/* 向SDRAM 写入8 位数据*/

 *( uint8_t*) (SDRAM_BANK_ADDR ) = (uint8_t)0xAA;

 /* 从SDRAM 读取数据*/

 temp = *( uint8_t*) (SDRAM_BANK_ADDR );

也可以直接指定变量存储到SDRAM空间,例如

/* 绝对定位方式访问SDRAM, 这种方式必须定义成全局变量*/

 uint8_t testValue __attribute__((at(SDRAM_BANK_ADDR)));

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值