没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
S3C2440 与 SDRAM 的地址连线分析
S3C2440 有 27 根地址线 ADDR[26:0],8 根片选信号 ngcs0-ngcs7,对应 bank0-ba
nk7,当访问 bankx 的地址空间,ngcsx 引脚为低电平,选中外设。
2^27=2^7 * 2^10 * 2^10 = 128Mbyte
8*128Mbyte = 1Gbyte
所以 S3C2440 总的寻址空间是 1Gbyte。
市面上很少有 32 位宽度的单片 SDRAM,一般选择2片16位SDRAM 扩展得到 32
位 SDRAM.
选择的 SDARM 是 HY57V561620F,4Mbit * 4bank *16,共 32Mbyte。
首先了解下 SDRAM 的寻址原理。
SDRAM 内部是一个存储阵列。可以把它想象成一个表格。和表格的检索原理一样,
先指定行,再指定列,就可以准确找到所需要的存储单元。这个表格称为逻辑 B
ANK。目前的 SDRAM 基本都是 4 个 BANK。寻址的流程就是先指定 BANK 地址,再
指定行地址,最后指定列地址。这就是 SDRAM 的寻址原理。存储阵列示意图如下:
查看 HY57V561620F 的资料,这个 SDRAM 有
13 根行地址线 RA0-RA12
9 根列地址线 CA0-CA8
2 根 BANK 选择线 BA0-BA1
SDRAM 的地址引脚是复用的,在读写 SDRAM 存储单元时,操作过程是将读写
的地址分两次输入到芯片中,每一次都由同一组地址线输入。两次送到芯片上去
的地址分别称为行地址和列地址。它们被锁存到芯片内部的行地址锁存器和列地
址锁存器。/RAS 是行地址锁存信号,该信号将行地址锁存在芯片内部的行地址
锁存器中;/CAS 是列地址锁存信号,该信号将列地址锁存在芯片内部的列地址
锁存器中。
地址连线如下图:
SDRAM 的 A0 接 S3C2440 的 ADDR2,很多初学者都对这里又疑问。A0 为什么不
接 ADDR0?
要理解这种接法,首先要清楚在 CPU 的寻址空间中,字节(8 位)是表示存储
容量的唯一单位。
用 2 片 HY57V561620F 扩展成 32 位 SDRAM,可以认为每个存储单元是 4 个字
节。因此当它的地址线 A1:A0=01 时,处理器上对应的地址线应为 ADDR3:A
DDR2=01(因为 CPU 的寻址空间是以 Byte 为单位的)。所以 SDRAM 的 A
0 引脚接到了 S3C2440 的 ADDR2 地址线上。
同理,如果用 1 片 HY57V561620F,数据线是 16 位,因为一个存储单元是 2 个
字节,这时 SDRAM 的 A0 要接到 S3C2440 的 ADDR1 上。
也就是说 SDRAM 的 A0 接 S3C2440 的哪一根地址线是根据整个 SDRAM 的数据
位宽来决定的。
上面的接线图上,BA0,BA1 接 ADDR24,ADDR25,为什么用这两根地址线呢?
BA0~BA1 代表了 SDRAM 的最高地址位。因为 CPU 的寻址空间是以字节(B
yte)为单位的,本系统 SDRAM 容量为 64MByte,那就需要 A25~A0(64M
=2^26)地址线来寻址,所以 BA1~BA0 地址线应该接到 2440 的 ADDR25
~ADDR24 引脚上。
13 根行地址线+9 根列地址线 = 22 根。另外 HY57V561620F 一个存储单元是
2 个字节,相当于有了 23 根地址线。BA0,BA1 是最高地址位,所以应该接在 A
DDR24,ADDR25 上。
也就是说 SDRAM 的 BA0,BA1 接 S3C2440 的哪几根地址线是根据整个 SDR
AM 的容量来决定的。
剩余16页未读,继续阅读
资源评论
- legendzzc2012-04-11原理介绍很详细,是学习sdram的好资料
exbob
- 粉丝: 69
- 资源: 18
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功