动态时钟停止重启太快,可通过编程LPDDR2控制器解决


动态时钟停止重启太快,可通过编程LPDDR2控制器解决

时间:2025-03-13  作者:Diven  阅读:0

描述

在没有内存事务处理执行以及如果接收到内存请求重启时钟时,用户可通过编程 LPDDR2 控制器来停止 DRAM 时钟。

当事务处理队列为空时,该控制器会适当停止时钟,但在时钟重启时,控制器会迅速发布 DRAM 事务处理。它无法识别 tXP 时序参数值。

要么不使用 LPDDR2 时钟停止特性,要么提供软件确保只有在没有 DRAM 活动时才完成时钟停止的启用/禁用。

解决方案

当为 LPDDR2 启用 clock_phy_stop 时,如果事务处理队列为空,控制器就会适当停止 DRAM 的时钟。在重新启动时钟之前,应该等待 tXP 加上两个时钟周期(大约五个时钟周期),但情况并非如此。

如果事务处理队列在所需延迟周期之前得到一个新事务处理,那 LPDDR2 时钟重启的速度可能就会过快。

解决方法详细信息:如果需要时钟停止特性,软件必须通过断言 reg_ddrc_clock_stop_en 位来停止时钟。软件必须注意,只有在确定主机接口上没有流量时才能执行该任务。软件必须等待 tXP+ 两个时钟周期,才能重新启用时钟。