This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] PROCESSOR-SDK-AM335X:DDR3内存初始化期间、从高电平复位至 CKE 低电平的延迟

Guru**** 2398695 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1491038/processor-sdk-am335x-reset-high-to-cke-low-delay-during-initialization-for-ddr3-memory

器件型号:PROCESSOR-SDK-AM335X

工具与软件:

Micron DDR3存储器要求"在 RESET#转换为高电平后、在 CKE 为低电平时等待500μs (减一个时钟)"。

以下文章提供了 U-Boot 补丁来满足要求。 该补丁似乎适用于 SDK2.x 至 SDK9.x

e2e.ti.com/.../4974319

我们的客户很担心补丁会带来的副作用、因为补丁尚未应用于 TI Git 服务器上的较新 U-Boot。

git.ti.com/.../ddr.c
git.ti.com/.../emif4.c

是否存在与补丁有关的任何问题?

我对第一个补丁有疑问。

为什么 SDRAM_CONFIG 寄存器在 SDRAM_ref_ctrl 寄存器之后被写入?
只有 SDRAM_CONFIG 寄存器可以触发初始化吗?

按照以下顺序写入寄存器 不会 触发器初始化。
1.将 SDRAM_CONFIG 寄存器中的 reg_dram_type 字段设置为3
2.将 dram_ref_ctrl 寄存器中的 reg_dram_type 字段从1设置为0

按照以下顺序写入寄存器将触发初始化。
1.将 dram_ref_ctrl 寄存器中的 reg_dram_type 字段从1设置为0
2.将 SDRAM_CONFIG 寄存器中的 reg_dram_type 字段设置为3

上述理解是否正确?

我有一个与第二个补丁相关的问题。

如何在热复位后完全复位并重新初始化 EMIF 和 DDR3存储器?

是否应该使用冷复位(SW 复位或 POR 引脚)而不是热复位来完全复位并重新初始化 EMIF 和 DDR3存储器?

此致、

大辅

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Daisuke、对 SDRAM_CONFIG 的写入会触发初始化。  ref_ctrl 寄存器实际上有2个不同的函数。  它首先必须加载表示500us 延迟的值。  然后通过写入 SDRAM_CONFIG 来初始化控制器。  然后、使用适当的刷新率值再次写入 ref_ctrl 寄存器。  因此、需要仔细排序。   

    应使用冷复位来完全复位 DDR。  热复位实际上只是将 DDR 置于自刷新状态、而不会复位内存。

    我不认为有任何副作用的补丁,只是它还没有进入到最新的版本。

    此致、

    James