STM32外扩SRAM

这两天调试STM32F103外扩SRAM,将调试过程中遇到的问题记录下,SRAM的规格是256K*16的异步SRAM,地址总线为18,数据线宽度为16.

在调试过程中遇到一些小问题,希望读者能少走些弯路。

先看一下FSMC内存映射图:

由图可知,stm32的FSMC模块分为四个bank,每个bank的大小事64M。

 下面这张图是FSMC各个块的信号分配图。

 

由上图可知,bank1 NOR/PSRAM可以分为4个子块,由FSMC_NE[4:1]来选择使能哪个子块。

例如:每小块NOR/PSRAM的64M地址范围如下:

 第一块:6000 0000h--63ff ffffh

 第二块:6400 0000h--67ff ffffh

 第二块:6800 0000h--6bff ffffh

 第三块:6c00 0000h--6fff ffffh

我们可以通过选择HADDR[27:26]来确定当前使用的是哪个64M的分地址块,如下图所示:

这里我使用的是100脚的stm32,只有NE1引脚可用,也就是说只能用Bank1的存储块1,即FSMC_Bank1_NORSRAM1。

我用的STM32是100脚的,地址和数据总线是复用的,那么需要用到锁存器来区分地址和数据,而锁存信号是NADV输出的,注意看图173和图174的NADV信号在输出地址时是低电平,输出数据时是高电平,所以锁存器要选择一个高电平锁存或者加个反向器。

在配置STM32的FSMC的寄存器时要注意下面两句话:

//使能复用模式 
FSMC_NORSRAMInitStructure.FSMC_DataAddressMu
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值