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

STM32接口FSMC/FMC难点详解

[复制链接]
eefishing 发布时间:2017-6-6 15:39
11.png
' S7 `, {7 B3 u9 U* O1 c8 G

. t3 G- h: O1 }* T2 [
       STM32F767的FMC将外部存储器划分为6个固定大小的256M的存储区域,如下图
12.png
" v! x2 H6 U+ I  z2 d; r: I
0 \5 v) n0 }; ^' Z" a! z
       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
8 R: K& ]4 i# h( w- X; |- `& {

( Q/ [! L) s+ H+ @# A
      比如外部存储器接到FMC_NE1上面,那么外部存储器的地址为HADDR[26:27]+FMC_A[25:0]=0x60000000+FMC_A[25:0]。1 T, P$ Y* k8 u% u
​       HADDR[25:0] 位包含外部存储器地址,由于 HADDR为字节地址,而存储器按字寻址,所以根据存储器数据宽度不同,实际向存储器发送的地址也将有所不同,如下表所示。
14.png

* x: f$ A5 h+ W9 W5 i" r

' @7 D! C$ h' d! l+ A) s
​      因为一个地址对应1个字节数据,所以64M字节的地址量,就能表示64x8=512Mb的数据,也就是外部存储器最大容量为512Mb。
0 i( `7 Q8 R0 [$ m
      当接的是8位宽度存储器的时候,也就是一个地址正好可以操作一个字节(8位)的数据,需要26根地址线:那么 HADDR[25:0] =FMC _A [25:0] ,就可以了。
! {8 b  Y% l. y, {
      当接的是16位宽度存储器的时候,那么一个地址就可以操作一个字(16位)的数据那么就不需要26根地址线了,HADDR[0]就没有用到,所以:HADDR[25:1] = FMC _A[24:0] 。
1 K; @1 \3 [( K0 K  u
     ​ 例如TFTLCD屏(16位宽存储器)的RS脚接到FMC_A18上面,使用FMC_NE1(就是使用BANK1的子bank1),

) S- @. K) `! P* N6 r
       外部存储器地址线寻址到A18为0时也即是FMC_A[24:0]=0x3FFFF,左移一位付给内部总线HADDR[25:1]=000000 0111 1111 1111 11111110=0x7fffe,所以内部总线读写外部存储器命令(REG)的地址(寻址)就变为0x60000000+0X7FFFE(FMC_A18即RS为0时);
: S5 p+ M* M* z  F4 J8 A5 \; N
​       部存储器地址线寻址到A18为1时也即是FMC_A[24:0]=0x40000,左移一位付给内部总线HADDR[25:1]=000000 1000 0000 0000 0000 0000=0x8000,内部总线读写外部存储器数据(RAM)的地址变为0x60000000+0X80000(FMC_A18即RS为1时)。
. P( s& X; M0 x7 L7 p1 k. f' L
       32位宽的存储器也是如此。​​​

, m5 O- d, i$ B8 |
       无论外部接8位/16位/32位宽设备,FMC_A[0]永远接在外部设备地址A[0],HADDR[27:26]的设置,是不需要我们干预的,比如当你使用Bank1的第一个区,即使用FMC_NE1连接外部设备的时候,即对应了HADDR[27:26]=00,然后我们需要配置第一区的寄存器组,就可以使用了。

% g7 X( O8 ?6 d1 C
转自:冯冲123
7 k: _4 {* k7 Y  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管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版