请教各位前辈一个关于SDRAM大小的问题

qrswll 2011-12-23 11:20:42
学生正在学习一些有关ARM的硬件设计,还请各位前辈指点。
我用的是HY57V561620FTP-H。

我想问的是为什么BA0,BA1接ADDR24和25时,两片HY57V561620FTP-H构成64M大小;而BA0,BA1接ADDR25和26时,两片HY57V561620FTP-H构成128M?
...全文
314 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiongdong0112 2012-08-16
  • 打赏
  • 举报
回复
BA0和BA1接通的地址线不同,表示的是如果你选择的芯片不同。
一般的这些存储芯片厂家都会出不同容量,但是外形和封装都一样的芯片,他们是一个系列的,但是读出写入操作,包括地址线服用,BANK0,BANK1的接法还是不同的。
楼主这个原理图上所表示的估计是设计者在以后预留出来升级用的,因为现在存储都在升级,如果以后存储空间不够用了或者怎么样,还可以把旧的芯片撬下来装块容量更大的上去,这样的设计有利于以后的系统升级。
愚见
Binzo 2012-01-10
  • 打赏
  • 举报
回复
26 25 24 从高到低。
接高两位 128 。
接低两位 64 。
2^0 2^1 2^2 高位自然寻址更多。
F599GTB 2012-01-07
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 pro_or_gram 的回复:]

本来上周末想多回些的,不过csdn搞怪,死掉了

64MB 是 26根地址线 addr [25:0]

128MB 就是 27根地址线, addr [26:0]

每个芯片是 4个bank,所以需要用 地址线中的高2位选通某个bank,
64MB的话,就是 addr[25:24] 或者128MB的话就是 addr[26:25]。

具体的 每个bank内 4M x 16-……
[/Quote]
我觉得这个应该和处理器的SDRAM控制器有关系,可能SDRAM控制器就是直接把访问的最高位地址当做了BANK选通信号。
pro_or_gram 2011-12-26
  • 打赏
  • 举报
回复
ba0, ba1 就是选通某个bank的,
所以 CPU 会将 64MB 寻址范围的高2位地址线,或者128MB寻址范围的高2位地址线的数据 压到 ba0,ba1上,去选择 sdram的某个bank
pro_or_gram 2011-12-26
  • 打赏
  • 举报
回复
本来上周末想多回些的,不过csdn搞怪,死掉了

64MB 是 26根地址线 addr [25:0]

128MB 就是 27根地址线, addr [26:0]

每个芯片是 4个bank,所以需要用 地址线中的高2位选通某个bank,
64MB的话,就是 addr[25:24] 或者128MB的话就是 addr[26:25]。

具体的 每个bank内 4M x 16-bit ,就要根据 4M 去得出每个bank内地址线的数目了,

又因为 该 2片sdram合成了 32-bit 数据宽,所以 arm cpu的地址线 addr[1:0] 没有连接到 sdram 上面
qrswll 2011-12-26
  • 打赏
  • 举报
回复
说错了。。。是13根地址线。。。ADDR[12:0]~
qrswll 2011-12-26
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 pro_or_gram 的回复:]
SDRAM 大小 肯定 和 其 地址线 有关系的,
如果地址线 与大小不对应, 则会出现 某些地址访问不到的情况,也就是有些空间永远无法访问,
这样的话, 厂家 声称 该sdram 是有多大,就毫无意义了。
[/Quote]感谢前辈的耐心指导=。=我刚才去找了个DDR的图,单片是512M,两片合起来是1G,不过也是12根地址线,我心里有些数了。。。前辈收我做徒弟吧。。。
pro_or_gram 2011-12-26
  • 打赏
  • 举报
回复
SDRAM 大小 肯定 和 其 地址线 有关系的,
如果地址线 与大小不对应, 则会出现 某些地址访问不到的情况,也就是有些空间永远无法访问,
这样的话, 厂家 声称 该sdram 是有多大,就毫无意义了。
pro_or_gram 2011-12-26
  • 打赏
  • 举报
回复
4个bank 是 使用 BA0 和 BA1 选通的, 但是 每个bank 里边还有 4M x 16-bit的数据呢,
因为每个芯片的数据宽度是 16-bit,关注4M这个数据就可以了, 其需要使用 22根地址线,

而SDRAM 的 地址线是行列服用的,
根据 该芯片的描述, 其 地址线为 addr[12:0], 行地址使用 addr[12:0], 共 13根
列地址使用 addr[8:0], 共9根, 逻辑上 就是 22根了

根据 软件的运行, 对于SDRAM中的空间的访问前后都是在变化的, 一会可能在bank 0, 一会可能在bank 1,一会可能在 bank 2, 一会可能在 bank 3,相同的 addr[12:0]的值,如果 BA0, BA1 不同,即 bank 不同,则软件访问的地址也不同


以上是个人理解, 仅供参考了
qrswll 2011-12-26
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 pro_or_gram 的回复:]
本来上周末想多回些的,不过csdn搞怪,死掉了

64MB 是 26根地址线 addr [25:0]

128MB 就是 27根地址线, addr [26:0]

每个芯片是 4个bank,所以需要用 地址线中的高2位选通某个bank,
64MB的话,就是 addr[25:24] 或者128MB的话就是 addr[26:25]。

具体的 每个bank内 4M x 16-bit……
[/Quote]谢谢前辈指点哈~意思就是说SDRAM的大小和它的A0-A12没有关系~只要看BA0和BA1就可以确定大小了对吧~~
qrswll 2011-12-25
  • 打赏
  • 举报
回复
64M~是因为有24位地址线,我理解了。但是为什么BA0和BA1接LADDR25,LADDR26就变成128M呢。。。疑惑。。。
woshi_ziyu 2011-12-24
  • 打赏
  • 举报
回复
寻址空间为LADDR0~LADDR23 有24bit 64M
qrswll 2011-12-23
  • 打赏
  • 举报
回复
补上图=。=
durant 2011-12-23
  • 打赏
  • 举报
回复
64M和128M应该指的是存储空间个数,每个存储空间有多少位也比较关键

6,125

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 硬件设计
社区管理员
  • 硬件设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧