您的位置 首页 分销

ARM与SDRAM芯片的联接

通常ARM芯片内置的内存很少,要运行Linux,需要扩展内存。ARM9扩展内存使用SDRAM内存,ARM11使用DDRSDRAM。以ARM9核心的S3C2440为例,…

一般ARM芯片内置的内存很少,要运转Linux,需求扩展内存。ARM9扩展内存运用SDRAM内存,ARM11运用 DDR SDRAM。以ARM9中心的S3C2440为例,介绍一下内存的扩展。

S3C2440一般外接32位64MBytes的SDRAM,选用两片16位256Mbits的SDRAM芯片(如HY57V561620),SDRAM芯片经过地址总线、数据总线、若干控制线与S3C2440芯片相连。

S3C2440的地址总线:27根地址线—-ADDR[26:0]。

S3C2440的数据总线:32根数据线—-DATA[31:0]。

S3C2440的SDRAM控制线:

1、SDRAM片选—-nGCS6(对应ARM的地址0x3000 0000);nGCS7(对应ARM的地址0x3800 0000),每一根片选可联接128MBytes内存。现在扩展64MBytes内存,只需一根片选线,一般为nGCS6。

2、nWE—-写使能。

3、nSRAS—-SDRAM行地址开关。

4、nSCAS—-SDRAM列地址开关。

5、写字节使能四根线—-nWBE[3:0]。4个字节共32位,为一个数据单元。

6、SDRAM时钟两根线—-SCLK[1:0]。两根线别离联接两个SDRAM芯片。

7、SDRAM时钟使能—-SCKE。

S3C2440与两片HY57V561620联接时,用到的地址线是15根:13根队伍复用地址线,两根Bank线。

S3C2440 HY57V561620

ADDR2—————————-A0

ADDR3—————————-A1

—————————————–

ADDR14—————————A12

ADDR24————————– BA0 Bank0

ADDR25—————————BA1 Bank1

Bank相当于块,一个HY57V561620内有四个内存块,每块16*4Mbits内存单元。

每地址对应16bits,共有4M (2的22次方)地址规模,因而应该有22位地址线,寻址时22位的地址分两次(行地址和列地址)输入SDRAM芯片,nSRAS有用时,ADDR[2:14] 输入的是行地址,nSCAS有用时,ADDR[2:14]输入的是列地址。所以寻址一个内存单元至少需求两个时钟时刻,榜首个时钟行地址,第二个时钟列地址,然后才干找到对应内存单元。

地址线从ADDR2开始运用,而不是ADDR0开始运用,由于一个地址单元对应32位数据,也便是四个字节,ADDR[1:0]是最低2位地址,对应四个字节,在32位数据(四个字节)包括中,所以不需专门联接ADDR[1:0]。一起用nWBE[3:0]四根线区别一个32位内存单元的四个字节。

S3C2440的数据线32根,其间DATA[15:0]这16根联接榜首块HY57V561620芯片,DATA[31:16]这16根联接第二块HY56V561620芯片。

其他控制线很好了解,就不必多说了。

学习Linux的朋友们能够找到ARM开发板的电路原理图,看看ARM芯片怎样与SDRAM芯片联接,知道原理后就很好了解。这也是为深化学习Linux打下根底。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/bandaoti/fenxiao/274468.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部