s3c2440#SDRAM#初始化

一、引脚说明 

JZ2440的SDRAM接线图

 

可以看到两块SDRAM并行接入到开发板,一共有27条地址线,32条数据线(各16条)

(1)CLK:SDRAM工作的时钟,并且所有的输入信号都是在CLK的上升沿进行检测的,也就是说我们给SDRAM给的任何命令,一定要在CLK的上升沿保持稳定,以免SDRAM获取我们给出的命令时出现错误。

(2)CKE:时钟使能信号,高电平(激活)、低电平(无效),是用来控制SDRAM内部时钟是否工作的一个信号(在SDRAM内部也是有时钟的哦)

(3)其中地址线分出两条来选择bank,因为SDRAM中有四个bank。

 

(4)RAS、CAS、WE:这三根线就是用来给SDRAM发命令的,包括初始化、读、写、自动充电等命令。

(5)UDQM、LDQM:数据输入/输出掩码。

 

二、SDRAM的内部结构。

Chapter12 lesson4 001.jpg

通常SDRAM内部会包含四个bank,每个bank就像一个表格,由横列组成一个个储存单元先指定行,再指定列,就可以准确找到所需要的存储单元  (16bit),这是内存芯片寻址的基本原理.

1.如何才能选中各自呢?

  1. 首先发出一个片选信号,选中整个芯片;

  2. 发出Bank地址,选择是哪一个Bank(块,即表格);

  3. 发出行地址;

  4. 最后发出列地址,才能选中是个格子;

三、S3C2440内存控制器的初始化

SDRAM芯片K4s5m632的行地址数为13,列地址数为9

nSRAS信号有效时,ADDR2—ADDR14上发出是行地址信号,它对应32位地址空间的bit [23: 11]:

nSCAS信号有效时,ADDR2—ADDR10上发出是列地址信号,它对应32位地址空间的bit [10:2];

由于BANK6以32位的宽度外接DRAM,ADDR0、ADDR1恒为0,不参与译码。

 

因为SDRAM是由S3C2440的内存控制器所控制的,因此需要配置内存控制器的寄存器。本例的SDRAM是连接在内存控制器的bank6,和bank7.

NO1.总线宽度和等待控制寄存器 BWSCON

[31] 决定 SRAM 是否对 Bank 7 使用 UB/LB (什么是BU/LB??)

[30] 决定 Bank 7 的WAIT 状态 (是否使能)

[29:28] 决定Bank 7的数据总线宽度

注意:bank 6 同样设置

NO2.各个Bank 的控制寄存器 BANKCONn

[16:15] 决定存储器(bank 6、7)的类型

 

因为是SDRAM所以只设置最低4位。

[3:2] 行地址到列地址之间的延迟Trcd。因为发射行地址后需要过一段时间才能发射列地址。

[1:0] 列地址的位数

NO3.配置刷新控制寄存器REFRESH

[23] SDRAM刷新使能

[22] SDRAM刷新的模式,自动刷新和自刷新(一般在系统休眠时候使用)

[21:20] SDRAM行预刷新时间 Trp

[19:18] SDRAM半行周期时间  Tsrc

            SDRAM的行周期时间  Trc

等于 Trc=Tsrc+Trp

[10:0] 刷新计数器

刷新周期=(2^11-refersh_count+1)/HCLK

假如刷新周期是7.8μs,HCLK是100MHz

refresh_count=2^11+1-100x7.8=1269

注:在SDRAM数据手册上有“64ms refresh period(8K cycle)”刷新周期=64ms/8192=7.8125 μs

NO4.配置Bank大小寄存器  BANKSIZE

[7]  使能核突发操作

[5] 0 CLK总是活跃状态

     1 CLK只在访问期间活跃

[4]  通过SCKE使能掉电模式

[2:0] bank6/7内存映射,bank6/7大小可编程

NO5.配置Bank模式寄存器  MRSR

[9] 写突发长度

[8:7] 测试模式

[6:4] CAS在读数据时的延迟,写数据没有

[3]  突发类型

[2:0] 突发chang'd

 

 

 

四、一些概念解释

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值