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.

[参考译文] 66AK2G12:DDR3问题

Guru**** 2535150 points
Other Parts Discussed in Thread: 66AK2G12, TPS51200

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1040660/66ak2g12-ddr3-issues

器件型号:66AK2G12
主题中讨论的其他器件: TPS51200

大家 好
我正在尝试使用具有66AK2G12、TPS51200和 DDR3L 存储器的定制板、但它的行为似乎是随机的、我需要您的帮助。

第一个问题是无法将其引导至 USB-DFU 模式。 无论我尝试哪种 BOOTCFG、我都看不到 USB0_DM/DP 引脚上有任何活动。 当然、PC 在 USB 端口中未检测到新的 USB 设备。 除了 BOOTCFG 之外、是否有任何细节可以让 CPU 进入 USB-DFU? 同时、UART 引导加载程序的工作毫无瑕疵。

下一个问题是、我观察到高功耗和 TPS51200、DDR3L 芯片触控发热。 我假设这是由引导加载程序将 DDR3_RESETn 置为无效并发出 NOP 导致的、这会将 DDR3_WEN 和其他引脚提升至 DVDD_DDR、而 TPS51200则通过端接电阻器将所有引脚都拉至 DVDD_DDR/2。 它应该是怎样的?

但是、无论如何、对于 TPS51200和 Fly-by 终端、我都无法运行 U-Boot。 它只是挂起。 我已经修改了源代码、可以跟踪它、直到 get_ram_size 函数。 我已对其进行修改、将图形写入存储器、并将其读回以验证其功能。 事实证明、它在 RAM 访问尝试时挂起。 我尝试了各种设置(包括由"K2 DDR3 Register Calc v1p60.xlsx"计算得出的设置)、但唯一可行的配置是 ddr3phy_800_512MB/DDR3_800_512MB。 这允许执行几个读取/写入步骤、读取垃圾、然后最终停止。

相比之下、我从第二个完全相同的 PCB TPS51200中去色、将其替换为无源分压器和 DDR3_VREFSSTL 网络上的电容器、去色终端无源器件。 通过使用 ddr3phy_800_512MB/DDR3_800_512MB U-Boot 进行这些更改、可以正确且无限期地读取/写入内存。 我进行了很多测试、有时我看到 DDR3在整个运行期间能够在无限的时间内正常工作。 对电路板进行复位/下电上电会导致行为发生变化:有时仍然正常、有时会看到间歇性读/写错误。 此行为在整个运行期间保持不变。 这是否可能与有时无法实现的读取/写入矫正相关? 我可以尝试修改哪些配置选项以使其更加一致?

现在、如果 RAM 正常工作、我允许 U-Boot 继续执行、并且在大多数情况下、U-Boot 在 LOAD.S 处的 COPY_LOOP 结束后停止 在极少数情况下、它可能会通过该测试并从 RAM 运行 U-Boot、但大多数情况下它会在这里停止。 在 CPU 挂起后、我观察到功耗较低、因此我认为此时 CPU 的 DDR3-unit 停止运行和/或 RAM 停止刷新、但可能是错误的。 在 DDR3上运行期间、CPU 会挂起什么? 我的意思是、即使读/写操作正常工作、在 U-Boot 尝试修复重定位代码的地址时、仍会挂起 CPU、但在将代码本身复制到 RAM 时不会这样做。

另一个问题是、我无法使 CPU DDR3控制器使用全部32位。 使用 ddr3phy_800_512MB/DDR3_800_512MB 时、它仅访问16位附加存储器。 我使用"K2 DDR3 Register Calc v1p60.xlsx"来计算正确的值、但没有结果。 我有支持 DDR3-1600的 SK Hynix RAM 模块、但计算它们以在 DDR3-800上运行也没有什么帮助。 任何计算出的配置都会在第一次 RAM 访问时立即停止。 然后、我尝试将 ddr3phy_800_512MB/DDR3_800_512MB 修改为32位、但这也不起作用。  我 将1放入.datax8_2_val 和.datax8_3_val、并在.sdcfg 中将 nm 从2更改为1。

我的反激式链首先访问第16-31位、然后仅访问第0-15位;我是否必须对此进行解释、它是否会以某种方式影响这一点?  

在 PCB 上针对 DDR3信号完成长度匹配。

由于只能使用 UART 引导加载程序、我必须通过 UART 上载 U-Boot、这需要将近2.5分钟的时间。 此延迟是否会以某种方式影响稍后 U-Boot 尝试的 DDR3初始化?

请回答上述问题。 如果你能就如何进一步解决这些问题向我提出建议,我将不胜感激。

提前感谢。

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

    这里有很多要消化的东西。  我想我会先检查您的所有电源轨、而不会尝试引导任何内容。  检查电路板上所有电源轨上的定序和电压电平是否正确。   触摸时内存不应太热。  特别是对于 DDR、在不引导任何内容时、DDR_RESET 信号应处于低电平。   检查是否存在电源到接地短路、尤其是在 DDR 周围、 还检查多个电路板以查看是否存在任何共性。  如果多个电路板的运行方式不同、则可能会出现组装问题。  检查整个电路板的电源是否正常后、继续检查时钟和复位、并确保这些时钟和复位在正确的电压幅度下正常转换。  如果您有 JTAG、最好连接它以查看您是否执行基本初始化。

    硬件设计指南中提供了一些设计技巧: https://www.ti.com/lit/pdf/sprui93 和原理图检查清单应用手册 https://www.ti.com/lit/pdf/sprac54

    此致、

    James

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="1187" URL"~/support/processors-group/processors/f/processors-forum/1040660/66ak2g12-ddr3-issues/3849765 #3849765"]特别是对于 DDR,DDR_RESET 信号在不启动任何内容时应处于低电平。

    DR3_RESETn  在从 UART 引导加载程序的复位状态消失200 ms 后、会保持高电平66AK2G12。

    我已经检查了电源。

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

    我要求在不加载任何内容的情况下检查电源和信号。  不提供引导加载程序或更改为其他引导状态。

    James

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

    感谢您的建议、我将尝试并让您知道具体情况。

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

    我已将两个 PCB 置于"睡眠引导"状态、并观察到在波尔 n 变为高电平后大约20ms (200ms 为拼写错误、时间为20ms)、 66AK2G12升高 DDR3_RESETn。 DDR3_CKE0  置为高电平、可能还有其他。 由于 DVDD_DDR 可用、DDR3_WEN 保持高电平。 采用 TPS51200的 PCB 在此状态下会消耗大量电流、正如我之前提到 过的、它会加热 TPS51200和 DDR3芯片。 另一个没有 TPS51200和终端、显示 出明显更低的功耗且没有过热。

    我还检查了所有电源、它们都很好。

    我已经尝试 通过实验室电源为 DVDD_DDR 供电、但行为 完全相同。 我在其他 电压下也尝试过相同的方法、但这也没有什么不同。

    遗憾的是、这未能解决这种情况、所有问题仍然未得到解答。

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

    如果 DDR3_RESET 信号变为高电平、则电路板看起来不像是处于睡眠引导模式。  睡眠引导不应执行任何代码、因此永远不应初始化 DDR。  请仔细检查。  这可能是产生高电流的原因。  您能否发送 DDR 接口与处理器和 TPS51200的原理图

    此致、

    James  

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

    您好、James

    上周、我决定将电路板发送给 X 射线检查。  我一定会在接收它们回来时再次检查睡眠引导。 BTW、 这里提到的 DDR3初始化问题的表现吗?

    DDR3接口的原理图如下:

    CPU 部件

    DDR3 IC 器件

    单 DDR3 IC

    DDR3终端

    上一张表中的 VTTA 块

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

    是的、您不应依赖 ROM DDR 初始化。  整个控制器和 PHY 应复位、DDR 应通过软件初始化。  此时、DDR 应准备好正常运行。  您是否能够使用 JTAG 和 gels 来初始化 DDR?  这将消除尝试启动软件时的任何混淆。  我建议这样做、以确保您不会遇到任何硬件问题。

    此致、

    James