打印

为什么接存储器时地址线有时需要错位,有时不需要?

[复制链接]
2830|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
睿翔|  楼主 | 2009-3-17 16:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    有一个问题困扰了好久了,就是ARM与存储器(SDRAM和FLASH)相连的问题.数据总线好连,直接对应相连即可,不管8位,16位,32位.关键是地址总线的连接,我以前的理解是看存储芯片的数据位宽,如果是8位,则ARM端的地址线A0对应存储器的地址线B0,A1-B1,以此类推.如果存储器是16位,则A1-B0,这样错开一位,ARM的A0不用.如果存储器是32位的,则A2-B0,以此类推,ARM的A0,A1都不用.我以前就是这样理解的.感觉也没什么问题.
    可是最近一段时间我看了看其它的芯片和它的原理图,发现有很多连法和我上面的理解不一样.比如IMX27和BF537这两款CPU都是不管存储器是多少位的的,都是直接A0-B0,没有任何考虑错位的情况.更有甚者,有的CPU接存储器比如16位时,竟然不是我想像中的A1-B0,而是A0-B1,反倒是存储器的B0不接.这到底是怎么回事呀?
    关于ARM外接存储器连法的问题,希望能有高手细致的讲解一下.拜谢了!

相关帖子

沙发
睿翔|  楼主 | 2009-3-17 20:12 | 只看该作者

没人回答吗?

没人回答吗?老手多多指点啊

使用特权

评论回复
板凳
阿南| | 2009-3-17 21:32 | 只看该作者

楼主的理解没有错,S3C2410A,S3C2440等都是这样的,理解的一点都

错.
又如IMX27和BF537没有这样做,是因为他们的存储控制器已经内部作了处理了,三星的如S3C2443S3C2450S3C6410等后续的也都是这样子了

使用特权

评论回复
地板
睿翔|  楼主 | 2009-3-18 13:14 | 只看该作者

谢谢阿南!

谢谢阿南!

PS:我买了您的书,感觉很有收获.谢谢

使用特权

评论回复
5
平常人| | 2009-3-18 13:45 | 只看该作者

地址线最低位的变化,可能对应8位、16位或32位

搞清这个原理,或者要片外或者要片内错位连接,只要看清楚器件手册就好了,不用困扰,放轻松,哈哈哈。。。。。。

使用特权

评论回复
6
helezh| | 2013-6-21 17:55 | 只看该作者
mark

使用特权

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

本版积分规则

13

主题

35

帖子

2

粉丝