你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

使用大容量 STM32F10xxx 的 FSMC 驱动外部的存储器

[复制链接]
STMCU小助手 发布时间:2022-7-14 18:00
前言
这个应用笔记说明了如何使用大容量的STM32F10xxx的FSMC(灵活的静态存储器控制器)驱动一组外部的存储器。文中首先简要地介绍了STM32F10xxx的FSMC控制器,然后给出了包含典型的FSMC配置的存储器接口实例,以及时序计算和硬件连接方法。
本应用笔记的实例是基于STM3210E-EVAL评估版上的存储器,这是大容量STM32F10xxx的评估版。使用的存储器是一个16位的异步NOR闪存存储器,一个8位的NAND闪存存储器和一个16位的异步SRAM存储器。


1 STM32F10xxx灵活的静态存储器控制器简介
灵活的静态存储器控制器(FSMC)是内置于大容量STM32F10xxx的外部存储器控制器。使用这个控制器,STM3210xxx微控制器可以与许多存储器连接,包括SRAM、NOR闪存和NAND闪存等。
FSMC包含2类控制器:
● 一个NOR闪存/SRAM控制器,可以与NOR闪存、SRAM和PSRAM存储器接口。
● 一个NAND闪存/PC卡控制器,可以与NAND闪存、PC卡、CF卡和CF+存储器接口。
控制器产生所有驱动这些存储器的信号时序:
● 16个数据线,用于连接8位或16位存储器
● 26个地址线,最多可连接64M字节的存储器(译注:这里不包括片选线)
● 5个独立的片选信号线
● 一组适合不同类型存储器的控制信号线:
─ 控制读/写操作
─ 与存储器通信,提供就绪/繁忙信号和中断信号
─ 与所用配置的 PC 卡接口: PC 存储卡、PC I/O 卡和真正的 IDE 接口
下面是FSMC的框图。

C$THEEHFGBG[9N68FZ%6X.png

● NOR闪存/SRAM控制器使用存储块1访问4个存储器设备,这个存储块被划分为4个区域,具有4个专用的片选信号。
● NAND闪存/PC卡控制器使用存储块2和3访问NAND闪存设备。
● NAND闪存/PC卡控制器使用存储块4访问PC卡设备。
对于每个存储块,使用的存储器类型是用户通过配置寄存器定义的。


[W]MLWOUYKC`O(1HP5{VBFK.png


2 与非总线复用模式的异步16NOR闪存接口
2.1 FSMC配置
控制一个NOR闪存存储器,需要FSMC提供下述功能:
● 选择合适的存储块映射NOR闪存存储器:共有4个独立的存储块可以用于与NOR闪存、SRAM和PSRAM存储器接口,每个存储块都有一个专用的片选管脚。
● 使用或禁止地址/数据总线的复用功能。
● 选择所用的存储器类型:NOR闪存、SRAM或PSRAM。
● 定义外部存储器的数据总线宽度:8或16位。
● 使用或关闭同步NOR闪存存储器的突发访问模式。
● 配置等待信号的使用:开启或关闭,极性设置,时序配置。
● 使用或关闭扩展模式:扩展模式用于访问那些具有不同读写操作时序的存储器。
因为NOR闪存/SRAM控制器可以支持异步和同步存储器,用户只须根据存储器的参数配置使用到的参数。
FSMC提供了一些可编程的参数,可以正确地与外部存储器接口。依存储器类型的不同,有些参数是不需要的。
当使用一个外部异步存储器时,用户必须按照存储器的数据手册给出的时序数据,计算和设置下列参数:
● ADDSET:地址建立时间
● ADDHOLD:地址保持时间
● DATAST:数据建立时间
● ACCMOD:访问模式
这个参数允许 FSMC可以灵活地访问多种异步的静态存储器。共有4种扩展模式允许以不同的时序分别读写存储器。
在扩展模式下,FSMC_BTR用于配置读操作,FSMC_BWR用于配置写操作。(译注:如果读时序与写时序相同,只须使用FSMC_BTR即可。)
如果使用了同步的存储器,用户必须计算和设置下述参数:
● CLKDIV:时钟分频系数
● DATLAT:数据延时
如果存储器支持的话,NOR闪存的读操作可以是同步的,而写操作仍然是异步的。
当对一个同步的NOR闪存编程时,存储器会自动地在同步与异步之间切换;因此,必须正确地设置所有的参数。
图3和图4示出了对于一个典型的NOR闪存不同的读写时序。


G9[[L35]M$PI9)UFG0L@1)J.png

`6]_[MGTY`(6I_H7H8PT)YO.png


2.1.1 NOR闪存存储器接口的典型应用
STM32F10xxx的FSMC有4个各为64M字节的不同存储块,支持NOR闪存、PSRAM存储器和相同的外部存储器。
所有外部存储器共用控制器的地址、数据和控制信号线,每个外部设备由唯一的片选信号区分,而FSMC在任一时刻只访问一个外部设备。
每个存储块都有一组专用的寄存器,配置不同的功能和时序参数。
本文以M29W128FL存储器作为参考。M29W128FL是一个16位、异步、非总线共享的NOR闪存存储器,因此FSMC应按下述方式配置:
选用存储块2驱动这个NOR闪存存储器:
● 使能存储块2:设置BCR2_MBKEN位为’1’
● 存储器类型为NOR:设置BCR2_MTYP为’10’,选择NOR存储器类型
● 数据总线宽度为16位:设置BCR2_MWID为’01’,选择16位宽度
● 这是非总线共享存储器:清除BCR2_MUXEN为’0’
保持其它的所有参数为清除状态。

完整版请查看:附件

CD00200423_ZHV1.pdf

下载

781.48 KB, 下载次数: 6

收藏 评论0 发布时间:2022-7-14 18:00

举报

0个回答

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版