TKWTKW 发表于 2011-6-6 17:26:43

6410与DDR连接的几点疑问

6410与DDR连接的几点疑问

最近在读uboot中cpu_init.S里关于DDR的配置,DDR我用的是K4X51163PC,看了原理图有几点不解,特来求助!!!   
http://cache.amobbs.com/bbs_upload782111/files_40/ourdev_646258J15YXY.jpg
1 (原文件名:1.jpg)

如上图所示:
1、在2440中与A0相连接的是ADDR2(因为4字节对齐)为什么在6410中却变为了ADDR0?
2、为什么BA0和BA1与ADDR14和ADDR15相连?
http://cache.amobbs.com/bbs_upload782111/files_40/ourdev_646256G4MXDM.jpg
2 (原文件名:2.jpg)

如上图所示:
3、这是DDR的内部结构,可以看到它有4个bank,一个存储单元存放32位即4个字节,为什么输出的时候是却是16位?

TKWTKW 发表于 2011-6-6 17:40:40

望达人解答!!!./emotion/em103.gif

nazily215 发表于 2011-6-6 22:52:55

使用通用的EBI接口是需要使用A2-A0来对齐的,如果使用专用的DDR控制器的话,是需要使用A0-A0对齐的。
你的A14 A15估计应该有复用功能,也就是说当使用DDR控制器的话,就会把A14 A15映射成为BA0 BA1了。

虽然我没使用过6410 2440,但原因基本如上,作为参考。

TKWTKW 发表于 2011-6-7 09:48:43

回复【2楼】nazily215
-----------------------------------------------------------------------

可是如果是A0-A0对齐的话,对于ARM而言如果存放4个字节的数据,应该对应4个地址,假设这四个地址是1~4,那么我要读第二个数据时送的就是地址2,但是这是肯定读不到想要的数据,因为对于DDR而言一个地址是对应四个字节的(我图片中只有一个DDR,实际系统中有两个,一个是2个字节,所以两个是4字节),所以不过这四个字节你要去哪个,都应该送地址1,难道是因为6410的SDRAM控制器支持地址的自动转化?

我查了下,A14 A15,确实是Bank select,真正的地址总线只有Xm1ADDR,呵呵!

第三个问题是为什么呢?
页: [1]
查看完整版本: 6410与DDR连接的几点疑问