Zynq-7000 SoC,DDR-DDR3在退出自刷新后过早启动DRAM时钟

描述

用户可以对DDR3控制器进行编程,以启用自刷新时钟停止模式。控制器正确地停止DRAM的时钟,但在重新启动时钟之前它不满足tCKSRE时间(大约5个时钟周期)。
要么不使用DDR3自刷新模式,要么让软件确保仅在没有DRAM活动时才执行自刷新的启用/禁用。

影响:
轻微,请参阅解决方法细节段落。
解决方法
不要启用自刷新时钟停止模式或手动控制时钟。
受影响的配置:
系统在DDR3模式下使用PS DDR控制器,具有自刷新功能。
受影响的器件版本: 请参阅(Xilinx答复47916) - Zynq-7000设计咨询主答复记录

当DDR3操作使能自刷新时钟停止模式时,控制器正确停止DRAM的时钟;但是,在重新启动时钟之前,它不满足tCKSRE时间(大约5个时钟周期)。 DDR3时钟可以在所需的延迟时间之前过早重启。
解决方法详细信息:如果需要动态禁用DDR3时钟以降低功耗,系统需要知道DDR3总线何时空闲,并在自刷新时手动设置时钟停止功能上。以下是涉及的步骤:
  • 在Controller中启用自刷新。
  • 检查DDR总线是否空闲。实现此目的的一种方法是监视DDRC操作模式寄存器是否为2'b11,表示自刷新模式。
  • 通过寄存器0x08在DDRC中设置时钟停止功能。
  • 当系统检测到DDRC的流程将恢复时,它可以重置时钟停止功能。
  • 当数据传输到DDRC恢复时,控制器自动使DRAM脱离自刷新。
编辑 重设标签(回车键确认) 标为违禁 关闭 合并 删除

提问于 2018-07-31 14:52:31 +0800

这个帖子被标记为一个社区wiki

这个帖子是一个wiki(维基). 任何一个积分 >500的人都可以完善它