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

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

[复制链接]
STMCU小助手 发布时间:2022-7-14 18:00
前言# l! I+ k: q( h- h/ Z" T* `9 [
这个应用笔记说明了如何使用大容量的STM32F10xxx的FSMC(灵活的静态存储器控制器)驱动一组外部的存储器。文中首先简要地介绍了STM32F10xxx的FSMC控制器,然后给出了包含典型的FSMC配置的存储器接口实例,以及时序计算和硬件连接方法。
- h; b4 X( j  h" S- u本应用笔记的实例是基于STM3210E-EVAL评估版上的存储器,这是大容量STM32F10xxx的评估版。使用的存储器是一个16位的异步NOR闪存存储器,一个8位的NAND闪存存储器和一个16位的异步SRAM存储器。: G+ \, I; T1 s6 P/ U! r( ^
' }2 T: k& {' H# c
! `" w3 `1 g! I4 Q: Z0 Y% X. w* J% |
1 STM32F10xxx灵活的静态存储器控制器简介
/ I" D2 s( m+ Y+ H灵活的静态存储器控制器(FSMC)是内置于大容量STM32F10xxx的外部存储器控制器。使用这个控制器,STM3210xxx微控制器可以与许多存储器连接,包括SRAM、NOR闪存和NAND闪存等。3 p- G* d( [8 b* g
FSMC包含2类控制器:. f( Y7 p0 k* F- t" L, M8 X
● 一个NOR闪存/SRAM控制器,可以与NOR闪存、SRAM和PSRAM存储器接口。4 F1 ?- o( J9 n& s6 G  c
● 一个NAND闪存/PC卡控制器,可以与NAND闪存、PC卡、CF卡和CF+存储器接口。% T( \( z6 J# @8 a1 Q) h
控制器产生所有驱动这些存储器的信号时序:" }( P; t- {- M. U* g
● 16个数据线,用于连接8位或16位存储器! w% D" F# @$ `: @
● 26个地址线,最多可连接64M字节的存储器(译注:这里不包括片选线)
, e2 r7 U3 u, G7 P) w● 5个独立的片选信号线
0 E  k. i+ M" y- t● 一组适合不同类型存储器的控制信号线:
9 a, Z$ K0 _* D$ I* y8 N. J5 i─ 控制读/写操作5 T% O1 H# [: Y( y& T% }
─ 与存储器通信,提供就绪/繁忙信号和中断信号
% n* Q8 o9 {' V6 e* m+ V─ 与所用配置的 PC 卡接口: PC 存储卡、PC I/O 卡和真正的 IDE 接口7 h' \& V: i& D+ |
下面是FSMC的框图。
6 L8 U' T/ U" y
% m. s' ]6 O! t8 p  W7 N$ L$ ?3 u  ]* K
C$THEEHFGBG[9N68FZ%6X.png
  k: {( x4 ^. @% K& D( j) N; k$ X
● NOR闪存/SRAM控制器使用存储块1访问4个存储器设备,这个存储块被划分为4个区域,具有4个专用的片选信号。
5 t' ?9 _- K3 x3 f● NAND闪存/PC卡控制器使用存储块2和3访问NAND闪存设备。! R2 L4 z" Q$ D" R. i* E" y$ s
● NAND闪存/PC卡控制器使用存储块4访问PC卡设备。' _. g- k# j4 }+ V& @6 K$ C, g
对于每个存储块,使用的存储器类型是用户通过配置寄存器定义的。
: E( Z3 {  h# K- M, _; w4 H. E
  `5 A% h3 t" }

8 _, D, w$ f5 q4 ~7 G8 ?6 c* J4 w; G [W]MLWOUYKC`O(1HP5{VBFK.png
9 X! Q9 e& R' S, r) n
) x7 E! M. k) ?, Q; M

4 U- |( u; I( R1 E2 与非总线复用模式的异步16位NOR闪存接口
$ o' [, S7 u4 K( b* r+ \% L2.1 FSMC配置8 M0 d: x) U+ n$ Q: w; N1 D, f/ D
控制一个NOR闪存存储器,需要FSMC提供下述功能:  i4 ?4 L, h2 J5 O2 r( w" x! [
● 选择合适的存储块映射NOR闪存存储器:共有4个独立的存储块可以用于与NOR闪存、SRAM和PSRAM存储器接口,每个存储块都有一个专用的片选管脚。+ l; j- l% A  ]' d; ~5 `- ?+ a0 M
● 使用或禁止地址/数据总线的复用功能。
: L" l; [1 w* l% o0 }" H● 选择所用的存储器类型:NOR闪存、SRAM或PSRAM。+ w% `" O& {  I% J) Z+ l
● 定义外部存储器的数据总线宽度:8或16位。! q7 X7 f! p" [
● 使用或关闭同步NOR闪存存储器的突发访问模式。
( t# t* x( H! a' O; A● 配置等待信号的使用:开启或关闭,极性设置,时序配置。. {* z2 h/ G( b
● 使用或关闭扩展模式:扩展模式用于访问那些具有不同读写操作时序的存储器。5 [. a% e9 T% @! A: P& X5 [/ [
因为NOR闪存/SRAM控制器可以支持异步和同步存储器,用户只须根据存储器的参数配置使用到的参数。
8 O. \" F- N: ^FSMC提供了一些可编程的参数,可以正确地与外部存储器接口。依存储器类型的不同,有些参数是不需要的。# d: w* w( Z! w9 D! g+ X8 S! z! }
当使用一个外部异步存储器时,用户必须按照存储器的数据手册给出的时序数据,计算和设置下列参数:
! A. Y! N8 x+ a● ADDSET:地址建立时间
- J- b& o% k# D1 U% V● ADDHOLD:地址保持时间/ i2 C8 A2 V9 {0 U# M
● DATAST:数据建立时间
" S$ @5 {& ], f. |5 f! U● ACCMOD:访问模式. h4 ?7 F! x! w4 q2 u' v" [
这个参数允许 FSMC可以灵活地访问多种异步的静态存储器。共有4种扩展模式允许以不同的时序分别读写存储器。
- T# t4 q( }! d0 W& L$ W在扩展模式下,FSMC_BTR用于配置读操作,FSMC_BWR用于配置写操作。(译注:如果读时序与写时序相同,只须使用FSMC_BTR即可。)
/ V, t3 R6 {6 O3 B1 t! ?如果使用了同步的存储器,用户必须计算和设置下述参数:+ K, u. O7 Y* R# ?! x7 b* ]
● CLKDIV:时钟分频系数
' W5 c! m& h6 N1 N1 g● DATLAT:数据延时
0 F! M- Y' M; H, `3 z+ A8 @如果存储器支持的话,NOR闪存的读操作可以是同步的,而写操作仍然是异步的。' _6 D2 m0 K( i% H9 z+ u
当对一个同步的NOR闪存编程时,存储器会自动地在同步与异步之间切换;因此,必须正确地设置所有的参数。: O1 y! ^: b$ E* _1 [, u$ f+ ]( k
图3和图4示出了对于一个典型的NOR闪存不同的读写时序。+ r9 n& T3 ~% h. W) D- l
# ?1 X' v9 ~  e: O$ G2 e* I( |

; n6 e# }  f1 i: y2 s+ g, i G9[[L35]M$PI9)UFG0L@1)J.png , r' q- G3 o8 y( {

0 Y) ^8 Q5 U+ [( j `6]_[MGTY`(6I_H7H8PT)YO.png . r! i' D, F4 G: G) _
5 K3 M' C: _4 G; C- I, G4 |
: p' ?- D9 l# v3 z
2.1.1 与NOR闪存存储器接口的典型应用1 S; I' @! @' X" Z
STM32F10xxx的FSMC有4个各为64M字节的不同存储块,支持NOR闪存、PSRAM存储器和相同的外部存储器。# z; C8 l$ W( L
所有外部存储器共用控制器的地址、数据和控制信号线,每个外部设备由唯一的片选信号区分,而FSMC在任一时刻只访问一个外部设备。
4 H  E- ]8 |. H  \# {每个存储块都有一组专用的寄存器,配置不同的功能和时序参数。7 b" q5 C* M, ]$ o# c0 e
本文以M29W128FL存储器作为参考。M29W128FL是一个16位、异步、非总线共享的NOR闪存存储器,因此FSMC应按下述方式配置:
) L9 S" ^/ G8 e& q8 M. X1 z选用存储块2驱动这个NOR闪存存储器:3 ^. g/ R7 y6 f- _7 t; u7 @
● 使能存储块2:设置BCR2_MBKEN位为’1’ % A) \- v( @$ @4 A# X# D
● 存储器类型为NOR:设置BCR2_MTYP为’10’,选择NOR存储器类型! ^2 L/ o6 g0 U& x9 Y; q. W
● 数据总线宽度为16位:设置BCR2_MWID为’01’,选择16位宽度
* Y" H; D) P* j2 O: \' l  h● 这是非总线共享存储器:清除BCR2_MUXEN为’0’
3 F9 J9 z) T5 \( E6 k6 O保持其它的所有参数为清除状态。4 b# u% R6 D% j! w% e
. Z* G2 j, p% P2 E
完整版请查看:附件
3 n  W+ _1 i0 ?% `8 y8 Z

CD00200423_ZHV1.pdf

下载

781.48 KB, 下载次数: 11

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

举报

0个回答

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版