Mini2440学习笔记(三)——SDRAM

2440的存储控制器:

2440的存储控制器有个8个BANK:BANK0~BANK7,对外引出27根地址线(ADDR0~ADDR26),访问范围是128M,有8个片选信号(nGCS0~nGCS7)与之对应,所有可以访问1G的地址空间。BANK6和BANK7的可访问地址空间是可以设置的。

只有BANK6和BANK7可以外接SDRAM或SRAM。

CPU提供了一组用于SDRAM的信号(具体内容在datasheet的signaldescription):

nSRASOSDRAM行地址选通

nSCASOSDRAM列地址选通

nSCS[1:0]OSDRAM片选

DQM[3:0]OSDRAM数据屏蔽

SCLK[1:0]OSDRAM时钟

SCKEOSDRAM时钟使能

nBE[3:0]O高位字节/低位字节使能(16位SRAM情况时)

nWBE[3:0]O写字节使能

Mini2440的SDRAM:

Mini2440使用的SDRAM芯片是32M的HY57V561620,这是一个4Banks*4M*16bit的SDRAM,也就是由4个逻辑块(LogicalBank,简称L-Bank)组成,每个L-Bank有4M存储单元,每个单元是16bit。所有它的数据线是16根(DQ[15:0]);地址线有13根(A[12:0]),其中行地址13根(A[12:0]),列地址9根(A[8:0]);还有两根信号线(BA[1:0])用于选择L-Bank。

两个芯片(U6和U7)并接,就可以组成位宽32位的SDRAM,空间为64M,映射到nGCS6(BANK6),访问的地址空间为0x30000000~0x33ffffff。

管脚连接方式如下:

地址线:

ADDR[14:2]同时连接U6和U7的A[12:0];(地址线的连接方法可以依据s3c2440a的datasheet,存储器控制器一节中的“存储器(SRAM/SDRAM)的地址引脚连接”)

数据线:

DATA[15:0]连接U6的DQ[15:0];

DATA[31:16]连接U7的DQ[15:0];

L-Bank选择:

使用ADDR[25:24]同时连接U6和U7的BA[1:0];(这个连接依据s3c2440a的datasheet,存储器控制器一节中的“SDRAMBANK地址引脚连接例子”)

SDRAM控制信号:

SCKE连接U6和U7的时钟使能信号CKE;

SCLK0和SCLK1分别连接U6和U7的时钟信号CLK;

nSCS0(D2管脚,与nGCS6同一引脚)同时连接U6和U7的片选信号CS,低电平有效;

nSRAS同时连接U6和U7的行地址信号RAS,低电平有效;

nSCAS同时连接U6和U7的列地址信号CAS,低电平有效;

nWE(E6管脚)是总线控制信号,同时连接U6和U7的写使能信号,低电平有效。

寄存器:

1.BWSCON:0x48000000(位宽和等待控制寄存器)

每四位控制一个BANK,BANK6对应[27:24]位;

ST6[27]:使能/禁止数据掩码引脚,对于SDRAM,此位应该设为0,禁止。

WS6[26]:使能/禁止WAIT信号,设为0,禁止。

DW6[25:24]:位宽,0b10表示32位。

2.BANKCON6:0x4800001c(BANK6的控制寄存器)

MT[16:15]:SRAM-0b00,SDRAM-0b11。

Tcrd[3:2]:RAS到CAS的延迟,0b00,两个时钟;0b01,三个时钟。

SCAN[1:0]:列地址数,0b01,9位。

当BANK6或BANK7外接SDRAM时,还需要设置如下寄存器:

3.REFRESH:0x48000024(刷新控制寄存器)

REFEN[23]:SDRAM刷新使能,设为1。

TREFMD[22]:刷新模式,设为0,自动刷新。

Trp[21:20]:RAS预充电时间,0b00,两个时钟。

Tscr[19:18]:半行周期时间,0b11,7个时钟。

RefreshCounter[10:0]:刷新计数器,计算公式如下:

2^11+1-SDRAM时钟频率(HCLK)(MHz)*刷新周期(μs)

在未使用PLL时,HCLK等于晶振频率;

在HY57V561620的数据手册里有写:8192refreshcycles/64ms,据此可以计算刷新周期。

注:Trp、Trcd等设置,参照2440数据手册里的SDRAM时序图。

4.BANKSIZE:0x48000028(BANK大小寄存器)

BURST_EN[7]:设为1,ARM核支持突发传输。

SCKE_EN[5]:设为1,使用SCKE信号使SDRAM进入省电模式。

SCLK_EN[4]:设为1,仅在访问SDRAM时发出SCLK信号。

BK76MAP[2:0]:设置BANK6/7的大小,0b001,64M。

5.MRSRB6:0x4800002c(SDRAM模式设置)

CL[6:4]:CAS等待时间,0b010或0b011,2或3个时钟。

在数据手册里有写:PromgrammableCASlatency:2、3Clocks

参考:

HY57V561620数据手册

S3C2440A数据手册

S3C2440-SDRAM连线分析

<!--EndFragment-->
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值