OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 12449|回复: 14

关于FSMC的一点问题

[复制链接]

32

主题

153

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
453
金钱
453
注册时间
2014-11-5
在线时间
0 小时
发表于 2015-2-23 15:24:06 | 显示全部楼层 |阅读模式
5金钱
从STM32ZET6的原理图得知FSMC有26条地址线,16条数据线。FSMC对每个存储块输出一个唯一的片选信号NE[4:1],所有其它的(地址、数据和控制)信号则是共享的
/*************************************
数据线:
*************************************/
PD14/FSMC_D0--->D15/FSMC_D1
PD0/FSMC_D2---->D1/FSMC_D3
PE7/FSMC_D4---->E15/FSMC_D12
PD8/FSMC_D13--->D10/FSMC_D15
/**********************************
FSMC片选线
**********************************/
PD7/FSMC_NE1/FSMC_NCE2
PG9/FSMC_NE2/FSMC_NCE3
PG10/FSMC_NCE4_1/FSMC_NE3
PG12/FSMC_NE4
/*********************************
FSMC时钟线
**********************************/
PD3/FSMC_CLK

/*********************************
高字节使能--这两个引脚主要控制什么?
**********************************/
PE0/FSMC_NBL0
PE1/FSMC_NBL1

/********************************
除开了地址,数据引脚。FSMC还有下边这写
引脚,都是做什么用的?
*********************************/
PG11/FSMC_NCE4_2
PB7/FSMC_NADV
PF6/FSMC_NIORD
PF7/FSMC_NREG
PF8/FSMC_NIOWR
PF9/FSMC_CD
PF10/FSMC_INTR
PF11/FSMC_NIOS16
PG6/FSMC_INT2
PG7/FSMC_INT3
不论外部接8位/16位宽设备-FSMC_A[0]永远接在外部设备地址A[0]上 ??这该怎么理解 ---没弄清楚

其 中 HADDR[25:0] 来自外部存储器地址FSMC_A[25:0],而 HADDR[26:27]对 4 个区进行寻址。??

 HADDR不是地址线吗?总共才26条,那HADDR[26:27]是怎么回事呢?

最佳答案

查看完整内容[请看2#楼]

1、关于管脚: 这是 F4 手册上的图。shared signals 是公用的信号,其他信号是针对不同存储器的。图上标的很清楚。 2、关于 “A[0]永远接在外部设备地址A[0]上” 厂家设计CPU存储器的软、硬件的时候,为了使有限的管脚兼容各种存储器、同时兼容8位、16位、32位宽度的存储器,必然有多种考虑和想法,这个事情比较复杂一点。最后的结果可能就不一样。 比如过去常见的情况是:如果是8位宽,那么A0、A1、A2这些管脚对 ...
酱油团队--
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

58

主题

6294

帖子

1

精华

资深版主

Rank: 8Rank: 8

积分
11544
金钱
11544
注册时间
2014-4-1
在线时间
1315 小时
发表于 2015-2-23 15:24:07 | 显示全部楼层


1、关于管脚:
这是 F4 手册上的图。shared signals 是公用的信号,其他信号是针对不同存储器的。图上标的很清楚。

2、关于 “A[0]永远接在外部设备地址A[0]上”

厂家设计CPU存储器的软、硬件的时候,为了使有限的管脚兼容各种存储器、同时兼容8位、16位、32位宽度的存储器,必然有多种考虑和想法,这个事情比较复杂一点。最后的结果可能就不一样。
比如过去常见的情况是:如果是8位宽,那么A0、A1、A2这些管脚对应连接;如果是16位,则A0舍弃不用,FSMC的A1接存储器A0,依此类推,错一位连接;如果是32位,则A0、A1都舍弃,错两位连接。
那么这句话意思,就是无论8、16位,全部对应连接。
所以,我们照做就是,没必要追根究底。以后如果你设计CPU,自然就会明白了。

3、另外两句话,没看全文,不好说了。

回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165536
金钱
165536
注册时间
2010-12-1
在线时间
2117 小时
发表于 2015-2-23 15:24:07 | 显示全部楼层
不论外部接8位/16位宽设备-FSMC_A[0]永远接在外部设备地址A[0]上 ??这该怎么理解 ---没弄清楚
这个就是说,FSMC_A0,永远接你设备的A0。

其 中 HADDR[25:0] 来自外部存储器地址FSMC_A[25:0],而 HADDR[26:27]对 4 个区进行寻址。??

 HADDR不是地址线吗?总共才26条,那HADDR[26:27]是怎么回事呢?

FSMC有4个片选,就是HADDR[26:27]来决定使用哪个片选的,顾HADDR[26:27],是内部用作片选选择的控制,而不是直接引出给外部用的地址线。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

6

主题

50

帖子

0

精华

初级会员

Rank: 2

积分
108
金钱
108
注册时间
2013-12-14
在线时间
4 小时
发表于 2015-3-7 11:30:16 | 显示全部楼层
回复【3楼】正点原子:
---------------------------------
原子哥的解释很到位啊,多谢
回复

使用道具 举报

32

主题

153

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
453
金钱
453
注册时间
2014-11-5
在线时间
0 小时
 楼主| 发表于 2015-4-20 16:44:09 | 显示全部楼层
回复【3楼】正点原子:
---------------------------------
HADDR[26:27] 这个在那设置呀?找了半天没看到----原子哥求助
酱油团队--
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165536
金钱
165536
注册时间
2010-12-1
在线时间
2117 小时
发表于 2015-4-21 00:08:42 | 显示全部楼层
回复【5楼】xiaolong12:
---------------------------------
你选择CS的时候,就自动确定了HADDR[26:27]
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

32

主题

153

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
453
金钱
453
注册时间
2014-11-5
在线时间
0 小时
 楼主| 发表于 2015-4-21 00:15:58 | 显示全部楼层
回复【6楼】正点原子:
---------------------------------
原子哥,你的意思是这个决定的?PG12-->G12/FSMC_NE4    ----第4块的片选线
酱油团队--
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165536
金钱
165536
注册时间
2010-12-1
在线时间
2117 小时
发表于 2015-4-21 00:28:44 | 显示全部楼层
回复【7楼】xiaolong12:
---------------------------------
是的
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165536
金钱
165536
注册时间
2010-12-1
在线时间
2117 小时
发表于 2015-4-21 00:29:04 | 显示全部楼层
回复【7楼】xiaolong12:
---------------------------------
因为你配置的寄存器也不一样了,实际上,这就决定了HADDR[26:27]
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

32

主题

153

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
453
金钱
453
注册时间
2014-11-5
在线时间
0 小时
 楼主| 发表于 2015-4-21 00:50:37 | 显示全部楼层
回复【9楼】正点原子:
---------------------------------
那就是这个储存器片选线不用刻意去配置?由我们配置那一块的寄存器来决定?
酱油团队--
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165536
金钱
165536
注册时间
2010-12-1
在线时间
2117 小时
发表于 2015-4-22 00:00:04 | 显示全部楼层
回复【10楼】xiaolong12:
---------------------------------
是的
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

0

主题

8

帖子

0

精华

新手上路

积分
28
金钱
28
注册时间
2014-7-25
在线时间
0 小时
发表于 2015-4-25 14:44:25 | 显示全部楼层
回复【3楼】正点原子:
---------------------------------
NBL[1:0]这个高低位使能是在那个寄存器里面设置的??
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165536
金钱
165536
注册时间
2010-12-1
在线时间
2117 小时
发表于 2015-4-25 21:57:19 | 显示全部楼层
回复【12楼】liu781827051:
---------------------------------
去参考手册搜索。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

0

主题

2

帖子

0

精华

新手入门

积分
4
金钱
4
注册时间
2020-5-28
在线时间
0 小时
发表于 2020-5-28 22:32:57 | 显示全部楼层
正点原子 发表于 2015-4-21 00:29
回复【7楼】xiaolong12:
---------------------------------
因为你配置的寄存器也不一样了,实际上,这就 ...

那如果两个区都在使用,也就是说两个存储区的寄存器都配置了的话,那么 HADDR【27 26】它怎么决定是多少呢
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-8 20:36

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表