在介绍 SDRAM 电路设计之前,先了解 SDRAM 的寻址原理。SDRAM 内部是一个存储阵列,可以把它想象成一个表格:和表格的检索原理一样,先指定行、再指定列,就可以准确找到所需要的存储单元,这是内存芯片寻址的基本原理,这个表格称为逻辑 Bank。由于技术、成本等原因,不可能只做一个全容量的 Bank;而且由于 SDRAM 工作原理的限制,单一的 Bank 会造成非常严重的寻址冲突、大幅降低内存效率,所以在 SDRAM 内部分割成多个 Bank,目前的 SDRAM 基本都是 4 个 Bank。

图 1 SDRAM bank 地址配置方案
图 1 是 S3C2440A 手册提供的 SDRAM bank 地址配置方案。本系统使用的 SDRAM 是 HY57V561620FTP-H,其规格是 4×4M×16 bit(使用两片是为了配置成 32 位的总线宽度):BANK 大小为 4M×16 bit = 64 Mbit,总线宽度是 32 位,器件大小为 4 × BANK 大小 = 256 Mbit,寄存器配置为(4M×16 bit×4 bank)×2 片。根据图 1 可知,SDRAM 上的 BANK 地址引脚 BA[1:0] 与 S3C2440 的 A[25:24] 相连。

图 2 S3C2440A 控制地址总线连接
图 2 是寄存器控制地址总线的连接方式:本系统使用 2 片 SDRAM 配置成 32 位的总线宽度,所以 SDRAM 上的 A[12:0] 接到 S3C2440 的 A[14:2] 引脚。具体的 SDRAM 电路连接如图 3 所示。

图 3 SDRAM 电路连接
SDRAM 的地址引脚是复用的:在读写 SDRAM 存储单元时,操作过程是将读写地址分两次输入到芯片中,每一次由同一组地址线送入,两次送入到芯片上的地址分别称为行地址和列地址,它们被锁存到芯片内部的行地址锁存器和列地址锁存器,因此 SDRAM 的地址线数量只需满足最大行地址或列地址的位宽要求。除地址线外,SDRAM 还需要时钟(CLK)、时钟使能(CKE)、片选(nCS)、行地址选通(nRAS)、列地址选通(nCAS)、写使能(nWE)以及数据掩码(DQM)等控制信号,这些信号分别与 S3C2440A 的 SDRAM 控制器相应引脚连接即可。