[应用相关] STM32F407扩展外部SRAM总结

[复制链接]
2005|38
 楼主| 9dome猫 发表于 2021-8-3 22:11 | 显示全部楼层 |阅读模式
STM32F407扩展外部SRAM总结 4401561094e8f9db4d.png

 楼主| 9dome猫 发表于 2021-8-3 22:15 | 显示全部楼层
折腾过电脑的朋友都知道,当电脑运行比较卡的时候,我们可以通过给电脑加装内存条来改善电脑的性能。那么号称微型计算机的单片机能不能像电脑一样加装内存条呢?装内存条倒是不行,但是我们可以给单片机外加和内存条效果一样的SRAM来提升单片机的性能。下面以STM32F407ZGT6单片机来讲解一下来扩展外部SRAM。
 楼主| 9dome猫 发表于 2021-8-3 22:17 | 显示全部楼层
原理:给STM32芯片扩展内存与给PC扩展内存的原理是一样的,只是PC上一般以内存条的形式扩展,内存条实质是由多个内存颗粒(即SRAM芯片)组成的通用标准模块,而STM32直接与SRAM芯片连接。
 楼主| 9dome猫 发表于 2021-8-3 22:18 | 显示全部楼层
从上面的图片中我们可以看到,ARM芯片的下面就是我们今天的主角SRAM,具体型号为IS62WV51216。
 楼主| 9dome猫 发表于 2021-8-3 22:20 | 显示全部楼层
黑黢黢的芯片我们也看不出什么东西来,下面就来看一看IS62WV51216的管脚图吧。
 楼主| 9dome猫 发表于 2021-8-3 22:21 | 显示全部楼层
 楼主| 9dome猫 发表于 2021-8-3 22:22 | 显示全部楼层
哇!这么居然这么多管脚!别着急,下面我们来慢慢分析这些管脚。
 楼主| 9dome猫 发表于 2021-8-3 22:23 | 显示全部楼层
除开基本的电源和地线,IS62WV51216的管脚大概可以这么来分类:
 楼主| 9dome猫 发表于 2021-8-3 22:25 | 显示全部楼层
 楼主| 9dome猫 发表于 2021-8-3 22:28 | 显示全部楼层
所以IS62WV51216的管脚总的来说大致分为:电源线、地线、地址线、数据线、片选线、写使能端、读使能端和数据掩码信号线。

 楼主| 9dome猫 发表于 2021-8-3 22:33 | 显示全部楼层
从这个图中我们可以看出IS62WV51216有19根地址线和16根数据线,从这些数据中我们可以分析出IS62WV51216的存储大小为1M,那么这个1M是怎么分析出来的呢?

 楼主| 9dome猫 发表于 2021-8-3 22:40 | 显示全部楼层
我们得来说说IS62WV51216的存储原理。

 楼主| 9dome猫 发表于 2021-8-3 22:43 | 显示全部楼层
首先,我们来谈一谈一般的SRAM的存储原理:

9499361095562d9fa5.png
 楼主| 9dome猫 发表于 2021-8-3 22:45 | 显示全部楼层
sram的存储模型我们可以用矩阵来说明:


SRAM内部包含的存储阵列,可以把它理解成一张表格,数据就填在这张表格上。和表格查找一样,指定一个行地址和列地址,就可以精确地找到目标单元格,这是SRAM芯片寻址的基本原理。这样的每个单元格被称为存储单元,而这样的表则被称为存储矩阵。地址译码器把N根地址线转换成2的N次方根信号线,每根信号线对应一行或一列存储单元,通过地址线找到具体的存储单元,实现寻址。如果存储阵列比较大,地址线会分成行和列地址,或者行、列分时复用同一地址总线,访问数据寻址时先用地址线传输行地址再传输列地址。

 楼主| 9dome猫 发表于 2021-8-3 22:48 | 显示全部楼层
但是呢?你会发现,这个原理好像不太适用于IS62WV51216,为什么呢?

 楼主| 9dome猫 发表于 2021-8-3 22:51 | 显示全部楼层
其实不然,因为我们使用的SRAM比较小,IS62WV51216没有列地址线。它只有19根行地址线,那么,我们就可以这么来解释:IS62WV51216有16根数据线,也就是说它的数据宽度为16位,一个行地址也就对应16位,即2字节空间。好,那现在来计算一下IS62WV51216有多少个行地址。2的19次方等于512K,在512K的基础之上在乘我们之前计算的2字节,不正好是1024K,也就是1M吗?1M后面的单位是B,即Byte,而不是Bit哦。

 楼主| 9dome猫 发表于 2021-8-3 22:54 | 显示全部楼层
这样的话你就会发现IS62WV51216这个名字中本身就包含了大量的信息:IS62WV51216共有512K个行地址,数据宽度为16位,再加以计算就可以得到它的存储大小为1M啦,有趣吧!
 楼主| 9dome猫 发表于 2021-8-3 22:56 | 显示全部楼层
SRAM的大致原理我们讲完了,但是SRAM到底在stm32中到底是怎么被使用的呢?
 楼主| 9dome猫 发表于 2021-8-3 23:00 | 显示全部楼层
下面,一位大神即将登场,FSMC。

 楼主| 9dome猫 发表于 2021-8-3 23:03 | 显示全部楼层
STM32F407系列芯片使用FSMC外设来管理扩展的存储器
您需要登录后才可以回帖 登录 | 注册

本版积分规则

142

主题

1593

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部