首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

ARM中SDRAM的控制

ARM中SDRAM的控制

SDRAM即同步动态RAM :所有输入信号均在时钟上升沿被采样,需要动态刷新保持数据
1、重要的连接信号:
a、 RAS:行地址锁存
b、 CAS:列地址锁存
c、 WE:写使能
d、 DQ0-DQ15:数据总线
e、 DQMLDQMH:数据I/O屏蔽,读模式下屏蔽输出缓冲,写模式下屏蔽输入缓冲,DQML控制DQ0-DQ7DQMH控制DQ8DQ15
f、  A10连接自动放电

2、扩展方式:
使用双片级联,将16位数据线扩展为32位,从而与32CPU匹配,优化SDRAM性能。扩展后一个地址对应32位,从而一个地址单元以4Byte进行数据访问时,内存会忽略A0A1,故SDRAMA0CPU数据线的A2。如果需要访问地址偏移为01的单个字节,通过DQMLDQMH信号进行帮助。

3SDRAMburstmode:一种利用内部列地址发生器来工作的高速读写模式,只要设置最开始的列地址,后面的地址就可以通过内部的列地址发生器来自动生成。

4SDRAM的初始化:
SDRAM上电后使用前必须要经过一段初始化操作才可以使用。这个操作过程是标准的过程。这个过程如下:
a、 放电(precharge):关闭存储单元,使存储单元无效。
b、 自动刷新(auto-refresh
c、 加载模式寄存器(Load ModeRegister
d、 正常读写
在输入precharge命令后,因为必须是对所有BANK进行Precharge,所以A10这个管脚要设置成高,因此在Precharge后面要做一个读的操作,这个操作最主要的是在SDRAM的寻址空间里设置的地址必须是A10是高的。在输入Auto-refresh命令后,一般要跟几句空操作或者读什么之类的,反正要达到延迟的目的,以使得SDRAM有时间来完成refresh。之后就是要设置SDRAM的模式寄存器,这个寄存器里一般设置了burst长度,CASburst类型,操作模式,还有是设置SDRAM是工作在单个读写操作还是burst操作下。而这个寄存器的设置也是通过地址线来设置的,所以在发出LoadMode Register命令后要做一个操作可是使得在SDRAM的地址线上出线的值就是你要设置的值。这里很有必要提醒的一下的是,这个操作是8位的操作。设置完模式寄存器后就进入正常操作模式。


继承事业,薪火相传
返回列表