DDR3基础详解
近在IMX6平台下做DDR3的测试接口开发,以前在学习嵌入式时,用的是官方源码,没有做过多的研究。此时需要仔细研究DDR3的引脚与时序,此篇是我在学习DDR3做的归纳与其中有大部分内容是借鉴他人的博客,大部分博客的链接我已经贴出来了,如果存在版权或知识错误请直接联系我。
PS:本着知识共享的原则,此篇博客可以随意转载,请标明出处(大部分内容不是我写的,整理也挺累的 _ !)
优化分类中ing…
一、专有名词索引表优化分类中ing…
名称缩写名称含义名称描述RAS行地址选通脉冲RowAddressStrobeCAS列地址选通脉冲ColumnAddressStrobeRCD行选通到读写命令的延时(RASto CASDelay)决定了行寻址和读写命令的间隔CL读命令到数据真正输出的时延(CASlatency)内存读写操作前列地址控制器的潜伏时间BL突发长度(BurstLength)DLL延迟锁定回路tRAS行时间是存储区命令与发出预充电命令之间所花费的时钟周期数tRCD行地址到列地址的延迟(RAS-to-CASDelay)发出活动命令和读取写入命令之间花费的时钟周期数tRC行循环时间(RowCycle Time)同一个Bank之间命令的时间间隔 tRC=tRAS+tRPtRRD行单元到行单元的延时(Rowto RowDelay)不同Bank之间的命令时间间隔被称为tRRDtCPC首命令延迟(CommandPer Clock) 在P-Bank选择完之后多少时间可以发出具体的寻址的L-Bank/行命令
ACTIVE命令指定Bank和行,在READ和WRITE命令前PRECHARGE预充电读写完成后,对同一Bank中另一行操作前,需要关闭现在的工作行,才能打开新一行REFRESH刷新长时间没有对电容充电会导致数据丢失,定期刷新,对数据进行重写,保证数据不丢失
tRP行预充电时间发出预充电命令和活动命令之间花费的时钟周期数tRPA
所有BanK的预充电命令发出需要的时间tRAS内存行有效至预充电的短周期t(RASActiveTime)tRFC刷新时间间隔
DQS/TDQS数据选取脉冲用于数据同步tDQSCK
差分时钟的交叉点到数据选通脉冲的交叉点的时间tQSH
DQS的差分输出高电平时间tQSL
DQS的差分输出低电平时间tDQSQ
近数据选通脉冲到数据有效的时间tRPRE
DQS读操作前同步tRPST
DQS读操作后同步DQS SkewControlDQS时间差控制
tAL附加延时RAS后,可以立即CAS读命令。需要保持AL个周期,可以提高总线的效率tCCD读命令之间的时间间隔CAS#-to-CAS#命令之间的时延tRL读取延迟从列地址发出到数据端口上有效的数据输出延时RL = AL + CLtAC
表示命令被重新传输后通过S-AMP放大传输到/O脚的时间
tWL总的写潜伏(WriteLatency) tWL= tAL+ tCAS;tCWL /tWCL列写潜伏期(CASWriteLatency)内部写命令和个bit有效数据输入之间的时钟周期延时,tDQSS写入延迟写入数据与DQS相对于写入命令的延迟时间
tWR写恢复时间写数据和发出预充电命令之间所需时钟周期,写突发之后一定要跟随一个预充电命令WriteLeveling写入均衡(写调平)(WriteLeveling)调整DQS差分对和CK差分对的相对位置,利用DQS差分对路径上的可调整延时来达成该目的,调整DQS信号和CLK信号边沿对齐。tWPST写后同步周期
tWTR写到读命令的延时当写命令之后跟随读命令时的延时
tFAW
(Four Active Window)同一rank中允许发送大于四个行命令的间隔时间
tFAW ≥ 4*tRRD
tRTP
tDLLK
tMRD
模式寄存器的设置命令周期(两次操作的小时间)
10.0刷新
注意:无需外部提供刷新指令ASR自动自刷新
AR/CBR自动刷新AutoRefresh/CAS BeforeRASSR自刷新SelfRefreshPASR局部自刷新
tREF刷新周期(RefreshPeriod)内存模块的刷新周期tRFC两次刷新时间间隔(RowRefresh Cycle Time)
tQH
数据选通脉冲到早的无效数据无法正确判断数据是否为1的时间
tIS命令建立时间tis(totalsetup time)=tis(base)+∆tistIH命令保持时间tih(totalsetup time)=tih(base)+ ∆tih
tDS数据建立时间tDS(totalsetup time)=tDS(base)+∆tDStDH数据保持时间tDH(totalhold time)=tDH(base)+ ∆tDH
OCD离线驱动调整Off-ChipDriver通过OCD减少DQ-DQS的倾斜来提高信号完整性RTTODT的有效阻抗在DDR3标准中定义了两种RTT,即RTT_nom和RTT_wr,两者分别在MR1和MR2寄存器中设定RTT_nom
在写调平(writeleveling)模式下,仅RTT_nom可用。RTT_wr
在写模式下,可以使能RTT_wr来动态改变ODT而不需要重新设置MR寄存器。
参考电压:
VDDQDQ供电电压VDDQ是DQ的供电电压VTTRTT的参考电压VTT= VDDQ / 2;
注意:Delay(延迟)和Latency(潜伏)本质是不同的:
1.Delay:事情要在这个时间之后开始。
2.Latency:事情已经发生,还不够稳定需要一个稳定时间。