欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

s3c2440 sdram初始化

程序员文章站 2022-06-08 21:37:28
...

1. 内存类接口

s3c2440 sdram初始化
内存控制器作用:
CPU把地址发送给内存控制器----》内存控制器根据地址选择不同的模块—》把数据发送给模块/从模块中取出数据

2.不同位宽设备的连接

3.时序图分析

4.SDRAM初始化

关于SDRAM的知识可以参考:

(1)寄存器设置

① BWSCON = 0x02000000

s3c2440 sdram初始化

② BANKCON6 = 0x8001

s3c2440 sdram初始化
s3c2440 sdram初始化

③ REFRESH = 0x8404F5

s3c2440 sdram初始化

④ BANKSIZE 0xb1

s3c2440 sdram初始化

⑤ MRSRB6 = 0x20

s3c2440 sdram初始化

(2)初始化代码:

#include "s3c2440_soc.h"
#include "sdram_init.h"

void sdram_init(void){
	BWSCON = 0x22000000;

	BANKCON6 = 0x18001;
	BANKCON7 = 0x18001;

	REFRESH = 0x8404F5;

	BANKSIZE = 0xb1;

	MRSRB6 = 0x20;
	MRSRB7 = 0x20;

}

知识补充:


1、ROM (只读内存(Read-Only Memory)简称)

ROM是只读存储器(Read-Only Memory)的简称,是一种只能读出事先所存数据的固态半导体存储器。
其特性是一旦储存资料就无法再将之改变或删除。
通常用在不需经常变更资料的电子或电脑系统中,并且资料不会因为电源关闭而消失。
如:可编程只读存储器(PROM)、可擦可编程序只读存储器(EPROM)和电可擦可编程只读存储器(EEPROM)


2、RAM & ROM区别

RAM是RandomAccess Memory的缩写。ROM在系统停止供电的时候仍然可以保持数据,而RAM通常都是
在掉电之后就丢失数据,典型的RAM就是计算机的内存。
RAM有两大类,一种称为静态RAM(Static RAM/SRAM),SRAM速度非常快,是目前读写最快的存储设备了,
但是它也非常昂贵,所以只在要求很苛刻的地方使用,譬如CPU的一级缓冲,二级缓冲。另一种称为动态RAM
(Dynamic RAM/DRAM),DRAM保留数据的时间很短,速度也比SRAM慢,不过它还是比任何的ROM都要快,但
从价格上来说DRAM相比SRAM要便宜很多,计算机内存就是DRAM的。
RAM 有两大类,一种称为静态RAM(Static RAM/SRAM),SRAM速度非常快,是目前读写最快的存储设备了,
但是它也非常昂贵,所以只在要求很苛刻的地方使用,譬如CPU的一级缓冲,二级缓冲。
另一种称为动态RAM(Dynamic RAM/DRAM),DRAM保留数据的时间很短,速度也比SRAM慢,不过它还是比任
何的ROM都要快,但从价格上来说DRAM相比SRAM要便宜很多,计算机内存就是DRAM的。
DRAM分为很多种,常见的主要有FPRAM/FastPage、EDORAM、SDRAM、DDR RAM、RDRAM、SGRAM以及WRAM等,这里
介绍其中的一种DDR RAM。DDR RAM(Double-Date-Rate RAM)也称作DDR SDRAM,这种改进型的RAM和SDRAM是基
本一样的,不同之处在于它可以在一个时钟读写两次数据,这样就使得数据传输速度加倍了。这是目前电脑中用
得最多的内存,而且它有着成本优势,事实上击败了Intel的另外一种内存标准-Rambus DRAM。在很多高端的显
卡上,也配备了高速DDR RAM来提高带宽,这可以大幅度提高3D加速卡的像素渲染能力。

内存工作原理  
  内存是用来存放当前正在使用的(即执行中)的数据和程序,我们平常所提到的计算机的内存指的是动态内存(即DRAM),
动态内存中所谓的"动态",指的是当我们将数据写入DRAM后,经过一段时间,数据会丢失,因此需要一个额外设电路进行内
存刷新操作。
  具体的工作过程是这样的:一个DRAM的存储单元存储的是0还是1取决于电容是否有电荷,有电荷代表1,无电荷代表0。
但时间一长,代表1的电容会放电,代表0的电容会吸收电荷,这就是数据丢失的原因;刷新操作定期对电容进行检查,若电
量大于满电量的1/2,则认为其代表1,并把电容充满电;若电量小于 1/2,则认为其代表0,并把电容放电,藉此来保持数
据的连续性。


3、ARM里的RAM和SDRAM有什么区别

RAM包括SRAM和DRAM,前者是静态随机存储器,主要是依靠触发器存储数据,无需刷新,
而后者是动态随机存储器,依靠MOSFET中栅电容存储数据,需不断刷新以补充释放的电荷。
由于单管就可以实现数据存储,集成度可以做到更高,功耗也更低,更为主流。
需要注意的是由于刷新牵涉电容的充放电过程,DRAM的存取速度不及SRAM。
  至于SDRAM,为同步动态随机存储器,属于DRAM的一种,其工作过程需要同步时钟的配合,
因此可以不考虑路线延时不同的影响,避免不定态。普通的DRAM属于异步传输,存取数据时,
必须等待若干个时钟以后才进行操作(考虑不定态),因为会花费较多的时间,影响了数据的
传输速率。随着时钟频率的不断增高,这个瓶颈的限制就会越来越明显,SDRAM的优势也就更能
体现出来。


4、flash

Flash存储器又称闪存,它结合了ROM和RAM的长处,不仅具备电子可擦除可编程(EEPROM)的性能,
还可以快速读取数据(NVRAM的优势),使数据不会因为断电而丢失。U盘和MP3里用的就是这种存储器。
在过去的20年里,嵌入式系统一直使用ROM(EPROM)作为它们的存储设备,然而近年来Flash全面代替
了ROM(EPROM)在嵌入式系统中的地位,用作存储Bootloader以及操作系统或者程序代码,或者直接
当硬盘使用(U盘)。

目前Flash主要有两种NOR Flash和NADN Flash。
NOR Flash的读取和我们常见的SDRAM的读取是一样,用户可以直接运行装载在NOR FLASH里面的代码,这样
可以减少SRAM的容量从而节约了成本。
NAND Flash没有采取内存的随机读取技术,它的读取是以一次读取一块的形式来进行的,通常是一次读取512
个字节,采用这种技术的Flash比较廉价。用户不能直接运行NAND Flash上的代码,因此好多使用NAND Flash
的开发板除了使用NAND Flah以外,还作上了一块小的NOR Flash来运行启动代码。

5、

CPU

  1. 运算器:信息处理
  2. 控制器:控制各种器件工作
  3. 寄存器:信息存储

总线:

  1. 内部总线:连接CPU内部各种器件的总线
    2.外部总线:连接CPU与外部各器件的总线