stm32_FSMC注意事项

judy的头像

一、 FSMC内部结构和映射地址空间

FSMC包含AHB接口、NOR Flash和PSRAM控制器、NANDflash和PC卡控制器、外部设备接口4个主要模块。在ST吗内部,FSMC的一端通过内部高速总线AHB连接内核,另一端则是面向扩展存储器的外部总线。内核对外部存储器的访问信号发送到AHB总线后,经过FSMC转换为符合外部存储器规约的信号,送到外部存储器响应的管脚,视线内河鱼 数据交换。FSMC起到了桥梁的作用,既能够进行信号类型的转换,有能够进行信号宽度和时序的调整,屏蔽掉不同存储器之间的差异。

FSMC内部包含NOR Flash和NAND /PC Card两个控制器,可以分别支持两种截然不同的存储器访问方式,本实验选用的是前者。

FSMC管理1GB的映射地址空间。该空间氛围4个大小256k d的bank ,每个bank又分为4个大小为64K的子bank 。这个问题牵扯到缩扩展的外部存储器的地址问题,务必要注意仔细选择。各bank相互独立,均拥有独立的片选线和控制器。

二、FSMC总线配置步骤

(1)确定映射地址空间:本例程选用的是bank1 的第四个子bank ,前面也提到过,选择的BANK不同则外设对应的地址不同:我们选择的是BANK1,NE4对应的两个地址为:LCD_REG寄存器地址:0x6C00 0000 ;LCD_Data数据地址:0x6C00 0000 | (1《《(n+1))。

将AFIO的A0接至LCD的C/D(Command/data)脚 就自动切换了命令和数据。如果RS接到地址线的A0上,当RS为0时对应寄存器地址0x6C00 0000;当RS为1时,对应数据地址0x6C00 0002;若选择的的是bank1的NE1,则寄存器地址0x6000 0000;数据地址:0x6000 0002.

(2)确定扩展使用的映射地址空间后进而:

1、确定硬件电路中用于选中该存储器的片选线FSMC_NEx,
2、FSMC配置中用于配置该外部存储器的特殊功能寄存器号,

(3) 配置存储器基本特征

根据选用的存储器芯片确定需要配置的存储器特征:

1确定存储器类型(SRAM)
2确定存储器芯片的数据和地址引脚是否复用,
3确定存储器芯片的数据线宽度,
4对于NOR Flash,确定是否采用同步突发访问方式,
5对于NOR Flash,NWIT信号的特性说明,
6对于该存储器芯片的读写操作,确定是否采用相同的时许参数来确定时序关系。

(4) 配置存储器时序参数

FSMC通过使用可编程的存储器时序参数寄存器,拓展了可选用的外部存储器的速度范围,fsmc 的NOR Flash控制器支持同步和异步突发两种访问方式,本例选用的后者,主要设置3个时间参数:
地址建立时间;
数据建立时间;
地址保持时间。

转自:意念586