打印

FSMC访问16位NORFLASH官方用的是A22-A0,不明白

[复制链接]
3322|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
z_no1|  楼主 | 2013-3-13 18:00 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
M29W128是一个16M字节的NORFLASH.A22-A0是23根地址线,2的23次方8M多,8M*16是16M字节,但FSMC的A0不就变成字节意义上的A1了?不明白。
沙发
airwill| | 2013-3-13 18:44 | 只看该作者
A0不就变成字节意义上的A1了?  这是受了 8 位系统的影响了
FSMC 设置成 16 位方式后, A0就是字节意义上的A1了. 详细的情况, 楼主仔细看一下手册吧.

使用特权

评论回复
板凳
aozima| | 2013-3-13 20:25 | 只看该作者
另外有些芯片上面,使用16bit或是32bit外设时,A0悬空,具体要怎么接,请看芯片的资料。

扩展思考:如何把两片8bit外设组合成16bit,或是4片8bit组合成32bit,再把两片16bit组合成32bit.
关键字: 地址译码,字节选择。

使用特权

评论回复
地板
cjhk| | 2013-3-13 20:40 | 只看该作者
这一块不是很了解  还是让版主好好讲一讲吧  呵呵

使用特权

评论回复
5
z_no1|  楼主 | 2013-3-13 21:14 | 只看该作者
也就是说,当总线上有8位和16位器件时,同样是0x???06选中8位,A3:0是0110,选中16位,A3:0是0011

使用特权

评论回复
6
jlass| | 2013-3-14 09:53 | 只看该作者
本帖最后由 jlass 于 2013-3-14 09:56 编辑

为了兼容8位的器件,数据存放如下
0:12
1:34
2:56
3:78
如果是16位操作,就变成
0:1234
2:5678
A0自然就没意义了,如果是32位操作,A0和A1都没意义了。
但请注意,A0只是不使用,不代表A0就没有用了,A0仍然可以作为普通的地址线使用。

使用特权

评论回复
7
jlass| | 2013-3-14 10:01 | 只看该作者
另外:16位操作时,你也可以强行去读,结果就是
0:1234
1:3456
2:5678
1的结果是不是毫无意义。

使用特权

评论回复
8
z_no1|  楼主 | 2013-3-14 13:57 | 只看该作者
这就牵涉另一个问题了,NOR FLASH有1GBIT(128M 字节)的,现在不用,但可能以后要用。STM32的寻址空间是64M,那最高地址线 A25是要用GPIO来做片选了吗?像我们在51里经常干的那样。

使用特权

评论回复
9
aozima| | 2013-3-14 14:08 | 只看该作者
z_no1 发表于 2013-3-14 13:57
这就牵涉另一个问题了,NOR FLASH有1GBIT(128M 字节)的,现在不用,但可能以后要用。STM32的寻址空间是64 ...

STM32的外部总线(FSMC)的地址空间是连接的,所以可以合用两个BANK。

使用特权

评论回复
10
z_no1|  楼主 | 2013-3-14 14:19 | 只看该作者
先按官方原理图画板吧,其他的以后再说。结贴

使用特权

评论回复
11
z_no1|  楼主 | 2013-3-14 15:33 | 只看该作者
是按我想法来的,当接一个16位的NOR FLASH器件,A25(PG14)是不受FSMC控制的。可以把它设置成GPIO来做高端片选。

nor.PNG (42.92 KB )

nor.PNG

cksc.PNG (100.02 KB )

cksc.PNG

使用特权

评论回复
12
jlass| | 2013-3-14 15:59 | 只看该作者
本帖最后由 jlass 于 2013-3-14 16:01 编辑
z_no1 发表于 2013-3-14 13:57
这就牵涉另一个问题了,NOR FLASH有1GBIT(128M 字节)的,现在不用,但可能以后要用。STM32的寻址空间是64 ...

你可以把A0拿来用,反正空着也是空着:)
不过,不建议使用超过STM32的寻址空间的flash,频繁操作GPIO的时候速度会很慢。

使用特权

评论回复
13
z_no1|  楼主 | 2013-3-14 16:07 | 只看该作者
不是A0,是A25可以拿来用!
64M换页的频率还是相当的低的。不妨事。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

223

主题

2644

帖子

10

粉丝