| |||
在DDR(Double Data Rate)内存系统中,读写训练(Read/Write Training) 是初始化阶段的核心流程,用于动态校准信号时序和电压参数,补偿物理布线差异(如Fly-by拓扑导致的信号偏移),确保数据传输的稳定性和可靠性。以下是控制器(Controller)、PHY(物理接口层)和DRAM芯片在训练中的具体分工、操作流程及关键寄存器配置:
一、训练流程总览
读写训练分为三个阶段,需严格按顺序执行:
训练前准备:启用MPR模式(重定向读写操作至多用途寄存器)
写训练:写入电平调整(Write Leveling) + 写入中心化(Write Centering)
读训练:读取中心化(Read Centering)
二、控制器、PHY与DRAM的分工与操作
1. 训练前准备:启用MPR模式
目的:将读写操作重定向至DRAM内部的MPR寄存器,避免干扰实际存储单元。
关键寄存器操作:
控制器:发送MRS命令配置模式寄存器:
MR3[2] = 1:激活MPR访问模式。
向MPR写入预设训练模式(如0xAA55)。
PHY:将读写命令重定向至MPR地址空间。
DRAM:切换内部逻辑,后续读写指向MPR寄存器。
2. 写训练(Write Training)
(1) 写入电平调整(Write Leveling)
问题:Fly-by布线导致DQS与CK信号延迟不一致,违反时序tDQSS。
分工与操作:
角色 | 操作 | 寄存器操作 |
控制器 | 1. 设置MR1[7]=1进入写电平模式 | 配置MR1寄存器 |
PHY | 动态调整DQS延迟(步进精度10~20ps),检测CK的0→1跳变点 | 控制DQS_DLY寄存器存储延迟值 |
DRAM | 用DQS采样CK状态,通过DQ返回采样值(0或1) | 无主动操作 |
(2) 写入中心化(Write Centering)
目的:优化DQ与DQS相位对齐,使数据写入落在“眼图中心”。
分工与操作:
角色 | 操作 | 寄存器操作 |
控制器 | 1. 在MPR模式写入训练模式 2. 通过地址总线A7-A0把数据写入SDRAM的MPR 3. 读取MPR数据并对比写入值 | 控制DQ_DLY寄存器调整延迟 |
PHY | 扫描DQ延迟边界(±1~2时钟周期),计算最佳写入相位 | 执行WRITE-READ-COMPARE循环,统计误码率 |
DRAM | 接收写入数据并保存至MPR,返回读取结果 | 被动响应读写命令 |
3. 读训练(Read Centering)
目的:优化控制器采样点,对准读取眼图中心。
分工与操作:
角色 | 操作 | 寄存器操作 |
控制器 | 1. 发起连续读取命令 | 配置RL_DLY寄存器 |
PHY | 扫描眼图边界:左边界(增大延迟至出错)→右边界(减小延迟至出错)→计算中心点 | 控制多相位时钟生成器(PLL) |
DRAM | 返回MPR中存储的训练模式数据(如0xAA55) | 无主动操作 |
三、关键技术细节与寄存器配置
1. 校准依赖项
ZQ校准:
控制器:发送ZQCL命令,连接外部240Ω精密电阻。
DRAM:校准DQ引脚驱动强度与端接电阻(通过ZQ引脚)。
VrefDQ校准:
控制器:通过MR6寄存器步进调整VrefDQ电压(±5mV),选择误码率最低值。
DRAM:提供电压比较电路,辅助电平判别。
2. 动态时序调整
控制器:通过寄存器存储独立通道延迟值:
WL_DLY:写电平调整延迟
RD_DLY:读延迟
温度补偿:
PHY:周期性重训练(如每10ms),根据温度传感器数据调整时序。
3. 信号完整性优化
PHY:启用预加重(Pre-emphasis)和均衡(Equalization),对抗高频信号衰减。
控制器:配置ODT电阻值(如MR1[2:1]控制RTT_NOM=40Ω)。
四、常见问题与解决方案
问题 | 原因 | 解决方案 |
训练失败 | 信号反射(ODT配置不当) | 检查PCB布线等长(DQ/DQS长度差≤50mil),调整MR1[2:1]设置ODT |
高频信号衰减 | 传输线损耗(>3200MHz) | 启用PHY预加重和均衡技术 |
数据采样不稳定 | VrefDQ电压漂移 | 重新执行MR6寄存器校准,增加温度补偿频率 |
总结
读写训练的本质是通过控制器主导的边界扫描和参数寻优,解决信号传输中的时序与电压偏差:
控制器:决策核心,负责模式寄存器配置(MR1/MR3/MR6)、训练流程调度及错误检测。
PHY:执行层,承担动态延迟调整、眼图扫描及信号优化(预加重/均衡)。
DRAM:被动响应者,提供MPR训练数据及采样反馈。
实际调试建议:
严格遵循JESD79-4规范流程,配合示波器眼图分析验证信号质量。
DDR5引入决策反馈均衡(DFE),训练更复杂,但核心逻辑仍是以误码率为导向的自适应优化。
注:寄存器操作顺序不可颠倒(如先MR3[2]=1启用MPR,再MR1[7]=1进入写电平模式),否则易导致校准失效。