xf2016的个人空间 https://blog.eetop.cn/1536195 [收藏] [复制] [分享] [RSS]

空间首页 动态 记录 日志 相册 主题 分享 留言板 个人资料

日志

DDR SDRAM中读写训练(training)的实现过程

已有 89 次阅读| 2025-6-18 10:06 |个人分类:SDRAM|系统分类:芯片设计| 读写training

在DDR(Double Data Rate)内存系统中,读写训练(Read/Write Training) 是初始化阶段的核心流程,用于动态校准信号时序和电压参数,补偿物理布线差异(如Fly-by拓扑导致的信号偏移),确保数据传输的稳定性和可靠性。以下是控制器(Controller)、PHY(物理接口层)和DRAM芯片在训练中的具体分工、操作流程及关键寄存器配置

一、训练流程总览

读写训练分为三个阶段,需严格按顺序执行:

  1. 训练前准备:启用MPR模式(重定向读写操作至多用途寄存器)

  2. 写训练:写入电平调整(Write Leveling) + 写入中心化(Write Centering)

  3. 读训练:读取中心化(Read Centering)

读写training.pnggraph TB

A[上电初始化] --> B[ZQ校准]

B --> C[VrefDQ校准]

C --> D[启用MPR模式]

D --> E[写训练]

E --> F[读训练]

 

 

 

二、控制器、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进入写电平模式
  2. 发送DQS脉冲序列

配置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. 发起连续读取命令
  2. 动态调整读取延迟(RL)

配置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寄存器校准,增加温度补偿频率

 

总结

读写训练的本质是通过控制器主导的边界扫描和参数寻优,解决信号传输中的时序与电压偏差

  1. 控制器:决策核心,负责模式寄存器配置(MR1/MR3/MR6)、训练流程调度及错误检测。

  2. PHY:执行层,承担动态延迟调整、眼图扫描及信号优化(预加重/均衡)。

  3. DRAM:被动响应者,提供MPR训练数据及采样反馈。

实际调试建议

  • 严格遵循JESD79-4规范流程,配合示波器眼图分析验证信号质量。

  • DDR5引入决策反馈均衡(DFE),训练更复杂,但核心逻辑仍是以误码率为导向的自适应优化

注:寄存器操作顺序不可颠倒(如先MR3[2]=1启用MPR,再MR1[7]=1进入写电平模式),否则易导致校准失效。

 



点赞

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 注册

  • 关注TA
  • 加好友
  • 联系TA
  • 5

    周排名
  • 0

    月排名
  • 0

    总排名
  • 0

    关注
  • 1

    粉丝
  • 0

    好友
  • 0

    获赞
  • 0

    评论
  • 10

    访问数
关闭

站长推荐 上一条 /2 下一条

小黑屋| 手机版| 关于我们| 联系我们| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2025-6-18 20:33 , Processed in 0.017764 second(s), 9 queries , Gzip On, MemCached On.

eetop公众号 创芯大讲堂 创芯人才网
返回顶部