首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

S3C2440与SDRAM NorFlash NandFlash连线分析

S3C2440与SDRAM NorFlash NandFlash连线分析

一、SDRAM(HY57V561620F)连线分析   

1、
S3C2440 27根地址线ADDR[26:0]8根片选信号ngcs0-ngcs7,对应bank0-bank7,当访bankx 的地址空间,ngcsx引脚为低电平,选中外设。

  2^27=128MByte, 8*128Mbyte = 1Gbyte,所以S3C2440 总的寻址空间是1Gbyte。但市面上很少有32位宽度的单片SDRAM,一般选择216SDRAM 扩展得到32SDRAM.
  

2、这里选择的SDARM是HY57V561620F,4Mbit * 4bank *16I/O,共32Mbyte

  

首先了解下SDRAM 的寻址原理。 SDRAM 内部是一个存储阵列,可以把它想象成一个表

  

格。和表格的检索原理一样,先指定行,再指定列,就可以准确找到所需要的存储单元。这个表格称为逻辑BANK。目前的SDRAM基本都是4个BANK。寻址的流程就是先指定BANK地址,再

  

指定行地址,最后指定列地址。这就是SDRAM的寻址原理。存储阵列示意图如下:



查看HY57V561620F
的资料,可知这个SDRAM有13根行地址线 RA0-RA12, 9根列地址线CA0-CA8,2根BANK选择线 BA0-BA1。

  

SDRAM 的地址引脚是复用的,在读写SDRAM存储单元时,操作过程是将读写的地址分两次输入到芯片中,每一次都由同一组地址线输入。两次送到芯片上去的地址分别称为行地址和列地址。它们被锁存到芯片内部的行地址锁存器和列地址锁存器。

  

/RAS是行地址锁存信号,该信号将行地址锁存在芯片内部的行地址锁存器中;

  

/CAS 是列地址锁存信号,该信号将列地址锁存在芯片内部的列地址锁存器中。

  





地址连线如下图:

  







问题1:SDRAM:的A0接S3C2440的ADDR2,A0 为什么不接ADDR0?

  

要理解这种接法,首先要清楚在CPU的寻址空间中,字节(8位)是表示存储容量的唯一单位。用2片HY57V561620F扩展成32位SDRAM,可以认为每个存储单元是4个字节。因此当它的地址线A1:A0=01 时,处理器上对应的地址线应为ADDR3:ADDR2=01(因为CPU的寻址空间是以Byte 为单位的)。所以SDRAM的A0引脚接到了S3C2440的ADDR2 地址线上。同理,如果用1 片HY57V561620F,数据线是16位,因为一个存储单元是2个字节,这时SDRAM的A0要接到S3C2440的ADDR1上。

  

就是说SDRAM的A0接S3C2440的哪一根地址线是根据整个SDRAM的数据位宽来决定的

  

问题2:上图接线中,BA0,BA1接ADDR24,ADDR25,为什么用这两根地址线呢?

  

    BA0~BA1代表了SDRAM 的最高地址位。因为CPU的寻址空间是以字节(Byte)为单位的,本系统SDRAM容量为64MByte,那就需要A25~A0(64M=2^26)地址线来寻址,所以BA1~BA0地址线应该接到S3C2440的ADDR25~ADDR24 引脚上。

  

13根行地址线 + 9根列地址线 = 22根地址线。另外HY57V561620F一个存储单元是2个字节(16I/O),相当于有了23根地址线。BA0,BA1是最高地址位,所以应该接在ADDR24,ADDR25 上。

  就是说SDRAM的BA0,BA1接S3C2440的哪几根地址线是根据整个SDRAM的容量来决定的。
继承事业,薪火相传
返回列表