找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1826|回复: 0

SDRM和DDR SDRAM的初始化操作(转)

[复制链接]

379

主题

518

回帖

3780

积分

管理员

积分
3780
发表于 2014-3-20 09:43:06 | 显示全部楼层 |阅读模式

高速电路PCB网,专注于嵌入式方案,信号完整性和电源完整性仿真分析,高速电路PCB设计,各种EDA工具(Cadence\Mentor\\AD\\CAM\ANSYS HFSS)交流学习。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
SDRAM的初始化
我看到有两种初始化方法,在等待时间和刷新次数上有所不同。可能是因为芯片的不同。
法一:
(1) 电源和时钟稳定;
(2) 至少等待100us以稳定内部电路,在此期间至少发出一次NOP操作;
(3) 用PRECHARGE命令对所有的Bank充电(A10设为高),使所有的Bank都处于IDLE状态;
(4) 执行两次AUTO REFRESH自动刷新操作;
(5 )设置工作模式寄存器并等待20ns,此时SDRAM初始化完毕并进人IDLE状态。
法二:
(1)上电后,保持200us稳定时间;
(2)对器件的所有Bank发预冲命令;
(3)发出八个自动刷新命令;
(4)发出模式设置命令来设置器件的工作模式。
两个命令之间要有几个空操作,使命令有时间执行完操作。具体间隔看芯片手册。

DDR SDRAM的初始化
(1)上电,时钟稳定后经过200μs延时,执行一次空操作(DESELECT或NOP命令)且CKE为高。
(2)对所以块进行预充电(PRECHARGE ALL命令)。
(3)设置扩展模式寄存器(LMR命令且BA1为低电平BA0为高电平)使能DLL(延时锁相环)。
(4)设置模式寄存器(LMR命令且BA1,BA0均为低电平)复位DLL。
(5)执行一次预充电命令(PRECHARGE ALL),所以的块进入空闲(idle)状态。
(6)再经过两个自刷新(Auto refresh)命令后再次设置模式寄存器设置操作模式
(7)延时200个周期,因为在设置模式寄存器复位DLL后必须经过200个周期才能够执行读操作。
其实是第三步设置扩展模式寄存器到DDR SDRAM开始工作输入的命令之间要延时200个周期。第七步再延时也可,多延时几个周期不会产生问题,别少延时了。


该帖已经同步到电子微博网 易阳的微博
www.yanfa.tech 站长 ,交流微信QQ 276556668
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /4 下一条

内容正在加载中,请稍候……

QQ|Archiver|手机版|小黑屋|TechAIRD(gaosupcb Inc.)

GMT+8, 2026-8-25 12:13 AM , Processed in 0.051140 second(s), 24 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表