- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
SDRAM 设备操作
SDRAM 设备操作
1. 上电时序
SDRAM在上电时必须正确初始化,时序如下:
1. 加电和时钟开始,在输入端保持NOP状态;
2. 保持稳定的供电、时钟和NOP状态最少200us;
3. 对所有BANK执行预充命令;
4. 执行8个或更多个自动刷新命令;
5. 执行模式设置命令以初始化模式寄存器。
2. 模式寄存器设置
SDRAM有一个片上模式寄存器,用户可以对其进行编程,选择读/写DRAM期间的读延迟、突发长度和突发类型。在上电时序后,必须执行MRS命令以初始化设备。写数据到模式寄存器需要两个时钟周期,在MRS命令期间,其他命令无法执行。
3. 行有效
使用BANK激活命令可以激活SDRAM空闲BANK的任意行。在行有效最少tRCD时间延迟后突发读/写命令可以执行。激活另一BANK需要最少tRRD个延迟。已经处于激活状态的BANK不能再给予行有效命令,同样,当SDRAM正处于掉电、自刷新、自动刷新或时钟挂起状态时也不能给予行有效命令。
4. 读BANK
该命令用于对有效行的突发读。第一个有效数据出现在CAS#时钟延时后,CL只在读取时出现。
5. 写BANK
第一个有效数据可以与写命令和列地址同时输入,不受CAS#的影响。
6. 预充(PRECHARGE)
预充命令用于释放已打开的行货打开新的行。预充可以通过命令实现,也可以通过具有预充功能的读/写命令实现,即读/写操作后自动预充电。在发出预充命令后,要经过tRP个时钟发送行有效命令,如果超过这个延迟了,那么BANK会进入Idle状态。
执行读命令、写命令和预充命令时,A10决定预充模式。在执行预充命令时,如果A10为高电平,则对所有BANK执行预充,如果A10为低电平,则只对由BA1/BA0指定的存储体进行预充。在执行读/写命令时,如果A10为高电平,则读/写操作后进行自动预充,如果A10为低电平,则读/写后不进行预充操作。
7. 刷新(REFRESH)
SDR SDRAM需要每64ms对所有行刷新一次,以保持存储体中的数据。刷新方式分两种:自动刷新(Auto Refresh)和自刷新(Self Refresh)。自动刷新用于正常操作模式,在自动刷新时,其他命令无法操作。而自刷新主要用于低功耗状态下的数据保存。
Altera SDR SDRAM控制器
Altera公司提供了一个符合工业标准的SDR SDRAM简单控制接口,该控制器由VHDL实现。SDR SDRAM控制器系统框图如下图所示。
SDRAM总线命令:
命令 缩写 RAS# CAS# WE# 无操作 NOP H H H 激活 Active ACT L H H 读操作 Read RD H L H 写操作 Write WR H L L 突发终止 Burst Terminate BT H H L 预充电 Percharge PCH L H L 自动刷新 AutoRefresh ARF L L H 装入模式寄存器 Load Mode LMR L L L
SDRAM存储体在进行读/写操作前必须打开,行地址和体的打开使用命令ACT。当对某个存储体进行读/写操作时,如果行地址和当前行地址不同,则需要先关闭存储体,然后再打开它,关闭存储体使用命令PCH。
SDRAM 控制器命令接口
SDRAM控制器提供了一个和SDRAM之间的同步命令接口,以及几个命令寄存器。
命令 值 描述 NOP 000b 空操作 READA 001b 带自动预充SDRAM读操作 WRITEA 010b 带自动预充SDRAM写操作 REFRESH 011b SDRAM自动刷新 PERCHARGE 100b 对SDRAM所有存储体预充电 LOAD_MODE 101b SDRAM模式寄存器装入 LOAD_REG1 110b 装入控制器配置寄存器 LOAD_REG2 111b 装入控制器刷新周期寄存器
读命令(READA):该命令指示SDRAM控制器执行带有自动预充的突发读命令,读地址由ADDR决定,SDRAM控制器会先发一个ACTIVATEE命令,然后是READA命令。突发读的首个数据在SDRAM控制器发出CMDACK后出现在DATAOUT上(RCD+CL+2),读期间DM应保持为低。当控制器配置为满页操作时,READA执行为不带自动预充突发读命令。命令顺序:
◆ 发出READA、ADDR、DM;
◆ SDRAM控制器发出CMDACK响应命令,同时向SDRAM器件发出命令;
◆ 在CMDACK后的一个时钟周期,发出NOP命令;
◆ CMDACK表示第一个突发读数据出现在DATAOUT上,以后每个数据随时钟输出。
写命令(WRITEA):该命令指示SDRAM控制器执行带有自动预充的突发写命令,写地址由ADDR决定。控
文档评论(0)