jesd209 lpddr sdram(2)

LPDR1初始化流程

1. 提供电源,LPDR1的CORE电源(VDD)和I/O电源(VDDQ)必须同时上升,以防止其出现闩锁的情况。虽然不是必需的,但最好还是使用同一电源给VDD和VDDQ。此外,将时钟使能(CKE)拉高并保持到LV-CMOS逻辑高电平;

2. 一旦电源供电后,而且CKE信号被拉高,LPDR1就可以使用稳定的时钟信号工作了

3. host向DRAM发出任何命令之前,LPDR1必须至少保持200us的有效时钟时间。在此期间,host在命令总线上发出NOP或DESELECT命令

4. host发出PRECHARGE ALL命令对LPDR1的所有bank进行预充电

5. 预充电的过程中host需要在tRP内发送NOP或DESELECT命令

6. 当host发出 AUTO REFRESH 命令后,紧随其后的是NOPs 或 DESELECT 命令,至少保持 tRFC 时间。发出第二个AUTO REFRESH 命令,紧随其后的NOPs 或 DESELECT 命令也至少持续 tRFC 时间。注意作为初始化序列的一部分,必须发出两个自动刷新命令。典型的流程是在步骤 6 发出这两个自刷新命令,不过也可以在步骤 10和 步骤11之间发出这两个自刷新命令

7. 使用 MRS 命令,通过设置基本模式寄存器的值来设置我们期望的操作模式。

8. 接着需要在tMRD时间内发送NOP命令或DESELECT命令

9. 使用MRS命令,即对编程扩展模式寄存器写值来设置所需的操作模式。请注意,基本和扩展模式寄存器编程的顺序在此过程中不重要。

10. 接着在保持tMRD时间内发送NOP命令或DESELCT命令。

11. LPDDR SDRAM此时已正确初始化完成,接着就准备接受任何有效命令。

3.1.0.1 TQ信号初始化

在LPDR1初始化期间,第一个MRS命令后的tTQ时间内,TQ信号输出是无效的。在tTQ时间之后,当LPDR1的die温度大于或等于85'C时,TQ信号将拉高,当LPDR1温度小于85'C时,TQ信号被拉低。

3.2寄存器定义

3.2.1模式寄存器

模式寄存器用于定义LPDR1的特定操作模式,包括定义突发长度、突发类型和CAS延迟,如图6所示。

模式寄存器需要通过 MODE REGISTER SET (MRS)命令(即设置BA0 = 0,BA1 = 0)进行编程,并在重新编程、LPDR1进入深度休眠模式或下电之前保留存储的参数值。

模式寄存器A0-A2为设定需要的数据突发长度,A3指定突发类型(连续或交错),A4-A6指定CAS延迟参数。其余未定义地址位写0,以确保以后的兼容性。

模式寄存器必须在所有bank空闲且没有正在进行的数据突发操作时启用,host必须在启动任何后续操作之前等待指定的时间tMRD。和这些要求中的任何一个不符合的操作都将导致LPDR1出现未指定的操作。

Reserved(不能使用预报留的设置位),原因是未知操作或与未来版本定义的状态不兼容可能会导致功能异常

注:1. MSB(即most significant bit)取决于LPDDR SDRAM的具体容量。

注:2. 所有未使用的/未定义的地址位应编程为逻辑0,以确保未来的兼容性。

3.2.1.1 突发长度

对LPDR1的读写访问操作是突发式的,即连续多个bit传输,突发长度如表6所示,突发顺序如表4所示。

规定的突发长度决定了给定的READ或WRITE命令可以访问的最大列位置数。突发长度可以为2、4或8个bit,突发类型包括顺序突发和交错突发类型。一些供应商也选择性实现16个数据的突发长度。

注:

1. 16字的突发长度是可选的。

2. 对于突发长度为2,A1-An选择两个数据元素块;A0选择块内的第一个访问。

3. 对于突发长度为4时,A2-An选择四个数据元素块;A0-A1选择块内的第一个访问。

4. 对于突发长度为8时,A3-An选择8个数据元素块;A0-A2选择块内的第一个访问。

5. 对于突发长度为16时,A4-An选择十六个数据元素块;A0-A3选择块内的第一个访问。

6. 在给定的序列中,每当到达块的边界时,以下访问都会在块内进行。 当发出READ或WRITE命令时,等于突发长度的列的块将被有效选择。 所有突发的访问都将发生在块内,这意味着如果到达边界,则突发将在块内进行。

当突发长度设置为2时,该块由A1-An唯一选择,当突发长度设置为4时,该块由A2-An唯一选择,当突发长度设置为8时,该块由A3-An唯一选择,当突发长度设置为16时,该块由A4-An唯一选择(其中An是给定配置的最重要的列地址位)。剩余的(最不重要的)地址位用于选择块内的起始位置。编程的突发长度适用于读和写突发两种方式。

3.2.1.2 Burst Type 突发类型

在给定的突发操作中,可以分别设置为顺序操作或交错操作;这被称为突发类型,可通过位A3进行选择。

突发访问的顺序由突发长度、突发类型和起始列地址决定,如表4所示。

3.2.1.3 Read Latency 读操作延迟

READ 延迟或 CAS 延迟是 host发出READ命令后和第一个bit输出时之间的延迟。(为啥要设置这个延迟呢? 是因为数据从bank 输出经过IO gating 以及内部走线到接收器接收数据需要一定的时间,一般为3个时钟周期)

一般延迟设置为 3 个时钟。一些供应商可能提供额外的选项,即如2 个时钟和/或 4 个时钟。

如果一个READ发出后在时钟上升沿有效,且延迟为3个时钟,则第一个bit将在n+2tCK+tAC后输出。如果一个READ命令在第n个时钟的上升沿有效时,且延迟为2个时钟,则第一个bit将在n+tCK+tAC后有效。最后,如果一个READ命令在第n个时钟的上升沿有效时,且延迟为4个时钟,则第一个数据元素将在n+3tCK+tAC后有效。

3.2.2 扩展模式寄存器

扩展模式寄存器是控制模式寄存器之外的功能;其他额外的功能包括输出驱动强度选择、温度补偿自刷新(TCSR)和局部阵列自刷新(PASR),如图7所示。TCSR和PASR功能是可选的,一些供应商可能选择不实现它们。TCSR和PASR功能只能在自刷新模式下有效。

扩展模式寄存器通过 MODE REGISTER SET(MRS) 命令(即设置BA1=1,BA0=0)进行编程,并保留存储的信息,直到重新编程、设备进入深度休眠模式或关闭电源等操作出现。

当所有bank空闲且没有正在进行的突发操作时,必须加载扩展模式寄存器,控制器必须在启动任何后续操作之前等待指定的时间tMRD。违反这些要求中的其中一个都将导致LPDR1出现未指定的操作。

地址位A0-A2用来指定PASR,A3-A4用来指定TCSR,A5-A6指定IO口的驱动强度。同时应该将所有未定义的地址位设置为0,以确保以后的兼容性。

注意,不能使用保留状态,这会让LPDR1出现未知操作或与未来版本的不兼容的情况。

1. MSB(即most significant bit)取决于LPDDR SDRAM具体的容量。

2. 所有未使用的/未定义的地址位应该被设置为0,从而确保未来的兼容性。

3. TCSR功能是可选的;为TCSR功能指定的温度是上图中的温度。

4. PASR功能是可选的。

5. 对于速度为 LPDDR333 及以下的速度等级是可选择使用四分之三的驱动强度

3.2.2.1 部分阵列自刷新(可选)

局部阵列自刷新功能(PASR)可选择性使用。使用PASR后,就可以设置总阵列的局部自刷新。可以选择对整个阵列(默认)、1/2阵列或1/4阵列进行自刷新。一些供应商可能还有额外的1/8和1/16阵列自刷新选项。其余为自刷新区域的数据将会丢失。地址位A0到A2用来设置PASR。

3.2.2.2 温度补偿自刷新(可选)

温度补偿自刷新(TCSR)是一个选择性使用的功能。此功能可用于让LPDR1根据die温度设置不同的刷新率,实现了系统根据温度控制功率的功能。地址位A3和A4用来设置TCSR。

一些供应商可能会选择定义具有内部温度补偿自刷新功能,该功能原理时LPDR1根据温度自动调整刷新率,而无需进行任何寄存器更新。为了保持向后兼容性,具有内部TCSR的LPDR1在EMRS编程期间将忽略(不关心)地址位A3和A4的输入

3.2.2.3 Output Drive Strength 输出驱动强度

通过地址位A5、A6和A7将驱动强度设置为全强度、半强度或四分之三强度。全驱动强度、半驱动强度和四分之三驱动强度的I-V曲线包含在本文件中(参见表17和表18、图45、图46和图47)。

3.2.3 状态寄存器读取(可选)

状态寄存器读(SRR)是一个可选功能。SRR定义了一种从SDRAM中读取寄存器的方法。SRR命令的编码与BA【1:0】为“01”的MRS命令的编码相同。地址引脚(A[n:0])编码了要读取的寄存器。目前,仅在A[n:0] = 0处定义了一个寄存器。请参见图1中此寄存器的定义。执行SRR命令的顺序如下:

• 所有读取/写入必须完成

• 所有bank必须关闭

• 发出BA = 01的MRS命令(SRR)

• 等待tSRR时间

• 向任何bank/page发出读取命令

• CAS延迟周期后,SDRAM返回寄存器数据,就像它是一个正常的读取一样。

• 在发出读取命令后,可以向SDRAM发出下一个命令tSRC(请参见图8)。SRR读取的突发长度始终固定为2。

注5:所需平均周期刷新间隔=tREFI*multiplier。

状态寄存器读取时序图(SRR)

3.2.4 温度输出信号(可选)

LPDR1中包括一个可选的温度输出信号(TQ)。该信号是一个异步LVCMOS电平输出,当LPDR1温度大于或等于85'C时会输出高电平,当LPDR1温度小于85'C时输出低电平。该信号没有高阻抗状态输出定义。

TQ输出信号即使在时钟停止、关机和自刷新模式下也能生效。该信号在初始化期间(请参阅第10页上的“初始化”)无效,并在第一个MRS命令后的tTQ时间之后变得有效。当TQ输出为逻辑高时,tREF定义指定为16ms。此外,AC参数应降低20%,而DC参数不定。

4 命令

所有命令(地址和控制信号)都在时钟的上升沿生效(即CK_p上升沿和CK_n下降沿交叉的位置)。图10显示了所有命令的基本定时参数。

表5、表6和表7提供了可用命令的快速参考。

表8和表9提供了LPDR1的当前状态/下一状态。接下来是对每个命令的口头描述

以下是对上表的进一步说明:

1. 所有未显示的状态和序列都是非法或保留用于以后使用的。

2. DESELECT和NOP在功能上可以互换。

3. 自动预充电功能不是一直持续的。命令线A10拉高则启动自动预充电功能,A10拉低则禁用自动预充电功能

4. 突发终止仅适用于已禁用自动预充电的读取突发操作。此命令未定义,不应用到已启用自动预充电的读取突发和写入突发的场景

5. 如果CKE为高,BURST TERMINATE生效,如果CKE为低,则为进入了深度掉电的情况(比如直接下电)。

6. 如果A10为低电平,则选择预充电的bank为其进行预充电。如果A10为高电平,则所有bank都要预充电,而BA0-BA1均无关。

7. 如果CKE为高电平,自动刷新生效,如果CKE为低电平,内部刷新生效。

8. LPDR1不关注所有地址输入和I/O的状态,当然除CKE信号之外。内部刷新时,内部刷新计数器控制bank和行寻址。

9. 在AUTO-REFRESH或SELF REFRESH命令生效前,所有bank都必须进行预充电。

10.通过MRS和EMRS设置BA0和BA1具体的状态

11.除SELF REFRESH和DEEP POWER-DOWN两种状态之外,其他状态CKE均处于高电平。

1. DM低电平时,DQ正常传输数据,DM为高电平时,用于屏蔽部分写入的数据,使其与host提供要写入的数据保持一致。

表8-真值表-当前状态bank n-以及命令命令下发到bankn的状态【注释为1-13】

1. 该表适用于n-1时钟和n时钟时的CKE均为高电平,并且在满足 tXSR 或 tXP 后,如果之前的状态为 Self Refresh 或Power Down的场景

2. DESELECT和NOP在功能上可以互换。

3. 所有未显示的状态和序列都是非法或保留用于以后的情况。

4. precharge这个命令可能是bank特定的,也可能不是bank特定的。如果所有bank都被预充电,它们必须处于预充电的有效状态。

5. 在启用自动预充电的READ或WRITE突发操作时,不应向同一bank发出除NOP之外的命令。

6. 新的读取或写入命令可以启用自动预充电或禁用自动预充电功能。

7. 当前状态定义:

IDLE:空闲:bank已被预充电,且 tRP时间已满足。

行激活:bank中的一行已被激活,且 tRCD 已满足。没有数据突发/访问和寄存器访问正在进行。

读:已启动 READ 突发,自动预充电已禁用,尚未终止或已终止。

写:已启动 WRITE 突发,自动预充电已禁用,尚未终止或已终止。

8. 发送到同一bank的下列状态命令将被打断。 DESELECT 或 NOP 命令或允许发送到另一bank的命令应在这些状态期间发生的任何时钟沿上发出。允许发送到另一bank的命令由其当前状态和表 8 确定,并参考表 9。

预充电:从注册PRECHARGE命令开始,直到满足tRP为止。一旦满足tRP,bank将处于空闲状态。

行激活:从注册ACTIVE命令开始,直到满足tRCD为止。一旦满足tRCD,bank将处于“行激活”状态。

带自动预充电的读:从注册带有自动预充电的READ命令开始,直到满足tRP为止。一旦满足tRP,bank将处于空闲状态。

带自动预充电的写:从注册带有自动预充电的WRITE命令开始,直到满足tRP为止。一旦满足tRP,bank将处于空闲状态。

9.以下状态不得被任何可执行命令中断;在这些状态期间,必须发出DESELECT或NOP命令应用于每个正时钟沿

刷新:从AUTO REFRESH 命令发出开始,到满足 tRFC 条件为止。一旦满足 tRFC 条件,LPDR1将处于“所有bank空闲”状态。

访问模式寄存器:从MODE REGISTER SET 命令发出开始,到满足tMRD 条件为止。一旦满足 tMRD 条件,LPDR1将处于“所有bank空闲”状态。

全部bank预充电:从PRECHARGE ALL 命令开始,到满足 tRP 条件为止。一旦满足 tRP 条件,bank将处于空闲状态。

10.不针对bank;要求所有bank都处于空闲状态,并且没有突发数据操作

11.不针对bank。BURST TERMINATE影响最近的读取突发,和bank 不相关

12.进行适当的DM掩蔽操作

13.可以在READ突发操作完成之后发送WRITE命令;否则,在发出WRITE命令之前,必须使用BURST TERMINATE命令来结束此时的数据读取操作

1. 该表适用于CKEn-1 和 CKEn 均为高电平,并且在满足 tXSR 或 tXP 后,之前的状态为 Self Refresh 或Power Down的场景

2. DESELECT和NOP在功能上可以互换

3. 所有未显示的状态和序列都是非法或保留为后续所用。

4. 当前状态定义:

空闲:bank已被预充电,且 tRP 已满足。

行活动:bank中的一行已被激活,且 tRCD 已满足。没有数据突发/访问和寄存器访问正在进行。

读取:已启动读取突发,自动预充电已禁用,尚未终止或已终止。

写入:已启动写入突发,自动预充电已禁用,尚未终止或已终止

5. 带自动预充电的读取操作和带自动预充电的写入操作:启用自动预充电读取或启用自动预充写入状态可以分为两部分:访问周期和预充电周期。

对于带自动预充电的读取,预充电周期被定义为在禁用自动预充电的情况下执行相同的突发,然后跟随最早可能的预充电命令,该命令仍然读取突发中的数据。(即从预充电命令发出到数据被读取的时间点)

对于带自动预充电的写入操作,在自动预充电功能被禁止的情况下,等待tWR时间后开始进行预充电操作。预充电操作命令发出开始,并在预充电时段(或tRP)开始的地方结束。

在AP使能的读取或AP使能状态的写入的预充电时段期间,可以向另一个bank发出ACTIVE、precharge、Read和Write命令;在读写操作期间,只能向其它bank发出ACTIVE和PRECHARGE命令。该限制适用于任何一种情况下(原因是必须避免READ数据和WRITE数据之间的争用)。

5 操作

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

南风轻拂_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值