Zynq-7000 SoC、DDR — 不支持 LPDDR2 每个库刷新

最好的整体解决方法是不使用每个库刷新,而使用所有库刷新(即设置 reg_ddrc_per_bank_refresh = 0)。

如果这是不可接受的,那个别问题即可解决如下:

  • 在初始化过程中,将 reg_ddrc_t_rfc_min 设置为适合所有库刷新的值。完成初始化时(通过监控 ddrc_reg_operating_mode 检测),这可能会变为适合每个库刷新的值。
  • 通过将 CAM 编程为单个优先级来避免激活高优先级。这可通过将 reg_ddrc_lpr_num_entries 设置为 31 来完成。
  • 执行 MRW 或 MRR 时,如果启用自动刷新,reg_ddrc_dis_auto_refresh 必须设置为 1,以避免访问模式寄存器。此外,必须禁用自动降温,以防止执行自动 MRR;reg_ddrc_derate_enable必须设置为 0。