2516|5

259

帖子

5

TA的资源

一粒金砂(高级)

楼主
 

stm32中的FSMC,ADDR[25:1]为什么不是ADDR[24:0] [复制链接]



看了看stm32f1的FSMC部分的内容,纠结于一个无聊的问题~~


图 FSMC 内存块


如上图所示:bank = 256M = 4×64M


表 拓展内存地址

从表中可知内存中每个数据的长度可以是8位或16位,
8位:
      512M = 64M×8 =  64×1024×1024 = 2^(6+10+10) ×8 =  2^26×8
      数据长度为8位的时候地址总线需要26根,这就和上图中的ADDR[25:0] 26根地址线对上了,
      接着映射到FSMC_A[25:0],保持低位对齐
16位:
     512M  =64/2M×16 = 32M×16 = 32×1024×1024×16 =2^(5+10+10) = 2^25×16  
     数据长度为16位的时候地址总线需要25根,这就和上图中的ADDR[25:1] 对应,映射到FSMC_A[24:0]
     这样地址线就保持了低位对齐

简单点理解就是:8位和16位的SRAM的数据接口不同,
同容量的条件下(512M),8位的SRAM地址线比16位多一根(26、25)

那么在数据长度为16位的时候,为什么是ADDR[25:1] 而不是ADDR[24:0]呢?是为了方便硬件操作吗?






此帖出自stm32/stm8论坛

最新回复

其实这个问题真的好无聊,以前也想过。关键的一点,量的计算是按字节数来的,这样大家都就统一了。不然你2@节  详情 回复 发表于 2017-8-30 12:29
点赞 关注
 

回复
举报

6040

帖子

195

TA的资源

版主

沙发
 
数据总线16位的时候,最低一位地址是没有意义的,数据总线32位的时候,最低两位地址是没有意义的

貌似存储芯片就是这么规定的

16位数据总线一下能取两个字节数据,所以不管最低位是0还是1,他所需的数据都读出来了,所以就多余了。
此帖出自stm32/stm8论坛

点评

多谢版主解惑!  详情 回复 发表于 2017-8-30 00:52
哦 这么讲就理解了 我纠结于既然要把ADDR[25:1]映射到FSMC_A[24:0],为什么不直接使ADDR[25:1]为ADDR[24:0],,,也就是说可以这么理解: 整个512M是按8位数据长度划分地址的, 当数据位为8位时,26位数据总线正好  详情 回复 发表于 2017-8-30 00:46

赞赏

1

查看全部赞赏

 
 

回复

259

帖子

5

TA的资源

一粒金砂(高级)

板凳
 
本帖最后由 Tobey 于 2017-8-30 00:49 编辑
lcofjp 发表于 2017-8-29 23:26
数据总线16位的时候,最低一位地址是没有意义的,数据总线32位的时候,最低两位地址是没有意义的

貌似存 ...

哦 这么讲就理解了 我纠结于既然要把ADDR[25:1]映射到FSMC_A[24:0],为什么不直接使ADDR[25:1]为ADDR[24:0],,,也就是说可以这么理解:
整个512M是按8位数据长度划分地址的,
当数据位为8位时,26位数据总线正好全部用上,直接用ADDR[25:0]就能对应上,,,,
当数据位为16位时,两个存储区域是一个基本单位,所以数据总线的最低位就没有意义了,只需用到前25位数据总线
画图的话,大致就是下图这么个样子吧:


此帖出自stm32/stm8论坛
 
 

回复

259

帖子

5

TA的资源

一粒金砂(高级)

4
 
lcofjp 发表于 2017-8-29 23:26
数据总线16位的时候,最低一位地址是没有意义的,数据总线32位的时候,最低两位地址是没有意义的

貌似存 ...

多谢版主解惑!
此帖出自stm32/stm8论坛

点评

为啥是ADDR[25:1],因为最低一位地址没有意义,就不对外暴露了 具体细节我也解释不清。。。具体还要联系存储芯片一起分析吧  详情 回复 发表于 2017-8-30 02:45
 
 
 

回复

6040

帖子

195

TA的资源

版主

5
 
Tobey 发表于 2017-8-30 00:52
多谢版主解惑!

为啥是ADDR[25:1],因为最低一位地址没有意义,就不对外暴露了
具体细节我也解释不清。。。具体还要联系存储芯片一起分析吧
此帖出自stm32/stm8论坛
 
 
 

回复

413

帖子

7

TA的资源

一粒金砂(高级)

6
 
其实这个问题真的好无聊,以前也想过。关键的一点,量的计算是按字节数来的,这样大家都就统一了。不然你2@节
此帖出自stm32/stm8论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表