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

STM32接口FSMC/FMC难点详解

[复制链接]
eefishing 发布时间:2017-6-6 15:39
11.png

( u# D3 s+ V# n! c6 G
+ D" e) o6 j; }; d0 u9 X
       STM32F767的FMC将外部存储器划分为6个固定大小的256M的存储区域,如下图
12.png

, p' x6 l+ Q/ n% Q7 u/ ^1 q
3 p1 S- W1 X4 I1 n3 _! h
       STM32F767的FMC 存储块 1(Bank1 )被分为4个区,每个区管理64M 字节空间,每个 区都有独立的寄存器对所连接储进行配置。Bank1 的 256M字节空间由  28 根地址线 根地址线(HADDR[27:0])寻址。 这里HADDR[27:0]是内部AHB地址总线,其中地址总线HADDR[25:0]来自外部存储器地址FMC_A[25:0](FMC_A[25:0]会接到外部存储器的地址线上,也就是HADDR内部总线的[25:0]来自外部存储器地址线),而 HADDR[26:27] 对4个区进行寻址。如表 18.1.2.1所示:
13.png
, Z- T5 c4 z6 M1 G& I6 P1 t

; O+ |* S0 P4 J4 \
      比如外部存储器接到FMC_NE1上面,那么外部存储器的地址为HADDR[26:27]+FMC_A[25:0]=0x60000000+FMC_A[25:0]。, d  o: w) f1 f4 Z
​       HADDR[25:0] 位包含外部存储器地址,由于 HADDR为字节地址,而存储器按字寻址,所以根据存储器数据宽度不同,实际向存储器发送的地址也将有所不同,如下表所示。
14.png
# d( `* ]- _+ F0 @
& [  \1 g8 s' ?: w5 M. L1 |+ n
​      因为一个地址对应1个字节数据,所以64M字节的地址量,就能表示64x8=512Mb的数据,也就是外部存储器最大容量为512Mb。
! C6 \9 N  h% v5 |: P7 O' w- ]( c
      当接的是8位宽度存储器的时候,也就是一个地址正好可以操作一个字节(8位)的数据,需要26根地址线:那么 HADDR[25:0] =FMC _A [25:0] ,就可以了。
5 b# `  N& J2 j+ B* e
      当接的是16位宽度存储器的时候,那么一个地址就可以操作一个字(16位)的数据那么就不需要26根地址线了,HADDR[0]就没有用到,所以:HADDR[25:1] = FMC _A[24:0] 。

7 r* E5 S  \/ ?1 `2 f! R/ B
     ​ 例如TFTLCD屏(16位宽存储器)的RS脚接到FMC_A18上面,使用FMC_NE1(就是使用BANK1的子bank1),
0 K: P, n/ @! b# y% E7 l9 c0 j
       外部存储器地址线寻址到A18为0时也即是FMC_A[24:0]=0x3FFFF,左移一位付给内部总线HADDR[25:1]=000000 0111 1111 1111 11111110=0x7fffe,所以内部总线读写外部存储器命令(REG)的地址(寻址)就变为0x60000000+0X7FFFE(FMC_A18即RS为0时);

1 ^) F& \) q2 O" z+ d/ P8 a( l6 G4 F
​       部存储器地址线寻址到A18为1时也即是FMC_A[24:0]=0x40000,左移一位付给内部总线HADDR[25:1]=000000 1000 0000 0000 0000 0000=0x8000,内部总线读写外部存储器数据(RAM)的地址变为0x60000000+0X80000(FMC_A18即RS为1时)。
9 d+ |$ m* }5 u. z2 U  w
       32位宽的存储器也是如此。​​​
3 j+ ]1 v) X/ m: X# W1 B8 g; l, u6 W
       无论外部接8位/16位/32位宽设备,FMC_A[0]永远接在外部设备地址A[0],HADDR[27:26]的设置,是不需要我们干预的,比如当你使用Bank1的第一个区,即使用FMC_NE1连接外部设备的时候,即对应了HADDR[27:26]=00,然后我们需要配置第一区的寄存器组,就可以使用了。
# g# U3 {; F9 b, o
转自:冯冲123

' p& p) g, j, g; j0 M0 K0 ?2 Q8 b- x
赞 收藏 2 评论5 发布时间:2017-6-6 15:39

举报

5个回答
Inc_brza 回答时间:2017-6-26 14:45:14
谢谢分享,学习一下!
valetang-126879 回答时间:2017-6-26 16:56:17
帮顶一下
LJYHN 回答时间:2017-7-11 16:24:45
坐在沙发上看一会
xiatangtang 回答时间:2019-8-1 10:10:59
来学习,看一下
zhuzhe 回答时间:2020-3-28 16:04:32
学习一下

所属标签

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