S3C2440 地址分配硬件连接及其启动原理分析(2)

二.s3c2440接线规则:

S3C2440 地址分配硬件连接及其启动原理分析

图3

1) SDRAM接法规则,分三步(以K4S561632E为例):

1-1).需得到逻辑bank的选择IO:

S3C2440 地址分配硬件连接及其启动原理分析

图4-1

S3C2440 地址分配硬件连接及其启动原理分析

图4-2

Bank Size: 外接内存容量大小(K4S561632E是4M*16bit*4Bank*2Chips/8=64MB)

Bus Width: 总线宽度 (两片16K4S561632E,并联成32位)
Base Component:单个芯片容量(bit)(256Mb)
Memory Configration:内存配置 ((4M*16*4banks)*2Chips )

根据K4S561632E的规格书(如图4-1,图4-2)得到一些信息.再结合图3 ,我们可以得到逻辑bank的选择I/O A[25:24]

1-2).需要得到芯片的开始pin 号:

S3C2440 地址分配硬件连接及其启动原理分析

图5

我们选择了两片的K4S561632E sdram,所以是32位的.从A2 开始,

s3c2440的ADDR2 ------------- K4S561632E 的A0

s3c2440的ADDR3 ------------- K4S561632E 的A1

如此类推...

为什么要从ADD2开始了.我们知道SDRAM的寻址原理是一个存储阵列,如图6:

S3C2440 地址分配硬件连接及其启动原理分析

图6

每一片的K4S561632E 有4个逻辑bank,每个bank有4M个存储单元,每个存储单元有16位.这就是规格书所说的 4M*16bit*4Bank = 256Mbit.

而2片K4S561632E就有4M*4Bank*32bit = 512Mbit = 64MB,(市面上很少有32位宽的单片SDRAM,一般选择2片16位SDRAM扩展到32位宽)

内存寻址一次,就是行(ROW)列(Column)交叉一次,得到一个存储单元,也就是说内存是以"存储单元(本例为4个字节,低16位与高16位合成一个存储单元)"为单位的,而不是以"字节"为单位的.但是,cpu寻址是以字节为单位的.也就是说,cpu移动到下一个才一个字节,而本例内存移动到下一个就是4个字节.所以我们写程序时常常说要字节对齐就是这个原因.下面我举例子具体说明一下:

cpu 寻址内存 内存返回给cpu

0000 0000 第0个单元(其实包含0000 0000 至 0000 0011 这4个字节)

0000 0100 第1个单元(其实包含0000 0100 至 0000 0111 这4个字节)

0000 0101 第1个单元(其实包含0000 0100 至 0000 0111 这4个字节) 因为s3c2440没接A1和A0,所以相于逻辑与0xFFFF FF00,取到内存的4个字节后再用低两位去选择

0000 1100 第3个单元(其实包含0000 1100 至 0000 1111 这4个字节)

如此类推.....

cpu 的第2位对应了内存的第0位.也就是说cpu的4,而内存看成是1,他们的单位不同而已,一个是字节,一个是存储单位,也就是位宽.

同理,16位的位宽SDRAM的A0应该接到s3c2440的ADDR1上.

结论:SDRAM的A0接到s3c2440的那一个引脚上是根据整个SDRAM的位宽决定的.

1-3).开始连接SDRAM到s3c2440:

S3C2440 地址分配硬件连接及其启动原理分析

图7

2) norflash接法规则,以EN29LV160A为例.

这个IC 位宽是通过引脚号为47的高低电平来选择BYTE/WORD,也就是有8位,16位两种模式.

S3C2440 地址分配硬件连接及其启动原理分析

图8

S3C2440 地址分配硬件连接及其启动原理分析

图9

规则大同小异,我这里就不多说了.

3.NANDFLASH接法规则,以K9FXX08为例:

S3C2440 地址分配硬件连接及其启动原理分析

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/c9d52f6292e4fe8d8d7e31ddb12c7c91.html