您的位置 首页 电子

STM32 FSMC 学习笔记

1FSMC机制FSMC(FlexihieStaticMemoryController,可变静态存储控制器)是STM32系列中内部集成256KB以上FlaSh,后缀为xC、xD和xE的

1.FSMC机制
FSMC(Flexihie Static Memory Controller,可变静态存储操控器)是STM32系列中内部集成256 KB以上FlaSh,后缀为xC、xD和xE的高存储密度微操控器特有的存储操控机制。之所以称为“可变”,是因为经过对特别功用寄存器的设置,FSMC能够依据不同的外部存储器类型,宣布相应的数据/地址/操控信号类型以匹配信号的速度,然后使得STM32系列微操控器不只能够运用各种不同类型、不同速度的外部静态存储器,并且能够在不添加外部器材的情况下一起扩展多种不同类型的静态存储器,满意体系规划对存储容量、产品体积以及本钱的归纳要求
1.1 FSMC技术优势
①支撑多种静态存储器类型。STM32经过FSMC町以与SRAM、ROM、PSRAM、NOR Flash和NANDFlash存储器的引脚直接相连。
②支撑丰厚的存储操作办法。FSMC不只支撑多种数据宽度的异步读/写操作,并且支撑对NOR/PSRAM/NAND存储器的同步突发拜访办法。
③支撑一起扩展多种存储器。FSMC的映射地址空间中,不同的BANK是独立的,可用于扩展不同类型的存储器。当体系中扩展和运用多个外部存储器时,FSMC会经过总线悬空推迟时刻参数的设置,避免各存储器对总线的拜访抵触。
④支撑更为广泛的存储器类型。经过对FSMC的时刻参数设置,扩展了体系中可用存储器的速度规模,为用户供给了灵敏的存储芯片挑选空间。
⑤支撑代码从FSMC扩展的外部存储器中直接运转,而不需求首要调入内部SRAM。
1.2 FSMC内部结构
STM32微操控器之所以能够支撑NOR Flash和NAND Flash这两类拜访办法彻底不同的存储器扩展,是因为FSMC内部实践包含NOR Flash和NAND/PC Card两个操控器,别离支撑两种天壤之别的存储器拜访办法。在STM32内部,FSMC的一端经过内部高速总线AHB连接到内核Cortex-M3,另一端则是面向扩展存储器的外部总线。内核对外部存储器的拜访信号发送到AHB总线后,经过FSMC转化为契合外部存储器通讯规约的信号,送到外部存储器的相应引脚,完成内核与外部存储器之间的数据交互。FSMC起到桥梁效果,既能够进行信号类型的转化,又能够进行信号宽度和时序的调整,屏蔽掉不同存储类型的差异,使之对内核而言没有差异。
1.3 FSMC映射地址空间
FSMC办理1 GB的映射地址空间。该空间划分为4个巨细为256 MB的BANK,每个BANK又划分为4个64 MB的子BANK,如表1所列。FSMC的2个操控器办理的映射地址空间不同。NOR Flash操控器办理第1个BANK,NAND/PC Card操控器办理第2~4个BANK。因为两个操控器办理的存储器类型不同,扩展时应依据选用的存储设备类型确认其映射方位。其间,BANK1的4个子BANK具有独立的片选线和操控寄存器,可别离扩展一个独立的存储设备,而BANK2~BANK4只要一组操控寄存器。
2 FSMC扩展NOR Flash装备
SRAM/ROM、NOR Flash和PSRAM类型的外部存储器都是由FSMC的NOR Flash操控器办理的,扩展办法根本相同,其间NOR Flash最为杂乱。经过FSMC扩展外部存储器时,除了传统存储器扩展所需求的硬件电路外,还需求进行FSMC初始化装备。FSMC供给很多、详尽的可编程参数,以便能够灵敏地进行各种不同类型、不同速度的存储器扩展。外部存储器能否正常作业的关键在于:用户能否依据选用的存储器类型,对装备寄存器进行合理的初始化装备。
(1)确认映射地址空间
依据选用的存储器类型确认扩展运用的映射地址空间。NOR Flash只能选用BANK1中的4个子BANK。选定映射子BANK后,即可确认以下2方面内容:
①硬件电路中用于选中该存储器的片选线FSMC_NEi(i为子BANK号,i=1,…,4);
②FSMC装备中用于装备该外部存储器的特别功用寄存器号(如表1所列)。
(2)装备存储器根本特征
经过对FSMC特别功用寄存器FSMC_BCRi(i为子BANK号,i=1,…,4)中对应操控位的设置,FSMC依据不同存储器特征可灵敏地进行作业办法和信号的调整。依据选用的存储器芯片确认需求装备的存储器特征,首要包含以下方面:
①存储器类型(MTYPE)是SRAM/ROM、PSRAM,仍是NOR FlaSh;
②存储芯片的地址和数据引脚是否复用(MUXEN),FSMC能够直接与AD0~AD15复用的存储器相连,不需求添加外部器材;
③存储芯片的数据线宽度(MWID),FSMC支撑8位/16位两种外部数据总线宽度;
④关于NOR Flash(PSRAM),是否选用同步突发拜访办法(B URSTEN);
⑤关于NOR Flash(PSRAM),NWAIT信号的特性阐明(WAITEN、WAITCFG、WAITPOL);
⑥关于该存储芯片的读/写操作,是否选用相同的时序参数来确认时序联系(EXTMOD)。
(3)装备存储器时序参数
FSMC经过运用可编程的存储器时序参数寄存器,拓宽了可选用的外部存储器的速度规模。FSMC的NORFlash操控器支撑同步和异步突发两种拜访办法。选用同步突发拜访办法时,FSMC将HCLK(体系时钟)分频后,发送给外部存储器作为同步时钟信号FSMC_CLK。此刻需求的设置的时刻参数有2个:
①HCLK与FSMC_CLK的分频系数(CLKDIV),能够为2~16分频;
②同步突发拜访中取得第1个数据所需求的等候推迟(DATLAT)。
关于异步突发拜访办法,FSMC首要设置3个时刻参数:地址树立时刻(ADDSET)、数据树立时刻(DATAST)和地址坚持时刻(ADDHLD)。FSMC归纳了SRAM/ROM、PSRAM和NOR Flash产品的信号特色,界说了4种不同的异步时序模型。选用不同的时序模型时,需求设置不同的时序参数,如表2所列。在实践扩展时,依据选用存储器的特征确认时序模型,然后确认各时刻参数与存储器读/写周期参数目标之间的核算联系;运用该核算联系和存储芯片数据手册中给定的参数目标,可核算出FSMC所需求的各时刻参数,然后对时刻参数寄存器进行合理的装备。


FSMC全称“静态存储器操控器”。
运用FSMC操控器后,能够把FSMC供给的FSMC_A[25:0]作为地址线,而把FSMC供给的FSMC_D[15:0]作为数据总线。
(1)当存储数据设为8位时,(FSMC_NANDInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_8b)
地址各位对应FSMC_A[25:0],数据位对应FSMC_D[7:0]
(2)当存储数据设为16位时,(FSMC_NANDInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b)
地址各位对应FSMC_A[24:0],数据位对应FSMC_D[15:0]
FSMC 包含4个模块:
(1)AHB接口(包含FSMC装备寄存器)
(2)NOR闪存和PSRAM操控器(驱动LCD的时分LCD就好像一个PSRAM的里边只要2个16位的存储空间,一个是DATA RAM 一个是CMD RAM)
(3)NAND闪存和PC卡操控器
(4)外部设备接口
注:FSMC能够恳求AHB进行数据宽度的操作。假如AHB操作的数据宽度大于外部设(NOR或NAND或LCD)的宽度,此刻FSMC将AHB操作分割成几个接连的较小的数据宽度,以习惯外部设备的数据宽度。


FSMC对外部设备的地址映像从0x6000 0000开端,到0x9FFF FFFF完毕,共分4个地址块,每个地址块256M字节。能够看出,每个地址块又分为4个分地址块,巨细64M。对NOR的地址映像来说,咱们能够经过挑选HADDR[27:26]来确认当时运用的是哪个64M的分地址块,如下页表格。而这四个分存储块的片选,则运用NE[4:1]来挑选。数据线/地址线/操控线是同享的。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/qiche/dianzi/259764.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部