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