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

STM32接口FSMC/FMC难点详解

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


       STM32F767的FMC将外部存储器划分为6个固定大小的256M的存储区域,如下图
12.png


       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


      比如外部存储器接到FMC_NE1上面,那么外部存储器的地址为HADDR[26:27]+FMC_A[25:0]=0x60000000+FMC_A[25:0]。
​       HADDR[25:0] 位包含外部存储器地址,由于 HADDR为字节地址,而存储器按字寻址,所以根据存储器数据宽度不同,实际向存储器发送的地址也将有所不同,如下表所示。
14.png


​      因为一个地址对应1个字节数据,所以64M字节的地址量,就能表示64x8=512Mb的数据,也就是外部存储器最大容量为512Mb。

      当接的是8位宽度存储器的时候,也就是一个地址正好可以操作一个字节(8位)的数据,需要26根地址线:那么 HADDR[25:0] =FMC _A [25:0] ,就可以了。

      当接的是16位宽度存储器的时候,那么一个地址就可以操作一个字(16位)的数据那么就不需要26根地址线了,HADDR[0]就没有用到,所以:HADDR[25:1] = FMC _A[24:0] 。

     ​ 例如TFTLCD屏(16位宽存储器)的RS脚接到FMC_A18上面,使用FMC_NE1(就是使用BANK1的子bank1),

       外部存储器地址线寻址到A18为0时也即是FMC_A[24:0]=0x3FFFF,左移一位付给内部总线HADDR[25:1]=000000 0111 1111 1111 11111110=0x7fffe,所以内部总线读写外部存储器命令(REG)的地址(寻址)就变为0x60000000+0X7FFFE(FMC_A18即RS为0时);

​       部存储器地址线寻址到A18为1时也即是FMC_A[24:0]=0x40000,左移一位付给内部总线HADDR[25:1]=000000 1000 0000 0000 0000 0000=0x8000,内部总线读写外部存储器数据(RAM)的地址变为0x60000000+0X80000(FMC_A18即RS为1时)。

       32位宽的存储器也是如此。​​​

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

转自:冯冲123

收藏 2 评论5 发布时间:2017-6-6 15:39

举报

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

所属标签

STM32团队

意法半导体微控制器和微处理器拥有广泛的产品线,包含低成本的8位单片机和基于ARM® Cortex®-M0、M0+、M3、M4、M33、M7及A7内核并具备丰富外设选择的32位微控制器及微处理器


最新内容

相似技术帖

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