S3C2440扩展SDRAM

 本文主要目的是记录一下S3C2440扩展SDRAM的一些知识,方便以后查阅。

通过查阅手册我们知道,2440有8个可以用来扩展内存的BANK,其中第6和第7还可用来扩展SDRAM

下面我们来看一下2440扩展SDRAM需要设置哪些寄存器。

一、BWSCON寄存器

该寄存器我们只需要设置和SDRAM有关的bank7和bank6,我的开发板的SDRAM是连接到bank6的,我们需要配置bank6相关位,不过一般我们bank6和bank7都设置为一样(我记得两者好像是有共用什么来着,不记得了,需要查手册再去看才能想起),ST6位里的UB/LB一般是用于SRAM的,我用的是SDRAM,配置为0;WS6配置为disable,因为我的开发板扩展了两片16位的SDRAM,相当于一片32位的SDRAM,DW6选择32bit。bank7配置和bank6一样,所以我们配置BWSCON = 0X22000000;

 

二、BANKCON6、BANKCON7

对于MT,因为我们用的是SDRAM,所以配置为11;配置为SDRAM模式后,还需要配置Trcd和SCAN,Trcd是RAS(行地址发出时间)到CAS(列地址发出时间)的时间间隔,我们可以直接在我们的SDRAM芯片手册里查找一下Trcd,结果如下图

 

因为我的板子上的SDRAM是-6G的,所以最小为18ns,因为2440内存控制器的时钟为HCLK,我配置为100M,所以Trcd配置为00(2 clocks),至于列地址数,我们可以查看我们的SDRAM芯片的手册得到以下结果,所以SCAN配置为9个列地址,即把BANKCON6、BANKCON7配置为0X00018001。

 

三、REFRESH寄存器

因为SDRAM需要不断地刷新才能保存住里面的数据,所以REFEN必须使能;TREFMD配置为自动模式;Trp直接在我们的SDRAM芯片手册里查找得知-6型号的芯片为18,所以配置为2个clocks,Tsrc在芯片手册里找不到,但我们可以查找Trc,-6型号的Trc为60ns,所以Tsrc等于60-18等于42,我们配置为5个clocks;配置Refresh Counter需要在SDRAM手册里查找Refresh period,我的芯片是64ms/8k,根据公式算出Refresh count等于1269,所以REFRESH配置为0X8404F5。

 

四、BANKSIZE寄存器

我们使能突发访问(可一次连续访问多个字节)和休眠模式,所以bit5和7都配置为1,bit4采用推荐值1,因为我们相当于扩展了一片64M的SDRAM,所以BK76MAP配置为64MB,所以BANKSIZE配置为0XB1。

 

五、MRSRB6、MRSRB7

这个寄存器只有CL是可设置的,其他都为Fixed,因为SDRAM这种内存芯片其实性能不是很好,我们在发送完地址后,一般需要等待2或3个时钟周期才有数据返回,CL正是设置这一点的,我们的SDRAM芯片可配置为2或者3,我们配置为2,所以MRSRB6和MRSRB7配置为0X20。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值