打印

请问SDRAM这么接有什么道理

[复制链接]
3400|15
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wujinEE|  楼主 | 2013-3-15 16:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
jlass| | 2013-3-15 16:40 | 只看该作者
估计LPC1788是32bit数据存放的

使用特权

评论回复
板凳
wujinEE|  楼主 | 2013-3-15 16:43 | 只看该作者
总线应该是32bit的  不过地址线为什么不是   CPU :A1 -------A0:SDRAM ?

使用特权

评论回复
地板
bbsdianzi168| | 2013-3-15 17:06 | 只看该作者
好像很多都是这么接的。

使用特权

评论回复
5
jlass| | 2013-3-15 17:08 | 只看该作者
wujinEE 发表于 2013-3-15 16:43
总线应该是32bit的  不过地址线为什么不是   CPU :A1 -------A0:SDRAM ?

16bit才这么接,8bit的就是A2接A0。

使用特权

评论回复
6
amwrdfe| | 2013-3-15 17:18 | 只看该作者
和sdram的控制器读取bit数有关,
2440的datasheet是这么介绍的,

1.JPG (16.55 KB )

1.JPG

使用特权

评论回复
7
wujinEE|  楼主 | 2013-3-15 17:25 | 只看该作者
lpc1788的好像是固定的  如果选定了封装  如果是32bit 的 cpu  接2片16 bit SDRAM  又该怎么接  是不是按照A0对A0  还是 A2对A0?

使用特权

评论回复
8
阿南| | 2013-3-15 17:31 | 只看该作者
用于对齐的

使用特权

评论回复
9
amwrdfe| | 2013-3-15 17:37 | 只看该作者
是的,为了保证数据的对齐,
数据宽度大一倍,对应的地址就得少一位.

使用特权

评论回复
10
wujinEE|  楼主 | 2013-3-15 17:42 | 只看该作者
那顶楼的原理图是不是说 CPU data  32 bit   ?那原理图为什么不错开两位  按照2片16bit sdram  不就等于32 bit了吗

使用特权

评论回复
11
wujinEE|  楼主 | 2013-3-15 20:36 | 只看该作者
我还是不太明白 你能说详细一点吗? 32bit 是外部总线 是LPC1788的数据总线 两片16bit SDRAM 加起来也是32bit 啊 2440开发板 就是地址线错开接的

使用特权

评论回复
12
amwrdfe| | 2013-3-15 21:41 | 只看该作者
建议仔细看看datahseet,datasheet上有详细介绍,
一般sdram控制器都有其对应的地址mapping

使用特权

评论回复
13
xunchangreng| | 2013-3-15 22:01 | 只看该作者
LPC1788是CORTEX-M3内核,运行的是16位的Thumb 指令,而SDRAM是16bit的,所以地址线是16bit对齐,也就是LPC1788的A0与SDRAM的A0相接
S3C2440是ARM9内核,运行的是32位的ARM指令,而SDRAM是16bit的,两片SDRAM组合成32bit,所以地址线是32bit对齐,也就是S3C2440的A2与SDRAM的A0相接。

使用特权

评论回复
14
ymind| | 2013-3-16 08:25 | 只看该作者
实际跟芯片SDRAM控制器具体设计和命名习惯相关(比如考虑pin复用)。不论数据总线最终是16还是32bit, 是否只支持thumb,SDRAM的话总是要有byte读写能力的。
lpc1788拥有DQMx来控制byte读写,所以控制器A0接SDRAM A0;
s3c2440用A0,A1接两片SDRAM DQML(两片16-bit), DQMH有额外控制线,所以控制器A2接SDRAM A0.

使用特权

评论回复
15
byeyear| | 2013-3-16 11:45 | 只看该作者
这个跟CPU的总线设计有关
例如当使用16位数据总线时
有的CPU的地址总线输出字节地址(A0是字节地址最低位)
但有的CPU的地址总线输出字(16位)地址(A0是字地址最低位)
因此对于不同的CPU就有了不同的地址总线接法

使用特权

评论回复
16
jlass| | 2013-3-18 10:56 | 只看该作者
本帖最后由 jlass 于 2013-3-18 10:58 编辑
wujinEE 发表于 2013-3-15 17:25
lpc1788的好像是固定的  如果选定了封装  如果是32bit 的 cpu  接2片16 bit SDRAM  又该怎么接  是不是按照 ...

唉,我在5楼的回帖,配上6楼的图后,把你给误导了。

给你理一下吧

2440是8位总线的,所以接sdram时
8位sdram,A0对A0
16位sdram,A1对A0
32位sdram,A2对A0

你用的芯片是32位总线的,所以接sdram时
8位sdram,A0对A0(浪费24bit)
16位sdram,A0对A0(浪费16bit)
32位sdram,A0对A0(刚刚好)

你的第一副图中时使用了两片16bit的sdram拼成的32bit的sdram,请注意后面的数据线是D0~D31。

使用特权

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

本版积分规则

10

主题

48

帖子

1

粉丝