3、DDR初始化与训练流程:上电时序、复位与时钟初始化、ZQ校准、读写训练
各位好,我是老周。今天咱们聊聊DDR初始化这个事儿。说实话,这玩意儿刚接触时真让人头大,但搞懂了也就那么回事。DDR颗粒上电后,可不是直接就能读写的,它得经历一套严格的初始化流程。我习惯把这套流程分成四大步:上电与复位、时钟与初始化、ZQ校准、读写训练。每一步都马虎不得。
3.1 上电时序与复位
DDR对电源的上电顺序有严格要求。说白了,就是哪个电压先来,哪个后到,时间差多少,都有讲究。我见过不少板子,就是因为电源时序没搞好,DDR死活初始化不过去。
标准的DDR4上电时序是这样的:
- VDDQ(1.2V)先上电——这是IO供电
- VDD(1.2V)随后跟上——核心供电
- VPP(2.5V)最后到位——字线升压供电
三个电压之间的延迟,一般要求不超过200ms。嗯,这里要注意:VDD和VDDQ最好同步上升,谁也别比谁慢太多。
复位信号(RESET_n)必须在所有电源稳定后,再保持至少200μs的低电平,然后拉高。拉高后,还得再等500μs,才能开始CKE(时钟使能)的初始化操作。你想想看,这时间窗口卡得死死的,一点都不能含糊。
3.2 时钟初始化与CKE时序
复位完成后,时钟就要开始工作了。DDR控制器会先输出稳定的差分时钟(CK_t/CK_c),频率一般从低频开始,逐步切换到目标频率。我个人习惯在初始化阶段先用低频(比如400MHz),等训练完成后再切到高频。
CKE(Clock Enable)的时序很关键。它必须满足以下条件:
- CKE拉高前,时钟必须稳定至少10个周期
- CKE拉高后,需要等待tXPR(最长5个时钟周期),才能发送MRS命令
- CKE一旦拉高,就不能再随意拉低,否则DDR会进入自刷新模式
3.3 ZQ校准
ZQ校准,说白了就是让DDR知道自己输出驱动器的阻抗是多少。DDR颗粒会通过ZQ引脚外接一个240Ω的精密电阻(1%精度),内部通过比较器来校准输出驱动器的阻抗。
校准分为两种:
| 校准类型 | 触发方式 | 耗时 | 说明 |
|---|---|---|---|
| ZQCL(长校准) | 上电初始化时 | 512个时钟周期 | 全范围校准,精度最高 |
| ZQCS(短校准) | 运行中定期触发 | 64个时钟周期 | 快速校准,补偿温漂 |
我建议在初始化阶段做一次ZQCL,然后每隔几毫秒做一次ZQCS。为什么?因为温度变化会影响阻抗,不做定期校准的话,信号质量会慢慢变差。我在一个高速项目中就吃过这个亏——刚开始跑得好好的,跑半小时后眼图就闭合了,最后发现是ZQCS没开。
3.4 读写训练
读写训练是初始化中最复杂的一步。说白了,就是让控制器和DDR颗粒之间找到最佳的时序对齐点。主要包括两个部分:Write Leveling和Read Training。
3.4.1 Write Leveling(写均衡)
Write Leveling的目的是调整DQS(数据选通信号)相对于CK(时钟)的相位关系。为什么需要这个?因为DDR4的时钟是飞越拓扑(Fly-by topology),每个颗粒的时钟到达时间都不一样。如果不做校准,DQS和CK的边沿可能对不齐。
校准过程是这样的:
- 控制器发送连续的DQS脉冲
- DDR颗粒在CK的上升沿采样DQS
- 控制器根据采样结果,调整DQS的延迟
- 直到DQS的上升沿正好落在CK的高电平中间
我记得第一次调Write Leveling时,发现DQS延迟值怎么调都不对。后来用示波器一看,原来是PCB走线阻抗不连续,导致信号反射。嗯,从那以后,我每次做DDR设计都会先检查走线阻抗。
3.4.2 Read Training(读训练)
Read Training比Write Leveling更复杂。它要调整的是读数据时,控制器采样DQS和DQ的时序。DDR4支持两种读训练模式:
- MPC(Multi-Purpose Command)模式:控制器发送读命令,DDR返回固定的训练数据
- RDQS模式:使用专用的读DQS信号,提高读时序的精度
训练的核心思路是:控制器不断调整DQS的延迟,找到数据有效的窗口(Data Eye)。我习惯用二分法来搜索,先大步长粗调,再小步长细调。这样效率最高,一般几十次迭代就能找到最佳点。
3.5 初始化流程总结
整个初始化流程,我习惯用下面这张图来理解。它把各个步骤的先后关系和依赖关系都串起来了:
这张图把整个流程串起来了。你想想看,从电源上电到最终能正常读写,中间要经过这么多步骤。任何一个环节出问题,DDR都跑不起来。我建议大家在调试时,按照这个流程一步一步排查,别跳步。
好了,关于DDR初始化与训练流程,今天就聊到这儿。这套流程虽然繁琐,但只要你理解了每个步骤的目的和时序要求,调试起来就不难。记住:电源时序是基础,时钟稳定是前提,ZQ校准保质量,读写训练定成败。
公众号:蓝海资料掘金营,微信deep3321