STM32的FSMC灵活静态存储器控制器_第1页
STM32的FSMC灵活静态存储器控制器_第2页
STM32的FSMC灵活静态存储器控制器_第3页
STM32的FSMC灵活静态存储器控制器_第4页
STM32的FSMC灵活静态存储器控制器_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、STM32的FSMC灵活静态存储器控制器FSMC(Flexihie Static Memory Controller)模块只适用于大容量产品。FSMC模块能够与同步或异步存储器和16位PC存储器卡接口,主要将AHB传输信号转换到适当的外部设备协议,满足访问外部设备的时序要求。存储器接口包括:SRAM静态随机存储器ROM只读存储器NOR闪存PSRAM(4个存储块)两个NAND闪存块16位PC卡STM32之所以能够支持NOR FLASH和NAND FLASH两类访问方式完全不同的存储器扩展,是因为FSMC内部实际包括NOR FLASH和NAND / PC Card两个控制器,分别支持两种截然不同的

2、存储器访问方式。在STM32内部,FSMC的一端通过内部高速总线AHB连接到内核Cortex-M3,另一端则是面向扩展器的外部总线。内核对外部存储器访问信号发送到AHB总线后,经FSMC转换为符合外部存储器通信规约的信号,送到外部存储器相应的引脚,实现数据交互。FSMC起着桥梁作用,既能进行信号类型的转换,又能进行信号宽度和时序的调整,屏蔽掉不同存储类型的差异,使之对内核而言没有区别。FSMC模块框图如下:存储块外设地址映射(具体说明请看数据手册,此处只用图表形式简单表示):下表为NOR/PSRAM存储块选择:三个存储块可用于NAND或PC:对于NAND闪存,空间可在低256K字节部分划分为三

3、个区:时序参数:FSMC通过使用可编程的存储器时序参数寄存器,拓展了可选用的外部存储器的速度范围。FSMC的NOR FLASH控制器支持同步和异步突发两种访问方式。选用同步突发访问方式时,FSMC将系统时钟HCLK分频后,发送给外部存储器作为同步时钟信号FSMC_CLK。此时需要设置的时间参数有两个:CLK的分频系数和访问中获得第1个数据所需要的等待延迟(DATLAT)。选用异步突发访问方式时,FSMC主要设置3个时间参数:地址建立时间(ADDSET),数据建立时间(DATAST)和地址保持时间(ADDHLD)。异步NOR FLASH时序模式2时间参数计算公式如下:式中Twc和Trc为所选存储

4、器芯片的写周期长度和读操作周期长度;Twp为所选存储器芯片的写信号持续长度。为达到更好的控制效果,还应考虑FSMC自身延迟问题,使用校正公式:式中TAVQV为所选存储器芯片访问过程中,从地址有效至数据有效的时间域;Tsu(Data_NE)为STM32特征参数,从数据有效到FSMC_NE失效时间域,Ttv(A_NE)为STM32特征参数,从FSMC_NE有效至地址有效的时间域。关于FSMC的其它配置这里就不多说了,下面以TFT屏(ILI9325)的驱动举个例子。TFT_RS PE2/A23TFT_WR PD5/NWETFT_RD PD4/NOE数据线连接FSMC的数据接口,TFT屏背光使用PWM

5、控制。例程如下:#define TFT_Command(uint32_t)0 x60000000)#define TFT_Data(uint32_t)0 x61000000)/ FSMC_A23(16位)注意16位与8位的地址计算方式不一样/8位地址 0 x60800000/16位地址0 x61000000/*-*/void TFT_IO_Configuration(void)GPIO_InitTypeDef GPIO_InitStructure;GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_4 | GPIO_

6、Pin_5| GPIO_Pin_14 | GPIO_Pin_15/ | GPIO_Pin_7| GPIO_Pin_8 | GPIO_Pin_9 | GPIO_Pin_10;GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;GPIO_Init(GPIOD, &GPIO_InitStructure);GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7 | GPIO_Pin_8 | GPIO_Pin_9 | GPIO_Pin_10

7、| GPIO_Pin_11 | GPIO_Pin_12 | GPIO_Pin_13 | GPIO_Pin_14 | GPIO_Pin_15| GPIO_Pin_2;GPIO_Init(GPIOE, &GPIO_InitStructure);/*-*/void TFT_FSMC_Configuration(void)FSMC_NORSRAMInitTypeDef FSMC_NORSRAMInitStructure;FSMC_NORSRAMTimingInitTypeDef p;RCC_AHBPeriphClockCmd(RCC_AHBPeriph_FSMC , ENABLE);TFT_IO_Co

8、nfiguration();p.FSMC_AddressSetupTime = 1;p.FSMC_AddressHoldTime = 0;p.FSMC_DataSetupTime = 2;p.FSMC_BusTurnAroundDuration = 0;p.FSMC_CLKDivision = 0;p.FSMC_DataLatency = 0;p.FSMC_AccessMode = FSMC_AccessMode_B;FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM1;/扩展NORBANK的第1个子BANKFSMC_NORSRAM

9、InitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable;/不使用总线复用FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_SRAM;/扩展类型为SRAMFSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b;/16位总线宽度FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode = FSMC_BurstAccessMode_D

10、isable;/FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low;FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable;FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState;FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOp

11、eration_Enable;FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable;FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Disable;/读写统一时间参数FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable;FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &p;/指向定义的BTR结构FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &p;FSMC_NORSRAMInit(&FSMC_NORSRAMInitStructure);FSMC_NORSRAMCmd(FSMC_Bank1_NORSRAM1, ENABLE);/*-*/void TFT_Write_com(u16 dat) /发送命令*(_IO uint16_t *) (TFT_Command)= dat;/*-*/void TFT_Write_dat(u16 dat)/ 发送数据*(_IO uint16_t *

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论