S3C6410的DRAM控制器

发 布 时 间 : 2013/6/3    来 源 :     作 者 : ,   浏 览 :142

我们在项目中更换了DRAM,所以需要重新配置S3C6410的DRAM控制器,结果发现S3C6410中的DRAM控制器还是挺复杂的。

 


S3C6410支持两个DRAM片选,可以分别接最大256MB的内存,该处理器用的DRAM控制器是来自ARM的PrimeCell Dynamic Memory Controller(PL340)。只看S3C6410的Datasheet中的DRAM部分介绍是不够的,你还需要看PL340的技术参考文档,这个文档网上搜索一下就有了。想完全了解6410的DRAM控制器,必须两篇文档都看。我都看了,虽然没完全了解,但是比看6410的datasheet要强多了。

 

我用的是mobile DDR-SDRAM,所以在这里大概介绍一下寄存器及配置流程。先介绍一下寄存器:

 

1. DRAM Controller Status Register (Address: 0x7E001000)

DRAM状态寄存器,这是一个RO寄存器,用于读取DRAM的状态。

 

实际上,读到的有用信息就是Controller Status和Memory width。

 

2. DRAM Controller Command Register (Address: 0x7E001004)

DRAM命令寄存器,设置DRAM的工作状态。

最开始应该配置为0x4,是处于Configure状态。在配置完所有的DRAM之后,将该寄存器设置为0x0,处于运行状态。

 

3. Direct Command Register (Address: 0x7E001008)

DRAM命令寄存器,用于发送命令到DRAM和访问DRAM中的MRS和EMRS寄存器。

通过该寄存器初始化DRAM,先设置为NOP模式,然后设置为PrechargeAll进行充电,然后设置EMRS和MRS寄存器,一般是这么一个流程。具体的要参见你所使用的DRAM的datasheet。

 

4. Memory Configuration Register (Address: 0x7E00100C)

DRAM的配置寄存器,这个与需要参照你所使用的DRAMdatasheet

 


该寄存器肯定是要配的,看看DRAM的datasheet就知道了。

广州南嵌电子科技有限公司     官方网站  技术支持Email:NQARM2011@163.com