FSMC外设接口来外扩SRAM芯片、flash芯片

1、STM32学习笔记-FSMC外扩SRAM_行之无边的博客-CSDN博客_stm32外扩sram

STM32控制器芯片内部有一定大小的SRAM及FLASH作为内存和程序存储空间,但当程序较大,内存和程序空间不足时,就需要在STM32芯片的外部扩展存储器了。STM32F407系列芯片可以扩展外部SRAM用作内存。

为什么可以利用FSMC来使用外部RAM呢,首先了解一下STM32里的FSMC。大容量且引脚数在100脚以上的STM32F103芯片都带有FSMC接口。FSMC(Flexible Static Memory Controller)是灵活的静态存储控制器,能够与同步或异步存储器和16位PC存储器卡接口,STM32的FSMC接口支持包括SRAM、NAND FLASH、NOR FLASH和PSRAM等存储器

EMI502NL16VM这个2M字节容量的SRAM芯片。可用于配置FSMC,利用FSMC来操作外部SRAM。在选择存储器类型时就选择SRAM。地址总线和数据总线是分开的,所以配置的时候选择不复用总线。在配置完成后使能控制块就可以了。EMI502NL16VM系列由EMI先进的全CMOS工艺技术制造。位宽:128Kx16位,电源电压:2.3V〜3.6V这些系列支持工业温度范围和芯片级封装,以使用户灵活地进行系统设计。该系列还支持低数据保持电压最小值1.5V,以低数据保持电流实现电池备份操作,三态输出和TTL兼容。

SRAM:IS61LV25616外观:256K * 16bit=512KByte(K字节)

在这里插入图片描述

  • IS61LV25616的特点:
    高速访问时间:8,10,12,15ns
    容量:256K * 16bit=512KByte(K字节)

2、SRAM内部框图分析

在这里插入图片描述

 1、地址数据接口 2、存储矩阵 3、控制电路

三、STM32-FSMC控制器介绍
1、FMSC控制器简介
STM32F4系列芯片使用FSMC外设来管理扩展的存储器,FSMC是Flexible Static Memory Controller的缩写,译为灵活的静态存储控制器。它可以用于驱动包括SRAM、NOR FLASH以及NAND FLSAH类型的存储器,不能驱动如SDRAM这种动态的存储器。而在STM32F429系列的控制器中,它具有FMC外设,支持控制SDRAM存储器。

2、FSMC控制器框图分析

在这里插入图片描述

1、通讯引脚 2、存储器控制器 3、时钟控制逻辑
 

2、MCU单片机外扩的国产串口SRAM简介 - 今日头条 - 电子发烧友网

MCU可用于外扩SRAM的管脚数量有限,如果考虑SPI SRAM(串行SRAM)是一种不错的解决方案 

伪静态的串口SPI SRAM,只需要SPI接口或者QPI接口,就可以简简单单实现单线、4线和8线的方式操作SRAM。这种产品的速度快20MHz~200MHz,功耗也低,更重要的是在价格上有也较传6晶体的SRAM优势很多。

3、STM32单片机如何利用SPI接口外扩SRAM芯片_腾讯新闻

STM32单片机如何利用SPI接口外扩SRAM芯片

STM32F1系列属于中低端的32位ARM微控制器,其内核是Cortex-M3。该系列芯片按片内Flash的大小可分为三大类:小容量(16K和32K)、中容量(64K和128K)、大容量(256K、384K和512K)。

在实际的产品应用过程中如果出现内置RAM出现不足的情况下,选择外扩RAM是大部分工程师的首选,当然这款MCU是支持外扩内存的,外扩的存储器可选择SDRAM ,FLASH,SRAM芯片等,SDRAM及FLASH的外扩相对来说较为简单,如果想外扩SRAM芯片的话,目前主流的方式是通过并口接口来外扩SRAM芯片的,但是并口SRAM芯片占用了过多的I/O口对于管脚有限的产品应用设计提出了考虑使用用SPI接口或者QPI接口外扩SOP-8封装的SRAM芯片,可以起到节省管脚的作用,从而实现SRAM芯片的扩展。VTI7064存储器可以实现单线、4线和8线的方式操作SRAM。速度在20MHz~200MHz之间,选择功耗更低的SPI SRAM,更有利在设计产品上做到功耗的减少, 成本上也要比6晶体的SRAM有优势得多,容量一般在 16Mb,32Mb,64Mb。SPI SRAM也因为成本及接口的优点被很多MCU的厂家认可及支持。

4、单片机---HLK-W801外部扩展flash_胖哥王老师的博客-CSDN博客_外扩flash

扩展一下Flash存储,用了一片常用的W25Q64的芯片,通过SPI接口方式,与W801进行连接,并进行数据存储和读取。

Flash:W25Q128,128Mbit (128M位)=16MByte(16M字节)的大小 

Flash: W25Q64, 64Mbit(64M位)=8MByte(8M字节)的大小

外扩flash是为了解决程序过大用的,把一部分代码放到外部flash中去,但是是当程序空间大的时候自动写入外部flash吗,还是要进行什么操作而ram一般是存储...

5、STM32H7代码运行在外置flash的部分总结_Muher的博客-CSDN博客_stm32运行外部flash程序

项目中需要用到STM32H750这款ARM cortex-M7内核的单片机,它作为H743的阉割版,它的内置flash只剩下128K。但是对于我们需要有IAP升级的项目来说,这128K(一个扇区)完全不够用,所以需要外置QSPI Flash。但是使用外置QSPI Flash又引入了新的问题。
————————————————
版权声明:本文为CSDN博主「Muher」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_37671453/article/details/117436972

6、单片机外扩RAM和FLASH是干什么用,该怎么操作_百度知道

单片机外扩RAM和FLASH是干什么用,该怎么操作

扩大存储容量,比如说你想显示的图片,数据量很大并且单片机内部放不下时,就放在外扩的flash中了。
在外扩flash中放程序的很少,因为总线的速度远远低于单片机内部的速度,所以效率低,更不会像你说的那样写入外部(虚拟内存?)
外扩ram的读写和使用内部时的一样,你只要设置好编译器指明外部ram的位置和大小就行了。

因为flash的速度是跟不上cpu的速度的,在读flash时就有延迟,所以仿真正常但烧写就不一定那样。

外扩ram的读写和使用内部时的一样,你只要设置好编译器指明外部ram的位置和大小就行了,除了编译器设置之外,还要在程序中配置FSMC的时序来保证访问的正常。

 7、TFTLCD之FSMC详解-电子工程世界

  • 1
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值