STM32专题之内部SRAM

目前STM32F407开发板上使用的SRAM型号是IS62WV51216。

它的内部框图如下:

SRAM 的控制比较简单,只要控制信号线使能了访问,从地址线输入要访问的地址,即可从 I/O数据线写入或读出数据。

存储器矩阵图:

上图可以看成一张表格,每个单元格就是存储单元,数据就填在上面,和表格查找一样,指定行地址和列地址,就能定位到目标数据,这就是SRAM寻址的原理

地址译码器的工作原理是,把N根地址线转换成2的N次方跟信号线,每根信号线对应一行或一列存储单元,这样就能通过地址线寻址。如果存储阵列较大,地址线会分为行和列地址线,或者行列分时复用同一根地址线,访问数据时先访问行地址线再访问列地址线也能实现寻址。我们用的SRAM较小,没有列地址线,它的数据宽度是16位,即一个行地址对应2字节空间。由上图可知,SRAM由19根行址信号2的19次方=5242688/1024=512K ,所以它一共能访问512K*16bits大小的空间。

访问时,使用 UB# 或 LB# 线控制数据宽度,例如,当要访问宽度为 16 位的数据时,使用行地址线指出地址,然后把 UB# 和 LB# 线都设置为低电平,那么 I/O0-I/O15 线都有效,它们一起输出该地址的 16 位数据 (或者接收 16 位数据到该地址);当要访问宽度为 8 位的数据时,使用行地址线指出地址,然后把 UB# 或 LB# 其中一个设置为低电平, I/O 会对应输出该地址的高 8 位和低 8 位数据,因此它们被称为数据掩码信号。

利用 CS2 或CS1# 片选信号,可以把多个 SRAM 芯片组成一个大容量的内存条。 OE# 和 WE# 可以控制读写使能,防止误操作。

SRAM的读写流程

读写流程比较类似,统一说,1.主机使用地址信号线发出要访问的存储器目标地址;2.控制片选信号 CS1# 及 CS2# 使能存储器芯片;3.若是要进行读操作,则控制读使能信号 OE# 表示要读数据,若进行写操作则控制写使能信号WE# 表示要写数据;4.使用掩码信号 LB# 与 UB# 指示要访问目标地址的高、低字节部分;5.若是读取过程,存储器会通过数据线向主机输出目标数据,若是写入过程,主要使用数据线向存储器传输目标数据。

在读写时序中,有几个比较重要的时间参数,在使用 STM32 控制的时候需要参考:

相关推荐
M78佐菲5 小时前
51单片机学习笔记:ds18b20要点整理
linux·笔记·嵌入式硬件·学习·51单片机
洪核单片机6 小时前
DPJ-96基于STM32单片机wifi远程监控智慧教室 温湿度光照粉尘人数考勤
stm32·单片机·嵌入式硬件·智慧教室·教室人数考勤
m0_752753128 小时前
单片机基础知识
单片机·51单片机
天空'之城8 小时前
单片机基础核心知识点汇总(三十六)
单片机·嵌入式硬件
云泽8089 小时前
STM32 USART 详解(八):C I/O 串口重定向原理与实现
c语言·stm32·嵌入式硬件
Doraemomo10 小时前
IMX6ULL裸机开发——系统主频和时钟配置
arm开发·嵌入式硬件·makefile·imx6ull
深圳市恒锐丰科技杨生12 小时前
EG1192H 零功耗使能集成上管非同步降压 DC‑DC|屹晶 EGmicro
嵌入式硬件·硬件工程
星栖与芯13 小时前
LiteOS-M 切换汇编逐行图解(1):汇编是什么·寄存器与栈
汇编·stm32·嵌入式硬件·harmonyos·鸿蒙系统
xx~t14 小时前
嵌入式——单片机2
嵌入式硬件·学习·51单片机·串口·蜂鸣器
JNX_SEMI14 小时前
OC5138T 8V~100V超宽输入降压恒流驱动:覆盖12V汽车至72V电动车全场景
单片机·嵌入式硬件