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)。