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

STM32F1的FSMC接口硬件电路设计

[复制链接]
STMCU小助手 发布时间:2023-2-21 21:41
01FSMC接口5 Q: y; N3 V5 I' M

FSMC是STM32F1提供的一个静态存储控制器,是MCU用来扩展存储器,可用来驱动SRAM、Nor Flash、NAND Flash。这里先简单讲解下这三种存储器的应用场合。

首先是SRAM,SRAM是静态随机存储器,SRAM的特性是掉电数据就丢失。外扩SRAM的主要目的是因为MCU自带的RAM不够用了才选择外扩,这样才能让程序有足够的RAM空间运行,简单理解就是电脑内存小,不能同时开很多个软件,需要再扩内存条后就能同时开很多软件运行。

然后是Nor Flash和NAND Flash,其实这两者就相当于我们电脑的硬盘,可以用来存文件或者各种资料数据,掉电后数据不会丢失。至于设计中要使用Nor Flash还是NAND Flash,取决于使用目的,如果仅用来存数据,不做boot使用,且MCU带NAND Flash控制器的话,那还是推荐选NAND Flash。因为相对于Nor Flash,NAND Flash更便宜,容量也大。如果MCU不带NAND Flash控制器,或者其他特别要求,那就选Nor Flash。

0 i" B. S& a2 D: H" n/ Z, `

02 SRAM电路设计
: q6 ]7 E" o) }; b& s

无论是SRAM、Nor Flash还是NAND Flash,在STM32F1系列产品中都是通过FSMC接口被访问。我们在STM32F1系列规格书的第36页的Table 6可以看到FSMC对于不同访问方式,对应的引脚定义不一样,所以无论在设计SRAM、Nor Flash或者NAND Flash电路时,建议仔细参考这个表格去连接对应的信号。

首先我们看ST官方评估板MB672第6页的U1,如下图所示,U1是ISSI的一颗SRAM,信号可以分为数据信号、地址信号和控制信号,硬件设计时数据和地址信号按照定义对应连接到MCU上即可。

7 r% W1 D! v: g/ _5 {2 D7 ]  U

微信图片_20230221214223.png

( E. s+ X, @. h6 l

剩下的是控制信号,CE为片选信号,接到FSMC_NE信号上,我们看到MCU有NE1到NE4,接到不同NE意味着地址不同,详细可以在STM32F1系列规格书第39页的Figure 7上看到,截图如下图所示。如上图的官方设计接到的是NE3,意味着想要访问外扩的SRAM空间,地址范围得是0x6800 0000 - 0x6BFF FFFF才能访问到。
! Q5 s/ x$ \. ~( @) V) _  b5 M( A

) l% u* I2 y8 E
微信图片_20230221214238.png

% P% [# X7 A; o3 p- n
, |& `: J& D5 E* w. I3 P
再看上面的参考电路,还剩下WE、OE、BLE和BHE四个控制信号没连,WE和OE为写使能和读使能信号,BLE和BHE用来做掩码控制的,因为数据线宽度是16bit,有时只想修改或读取高8bit或者想仅修改或读取低8bit,就是通过控制BHE和BLE来实现。% H6 P, K( s4 p4 _! L4 l
了解上述的信号定义后,WE信号连接到FSMC_NWE,OE连接到FSMC_NOE,BLE连接到FSMC_NBL0,BHE连接到FSMC_NBL1上即可。在产品设计中,选择好MCU后,进行硬件设计时,对于很多总线连接方式,推荐尽可能的沿用官方提供的评估板连接方式连接,自行过多修改的话,软件也会要修改很多,这样容易带来一个很大的问题,软件工作量大,开发时间久且不可控,这样不会带来什么好的结果。
$ s9 e) j8 a9 e; B0 X$ _  S6 i+ B: o$ Q, }# X. A

0 k; f3 W6 l& N1 U$ t: z03 Nor Flash电路设计
0 {2 a; Q/ e& C- x/ ?' x0 |
参考ST官方评估板MB672第6页的U2,U2是Cypress的一颗Nor Flash,主要信号也分为数据、地址和控制信号,芯片信号定义如下图所示。跟SRAM的设计一样,数据地址线按照信号定义依次对应连接即可,然后是控制信号,Nor Flash的WE、RESET、RY/BY、OE、CE和BYTE,信号描述和连接方式如下。" O; g" @! j2 ~- x1 [+ c$ S

8 W$ C7 y1 b5 n- d
微信图片_20230221214343.png

" B& s5 k3 s* T- F: V# K

WE: 写控制信号,连接到FSMC_NWE上。

OE: 读控制信号,连接到FSMC_NOE上。

CE: 片选信号,参考SRAM小节描述,可以连接至NE1至NE4,注意对应地址范围即可,官方参考设计连接至FSMC_NE2上。

RY/BY:Ready/Busy指示信号,连接至FSMC_NWAIT上即可。

RESET: 做RC上拉处理。

BYTE: 信号用于选择数据位宽,低电平选择DQ0-DQ7,高电平选择DQ0-DQ15,这里直接拉高选择DQ0-DQ15即可。

, Z% n( B6 w! G; l0 r

04 NAND Flash电路设计

NAND Flash和Nor Flash不一样,没有了地址线,只有控制信号和数据信号线,如下图所示。


  @% n/ Q4 \3 i- C

微信图片_20230221214412.png

. l8 e: e, U2 h, a; ?7 L$ E

其实地址数据也是通过I/O0-I/O7进行传输的,如下图所示,图为NAND512W3A2DN6E规格书的截图资料,可以看出通过控制信号的不同组合,I/O0-I/O7传输的数据表示意义不同,有命令、地址、数据输入/输出。
微信图片_20230221214425.png
, V& C# q) r' h& O: {
有了上面的信息,我们只需要参考STM32F1XX规格书的第36页的Table 6的引脚描述,一一对应把NAND Flash信号连上即可。对于WP信号,WP是写保护信号,这里用不到,参考规格书描述把它拉高不用。RB信号是Ready/Busy信号,跟Nor Flash一样,连接至FSMC_NWAIT即可。7 u0 x! k$ l; V+ Q( v/ F8 c

# x# \6 n9 I  ^& c2 P: L9 ~" ]6 Z  X5 K( K1 X( Z
2 [# k: G+ V" V
转载自:完整版请查看:附件& B% C5 Z6 B* `) y7 _# y

3 R8 T& U7 b4 g2 E6 F& ^$ S2 n- X
赞 收藏 评论0 发布时间:2023-2-21 21:41

举报

0个回答

所属标签

相似技术帖

官网相关资源

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