微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > MCU和DSP > FSMC机制的NOR Flash存储器扩展技术

FSMC机制的NOR Flash存储器扩展技术

时间:02-02 来源:互联网 点击:
3 STM32扩展S29GL系列NOR Flash实例

3.1 S29GL 系列NOR Flash简介

Spansion公司的S29GL系列芯片是采用90 nm技术制造的高集成度NOR Flash存储芯片,提供16~128 MB可选容量,支持最快25 ns的页访问速度和110 ns的随机访问速度,带有最大64字节的写缓冲区,以提供更快、更高效的编程,是嵌入式系统设计中大容量存储器扩展的理想选择。本文选用的型号为 S29GL512P,容量为512×64K字(总容量64 MB),扩展到NOR Flash控制器管理的BANK1的第2个子BANK。

3.2 STM32与S29GL512P的电路连接

S25GL512P可通过控制引脚BYTE选择对芯片的访问单位(字/字节),区别在于:

① 对于芯片引脚DQ15,字模式时传送最高数据位D15;字节模式时传送最低地址A-1。

②字模式时,数据引脚 D0~D15上传送数据信号;字节模式时,只有D0~D7上有信号。

此处,将BYTE上拉到高电平,选择16位的字访问单位。FSMC数据线FSMC_D[15:0]与S29GL512P的D15~D0对应连接;FSMC地址线FSMC_A[25:0]的低25根与S29GL512P的地址线A[24:0]对应连接。

由于S29GL512P芯片映射到BANK1的子BANK2,可确定其片选线应连接FSMC片选控制线 FSMC_NE2。S29GL512P的RY/BY引脚连接FSMC的FSMC_NWAIT引脚,提供等待信号。

3.3 FSMC的配置

根据S29GL512P的映射位置,需要对FSMC_BCR2和FSMC_BTR2/BWTR2寄存器进行配置。

(1)FSMC_BCR2

配置S29GL512P的读/写采用统一时间参数,只需要设置时问寄存器FSMC_BTR2。配置存储器类型为NOR Flash,数据总线宽度为16位(字),不采用地址/数据复用,使能BANK1的子BANK2。

(2) FSMC_BTR2

由表2可知,异步NOR Flash时序模型Mode2/B需要设置时问参数DATAST和ADDSET。根据时序图,两个参数的计算公式如下:



式中:Twc和Trc为所选存储芯片的写周期长度和读操作周期长度;Twp为所选存储芯片的写信号持续长度。

根据S29GL512P用户手册,可知参数Twc=Trc=130 ns,Twp=35 ns。设STM32微控制器采用72 MHz主频,则HCLK=(1/72×10-6)s。通过上述公式计算,可取值为:DATAST=2,ADDSET=5。

为了达到更好的控制效果,还应考虑FSMC自身延迟问题,使用校正公式:



式中:TAVQV为所选存储芯片访问过程中,从地址有效至数据有效的时间域;Tsu(Data_NE)为STM32特征参数,从数据有效到FSMC_NE(片选)失效时间域;Ttv(A_NE)为STM32特征参数,从 FSMC_NE有效至地址有效的时间域。

TAVQV=130 ns,Tsu(Data_NE)+Ttv(A_NE)=36 ns,对DATAST参数进行校正,可得DATAST=3。

3.4 应用STM32固件对FSMC进行初始化配置

ST公司为用户开发提供了完整、高效的工具和固件库,其中使用C语言编写的固件库提供了覆盖所有标准外设的函数,使用户无需使用汇编操作外设特性,从而提高了程序的可读性和易维护性。

STM32固件库中提供的FSMC的NOR Flash控制器操作固件,主要包括2个数据结构和3个函数。数据结构FSMC_NORSRAMTimingInitTypeDef对应时间参数寄存器 FSMC_BTR和FSMC_BWTR的结构定义;FSMC_NORSRAMInitTypeDef对应特征配置寄存器FSMC_BCR的结构定义,并包含2个指向对应BANK的FSMC_BTR和FSMC_BWTR寄存器的FSMC_NORSRAMTimingInitTypeDef结构指针。

针对上述S29GL512P芯片扩展要求,利用固件库进行的主要初始化操作如下:



结语

STM32作为新一代ARM Cortex-M3核处理器,其卓越的性能和功耗控制能够适用于广泛的应用领域;而其特殊的可变静态存储技术FSMC具有高度的灵活性,对于存储容量要求较高的嵌入式系统设计,能够在不增加外部分立器件的情况下,扩展多种不同类型和容量的存储芯片,降低了系统设计的复杂性,提高了系统的可靠性。

参考文献

   1. Shyam Sadasivan.An Introduce to the ARM Cortex-M3 Proccessor,2006.
   2. 王永虹,徐炜,等.STM32系列ARM Cortex-M3微控制器原理与实践[M].北京:北京航空航天大学出版社,2008.
   3. ST Microelectronics.STM32 Reference Manual,2009.
   4. Spansion Inc.S29GL-P MirrorBit Flash Family Data Sheet,2006.
   5. ST Microelectronics.STM32 Firmware Library User Manual,2008.

作者: 鲁东大学 潘辉   来源:《单片机与嵌入式系统应用 》 2009(10)

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top