ARM学习篇 SDRAM理解

1.SDRAM单管存储单元

 SDRAM单管电路图

  

ARM学习篇 SDRAM理解


  C记忆单元

  T控制门管

  Z字线

  W位线

  注:图示为N沟道耗尽型MOS管

写入:Z加高电平,MOS导通,W状态决定了电容C的状态

读出:Z加高电平,MOS导通,可以从W状态得知C的状态

保持:Z加低电平,MOS关闭,电容保持原状态

注意:单管读出是破坏性读出,因为读出时电容充电或者放电了,所以读出后还要重写

2.      刷新与重写

  ●  刷新是每隔一段时间,自动重写一次;重写是破坏性读出后立即还原

最大刷新间隔:所有的动态单元都被重新刷一遍的时间

刷新周期:刷新一行所用时间

 刷新周期数:刷新一块芯片所用的刷新周期数

刷新周期的安排方式:

  a). 集中刷新

ARM学习篇 SDRAM理解

  b). 分散刷新

  c).  异步刷新

2. SDRAM寻址机制

    1.  地址分布逻辑图

  

ARM学习篇 SDRAM理解

   图示大致说明了寻址方式,地址总线发出行列地址,选中相应的芯片,再读写。

  2.   K4S561632E功能模块图(SDRAM芯片)

  

ARM学习篇 SDRAM理解

 ● CLK系统时钟

 ● CKE时钟使能

 ● A0~A12地址线

 ● BA0~BA1块选择

● RAS'列信号使能

 ● CAS'行信号使能

 ● WE'写信号使能

 ● DQM控制数据输入输出

 ● Vdd/Vss供电电源/地

 ● Vddq/Vssq数据输出供电/地

  3.  SDRAM时序图

    1.片选信号时序图

  

ARM学习篇 SDRAM理解

● Tacs:片选信号nGCSn起效前,地址信号建立时间

● Tcos:在nOE起效前,片选信号建立时间

● Tacc:访问周期

● Tcoh:nOE结束后(即电平升高),片选保持时间

● Tcah:nGCSn结束后(即电平升高),地址信号保持时间

● Tacp:Page模式的访问周期

● 前面介绍了图示一些术语,有了一定了解,下面我们来分析上图:

  存储控制器使用HCLK作为其时钟

  CPU要访问某个地址,先发出地址给MMU,MMU再控制地址线,分批次发送行列地址。

  Page模式可以暂时忽略,因为我们还没用到离散存储管理(即物理内存分块,虚拟内存分页)。

  

  

ARM学习篇 SDRAM理解

●  Trp:SDRAM RAS预充电时间

●  Tsrc:SDRAM半行周期时间

●  Tcas:SDRAM列地址建立时间

关闭上一次操作,对上一次读的行全部重写一遍,即预充电;

S3C2440A发出片选,块选(BANK)信号同时发出列地址;

选中行后,发出列地址,读出相应数据,延迟几个时钟周期,I/O端口上就会出现所读数据

  4. 寄存器

  总线/位宽等待寄存器BWSCON

ARM学习篇 SDRAM理解

  总线控制寄存器BANKCON0~BANKCON5

ARM学习篇 SDRAM理解

  总线控制寄存器BANKCON6/7

ARM学习篇 SDRAM理解

  SDRAM刷新控制寄存器

ARM学习篇 SDRAM理解

  BANKSIZE寄存器

ARM学习篇 SDRAM理解

  SDRAM模式寄存器

  

ARM学习篇 SDRAM理解

5.寄存器配置(重点理解,我花了很长时间找资料、学习)

 a.  操作参数

ARM学习篇 SDRAM理解

注意看参数,相信大家这点英文基础还是有的。

S3C2440A的存储控制器的nGCSn、地址信号、nOE信号几乎同时发出,所以这些参数都设置为0

访问周期,根据手册,几纳秒内就可以访问到数据,所以可以尽量调低。

RAS到CAS延时:3CLK(Col. address to col. address delay+Last data in to new col. address delay+行选通信号到列选通信号的延时=3clk)

列地址:9位

预充电时间:20ns左右

行周期:65ns左右

CAS潜伏期:2或者3CLK

6. 基于以上了解,我们终于可以写代码

  

AREA SDRAM,CODE,READONLY
CODE32
ENTRY

SDRAM_BASE EQU 0X30000000

WTCON EQU 0X53000000;看门狗控制寄存器

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/f4158319bb96a26f9932d7c3819eff12.html