DDR2学习笔记(1)

6 篇文章 2 订阅

这是我学习的芯片MT47H16M16BG-5E:配置如下:

Configuration  16 Meg x 16 (4 Meg x 16 x 4) 16M16

FBGA Package Lead-Free   84-ball FBGA (8mm x 14)mm  BG

Timing – Cycle Time    5.0ns @ CL = 3 (DDR2-400) -5E

 

  DDR2功能模块如下图所示:  

DDR2学习总结(1)                                                                            

各管脚的功能介绍如下:(I-Input O-Output)

 ODT(内建核心终结电阻器):I 高电平有效在16M16中,当ODT有效时,作用在DQ0-DQ15,LDM,UDM,LDQS,LDQS#,UDQS,UDQS#管脚上。

 CK,CK#(时钟):I 差分时钟输入所有的地址和控制的输入信号必须经过CK的上升沿和CK#下降沿的采样,输出信号也要能被CK和CK#采样。

 CKE (时钟使能): I 高电平有效高电平的时候激活时钟信号,当其为低电平的时候,可以是PRECHARGE POWER-DOWN、SELF REFRESH、ACTIVE POWER-DOWN模式。

 CS#(片选):I 低电平有效  为低电平的时候表示选中该芯片。

 RAS#,CAS#,WE#(使能):和CS#一起定义输入的命令。

 BA1,BA0(bank地址):I 在ACTIVE、READ、WRITE、PRECHARGE命令下用来定义哪一块bank被选中。在LOAD MDOE命令下用来定义那一种模式被选中。

 A0-A12(地址):I 在ACTIVE命令下提供行地址,在READ、WRITE命令下提供列地址,且A10被用来定义是否开启auto precharge。在PRECHARGE命令下A10决定PRECHARGE命令是应用在某一个bank还是所有的bank。

 DQ0-DQ15(数据) :I/O 双向的数据总线

 UDQS,UDQS#(高字节数据选通): I/O 伴随读数据的时候是输出,伴随写数据是输入,都是跟数据源同步的操作。读数据的时候边沿匹配,写数据的时候中心匹配。在差分数据选通时才会用到UDQS#。

LDQS,LDQS#(低字节数据选通) :I/O 伴随读数据的时候是输出,伴随写数据是输入,都是跟数据源同步的操作。读数据的时候边沿匹配,写数据的时候中心匹配。在差分数据选通时才会用到LDQS#。

LDM,UDM(输入数据屏蔽):I 高电平有效 对写信号输入屏蔽信号。当该信号有效的时,输入信号被屏蔽。

 

DDR2的初始化过程,时序图如下:

 DDR2学习总结(1)

a,满足一定的条件驱动时钟

b,至少经过200ns稳定的时钟之后,执行NOP或DESELECT指令使CKE拉高电平

c,等待至少400ns,执行PRECHARGE ALL指令

d,执行LOAD MODE指令在EMR(2)模式下(此时BA1=H、BA0=L)

e,执行LOAD MODE指令在EMR(3)模式下(此时BA1=H、BA0=H)

f,执行LOAD MODE指令在EMR模式下使DLL有效(此时BA1=L、BA0=H、E7=E8=E9=0)

g,执行LOAD MODE指令使DLL复位,此时,锁定DLL200个时钟周期(此时BA1=L、BA0=L、A8=H)

h,执行PRECHARGE ALL指令

i,执行至少两次REFRESH指令

j,执行LOAD MODE指令拉低A8的电平初始化芯片

k,执行LOAD MODE指令在EMR模式下使OCD有效(此时BA1=L、BA0=H、E7=E8=E9=1)

l,执行LOAD MODE指令在EMR模式下使OCD无效(此时BA1=L、BA0=H、E7=E8=E9=0)

m,在DLL复位了200个时钟周期之后,DDR2 SDRAM初始化完成了

1.       LM模式下工作模式的选择

在LOAD MODE模式下,包含四种工作模式,分别是MR、EMR、EMR2、EMR3,选择对应关系如下所示:

BA1    BA0     工作模式          

      0        MR

      1        EMR

      0        EMR2

      1        EMR3

(1)MR 寄存器模式

LOAD MODE指令只能在所有的bank在precharge状态下才能够执行。控制器在初始化所有的后续的操作之前必须等待定时限。MR模式下定义的内容包括触发长度(BL)的选择,触发类型,CAS延时(CL),操作模式,DLL复位,写恢复,和关电模式。具体定义如下图所示:

DDR2学习总结(1)
a,触发长度(BL):DDR2 SDRAM的触发长度为4-bit或8-bit。由M0,M1,M2三位控制。在给出一个READ或WRITE指令时,触发长度决定本地列数据的存取的最大值。当执行READ或WRITE指令时,一个列块等价于有效选择的触发长度。

b,触发类型(Burst Type):触发类型包括连续型和交织型。DDR2 SDRAM仅支持4-bit和8-bit的BL模式,由M3控制。在8-bit的触发模式下,DDR2 SDRAM支持地址交织。下图所示的是在不同触发类型和触发长度的条

件下,数据存取的顺序:

DDR2学习总结(1)

c,操作模式:包括普通和测试两种模式,由M7控制。一般我们只用到普通模式,M7=0。

d,DLL复位:由M8控制。M8=1时激活DLL复位函数。当DLL复位函数被执行之后,M8自动清0。在任何时候执行DLL复位函数,必须等待200个时钟周期才能继续进行READ操作。这200个时钟周期是用来使内部时钟和外部时钟保持同步。

e,写恢复(WR):由M9,M10,M11控制。WR寄存器是DDR2 SDRAM用在WRITE /w AUTO PRECHARGE

操作模式的时候。

f,关电模式(PD):由M12控制。这里的控制的关电模式是Active PD。决定用户是否保存数据。

g,CAS 延时(CL):由M4,M5,M6控制。CL指的是纵向地址脉冲的反应时间。目前DDR2 SDRAM支持可以选择3或4个时钟周期,2或5定义将来的可能需要。DDR2 SDRAM不支持半个时钟周期的反应

时间。DDR2 SDRAM同样定义了Posted CAS additive latency(AL),称作附加延时。

(2)EMR 扩展模式寄存器

EMR 扩展模式寄存器只能在所有的bank在初始状态下并且进程里没有任何触发下装载。控制器在初始化所有的后续的操作之前必须等待定时限。

EMR模式下定义的内容包括DLL有效/无效、输出的驱动长度、ODT、AL、OCD,DQS有效/无效、RDQS/RDQS#有效/无效、输出有效/无效。具体定义如下图所示:

DDR2学习总结(1)

3EMR2,EMR3模式保留作未来的使用

  • 2
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值