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.

[参考译文] AM625-Q1:定制 AM6254电路板上的 LPDDR4接口问题–请求支持

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1510729/am625-q1-lpddr4-interface-issues-on-custom-am6254-board-request-for-support

器件型号:AM625-Q1
主题:SysConfig 中讨论的其他器件

工具/软件:

我们开发了基于 AM6254ATGFHI 的定制电路板、具有使用 ISSI IS43LQ16512A-053BLI 器件的 LPDDR4存储器接口。 各种元件的所有电源轨均已正确供电、并且系统复位信号已正确生成。 我们能够从 SD 卡启动 U-Boot 而不会出现问题。

使用 HyperLynx 对 LPDDR4存储器接口进行了仿真、并成功传递了"DDRx 批处理仿真"。

为了生成 U-Boot 配置文件、我们使用 TI SysConfig 工具根据存储器器件数据表中提供的信息和信号完整性仿真的输出创建 DTSI 文件。

https://dev.ti.com/sysconfig/

但是、在启动电路板并运行存储器测试时、我们会观察到频繁的读取/写入错误、其中数据显示为全零、而不是预期值。

您能否就我们可能做得不正确提供任何指导?

最好的 regards.e2e.ti.com/.../report_5F00_data.zipe2e.ti.com/.../settings_5F00_info_5F00_2505071627.zipe2e.ti.com/.../Serial-output-UART0.txt

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

    您似乎正在将 DDR 配置为在50MHz 下运行。  这是有意的吗?  该器件的最大 DDR 频率为800MHz。  您可以尝试将配置更改为该频率并再次进行测试吗?   

    此致、

    James

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

    道歉、我之前附上了我使用的配置、通过示波器测试一些波形、并检查它们是否与仿真结果相匹配。 这一次、我将连接正确的配置、该配置与存储器测试 results.e2e.ti.com/.../SysConfig_5F00_CPU-UP-2505071555.zip 相关

    其中包含使用3.5GHz 有源探头和4GHz 带宽示波器捕获的波形。 我还附上了 HyperLynx 的仿真眼图。

    预期配置应为一个具有40 Ω 上拉/下拉功能和 在存储器侧连接40 Ω ODT 终端的写入驱动器(处理器)。 从示波器波形可以看出、存储器上的 ODT 端接似乎未启用(测得的振幅为900mV  、而不是560mV)。

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

    我看了一下您在配置中所做的更改、我相信您更改 RL、WL 和 NWR 的方式不正确。  根据 ISSI 数据表中的下表、您应该将它们设置为突出显示的值

    请尝试将它们重新设置为这些值、然后重试测试。

    作为第二个实验、将 WLS 设置为"WL SET B"并再次进行测试。  这将自动调整 B 组值的 RL、WL 和 NWR。  过去、我认为 ISSI 存储器需要此设置才能在800MHz 时启用 ODT。   

    此致、

    James

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

    您好、

    我们执行了您提到的测试、但数据、选通和其他线路…上的终端仍未激活 正如预期的那样、我们会在存储器测试中看到错误。 我附加了几个波形:在 DQ15上、内存引脚附近、使用新配置差分 DQS0、DMI0……测得的信号。 令人惊讶的是、有时 CA 线路看起来会将 ODT 终端激活几秒钟、而在其他时候它们不激活... CS 信号看起来确实会将其 ODT 终端激活。

    CS 信号... 它似乎有它的 ODT 处于活动状态:

    CA0... 信号有时具有 ODT 处于活动状态、有时不是…Ω

    这种行为对我来说似乎非常奇怪、但我不确定硬件对它的影响程度。 我们检查了240 Ω 校准电阻器、这些电阻器是正确的。

    我附加了 LPDDR4接口原理图的图像。 我没有发现任何异常。 我已经多次审查了元件封装尺寸和引脚分配、发现没有任何异常。

    e2e.ti.com/.../LPDDR4-INTERFACE.pdf

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

    从串行输出中的寄存器转储来看、训练似乎失败了、这可能是信号摆幅看起来不正确的原因。  

    您是如何得出端接和驱动强度设置、尤其是您在 Register Config 工具中更改过的设置?  它们是否来自仿真?   

    我想先尝试对默认配置进行极少的更改。  我保留了您的位混合信息、刚刚根据 ISSI 数据表更改了一些时序参数。 您能否加载附加的.syscfg 以生成新的配置并尝试。  如果此操作仍然失败、请像以前一样提供 regdump。

    此致、

    James

    e2e.ti.com/.../Min_5F00_changes.syscfg

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

    您好、

    DTSI 文件是使用 min_changes.syscfg 配置文件生成的、仅修改 IS43LQ16512A-053BLI 存储器的时序参数。
    但是、输出显示不变。


    附加修改后的 min_changes.syscfg 文件和 UART0输出的终端转储。

    对于 ODT 延迟参数、存在一些不确定性。


    在800 MHz 下运行时、IS43LQ16512A-053BLI 存储器似乎需要4个时钟周期的 ODTLon 延迟和18个时钟周期的 ODTLoff 延迟 。
     然而、在50 MHz 时、所需的 ODTLon 延迟保持在4个时钟周期、而 ODTLoff 延迟减少到14个时钟周期。 相比之下、Micron 存储器(例如 MT53E1G16D1 (在 EVB 上使用)在50 MHz 下似乎支持0个周期的 ODTLon 和 ODTLoff 延迟 。

    尽管如此、SysConfig 工具会将 ODTLon 和 ODTLoff 设置为0、这对于 IS43LQ16512A-053BLI 器件来说似乎不正确。

    此外、分析生成的 DTSI 文件会发现 Denali_CTL 和 Denali_PI 寄存器值之间可能缺乏一致性。

    这就引起了这样的问题:这种不一致是否会妨碍 ISSI 存储器在预期配置中正常工作。

    此致。

      e2e.ti.com/.../7484.dump.txt 

    e2e.ti.com/.../0451.k3_2D00_am62x_2D00_ddr_2D00_config_5F00_minchanges.dtsi.txt

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

    您好、

    DATA、CA、CLK、DQS...的 ODT 终端值 是使用 HyperLynx 通过布局后仿真获得的。

    此处的一些示例(仿真结果未考虑控制器相对于 DQ 的在 DQS 信号上引入的延迟、也未考虑 CLK 信号相对于 CA 引入的延迟。

    1) CA/CS/CLK 线路:

    2) DQ[7:0]/DM0/DQS0线路(写入)

    3) DQ[7:0]/DM0/DQS0线路(读取)

    4) DQ[15:8]/DM1/DQS1线路(读取)

    4) DQ[15:8]/DM1/DQS1线路(写入)

    还包括 HyperLynx 生成的报告(确认仿真结果有效)。

    e2e.ti.com/.../DDR_5F00_Report.zip

    此致。

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

    您好:

    此外、还包括在 LPDDR4初始化序列期间捕获的几个示波器布线。 在 CKE 的第一个上升沿之后、可以观察到两个 CLK 突发。 第一个在50 MHz (大概用于内存初始化)上运行、第二个在大约800 MHz 上继续运行。

     提供了50 MHz 突发的放大视图。

    一段时间后、观察到 CLK 信号上启用 ODT 端接。 没错。

    此50 MHz 脉冲突发的持续时间(大概用于配置 ISSI LPDDR4存储器寄存器)约为5.43 µs 。

    在此之前、CA1线上已经存在脉冲、在该线路上可以观察到 ODT 端接处于非活动状态。 请注意、差分探头是反相的、因此波形也显示为反相的。

    大约14.195ms 后 、CA1线路上的 ODT 信号似乎处于活动状态、表明它已正确配置。

    下图显示了在 DQ5数据线上观察到的行为。

    大约18.281 毫秒后、数据总线上会出现活动。
    请注意、差分探头是反相的、因此波形也显示为反相的、与前一种 CA 情况类似。

    在此点之前、在 DQ5上观察到一些杂散脉冲(TAT 中有三个、但它们看起来不明显)。
    提供了一个放大视图、以更详细地检查 DQ5线上的初始脉冲。

    DQ5数据线未启用 ODT 端接。


    该假设是 DQ 线路上的 ODT 端接错误激活会导致后续训练过程中出现故障。 因此(以及由于没有主动 ODT 端接)、会观察到大量的存储器访问错误

    此致。

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

    嗨、Amilcar、

    感谢您提供详细信息。  regdump 仍显示训练未正确完成。  

    当我附加 min_changes.syscfg 时、我的意思是让您在不进行任何其他更改的情况下尝试这一点。  我认为这应该与 ISSI 数据表中指定的时序相匹配。  你是对的、我错过了 ODTLon/off 时间、但我不认为这是导致培训失败的原因。  通常、对于引导频率、这些被禁用(即设置为0)。  即使 ISSI 数据表提到、如果启用了较低频率、您也必须有 WL>8。  我们处理过的所有存储器(包括其他客户的 ISSI)在启动频率下与 ODTLon/off=0配合良好

    为了更好地了解培训失败的原因、我们必须采取一个逐步的方法、进行一些小的变革。

    1.尝试使用 min_changes.syscfg 而不进行任何其他更改。  regdump 后。

    2.尝试1)加上"端接: CA ODT(FSP2)"调整为40欧姆,以匹配您的仿真结果。  regdump 后。

    3、尝试2)加将"ODT 下拉 DQ/DM"和"端接:SoC ODT (FSP2)"调整为40欧姆、以匹配仿真结果。  regdump 后。

     

    我看了一下您的示波器镜头。  我相信到目前为止、每件事情都符合预期、由于培训不能正确完成、任何类型的交易都可能失败。  但培训的大部分第一部分正常运行。

    此致、

    James

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

    您好、

    我们将向您发送转储文件、其中包含三种情况中的每种情况的 UART 输出。

    1.不进行任何其他更改的 min_changes.syscfg。  regdump 后。

    e2e.ti.com/.../dump_5F00_min_5F00_changes.txte2e.ti.com/.../7041.k3_2D00_am62x_2D00_ddr_2D00_config.dtsi.txt

    2.用1)加上调整"端接: CA ODT(FSP2)"至40欧姆,以匹配您的仿真结果。  regdump 后。

    e2e.ti.com/.../dump_5F00_min_5F00_changes-Termination-CA-ODT-FSP2.txte2e.ti.com/.../7041.k3_2D00_am62x_2D00_ddr_2D00_config.dtsi.txt

    3、2)加将"ODT 下拉 DQ/DM"和"终端:SoC ODT (FSP2)"调整为40欧姆、以匹配仿真结果。  regdump 后。

    e2e.ti.com/.../dump_5F00_min_5F00_changes-Termination-CA-ODT-FSP2-ODT-PullDown-DQDM-and-Termination-SOC-ODT-FSP2.txte2e.ti.com/.../7041.k3_2D00_am62x_2D00_ddr_2D00_config.dtsi.txt

    上一帖子中提供的波形是在存储器控制器完成 ISSI 存储器寄存器的配置后捕获的。 应理解、培训流程从这里开始。 在训练期间、调整延迟线和 Vref 值;但是、不会修改在存储器器件中编程的 ODT 设置。

    根据在 DQ5线上观察到的电压电平(也代表其他数据线)、很明显 ODT 未激活。 因此、目前尚不清楚在这些条件下如何成功完成培训过程。

    在初始访问周期内、在 LPDDR4存储器配置后显示 DQ5信号。
    在这些访问中、CA 和 CLK 信号确实启用了端接。  将捕获的信号与仿真结果进行比较。 也可以从驱动器的上拉/下拉强度以及是否存在 ODT 端接推断出近似信号振幅。 为了更准确地进行估计、可以参阅 IBIS 模型的当前表。

     在校准期间在40 Ω 处启用 ODT 端接的情况下、预期信号幅度(在与示波器配合使用的同一测量点处)应为:

    从 HyperLynx 仿真获得的信号振幅与根据驱动器的输出电流特性和40 Ω ODT 端接值计算出的估算值非常接近。

    此致。

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

    您好 Amilcar、对延迟深表歉意。

    重新转储仍然显示对于这三种情况中的每一种情况、CA VREF 训练都失败。  这是最先执行的培训步骤之一、如果没有此步骤、其余的培训将不起作用。 有一些基本的东西是不对的,但我不知道它是什么现在。

    我真的很惊讶,你能够引导到 uboot (如你的原始文章中提到).  如果删除 regdump 和 memtester、是否能每次引导至 uboot?  您能够启动到内核吗?

    我已要求 FAE 安排电话、以便我们进一步讨论。  

    此致、

    James

      

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

    您好、

    对不起,如果我的初始帖子不清楚. 我的意思是 U-Boot 从 SD 卡引导并尝试访问 LPDDR4总线。 正如预期的那样、U-Boot 无法完成该过程并最终挂起。  n´t 删除 regdump 和 memtester、结果不会改变。我们将与 FAE 协调以准备该调用。


    同时、我们可以执行哪些额外的测试或示波器测量来获取更多信息、以便找出问题的根源?

    此致。

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

    您好、

    我n´t 完全理解什么机制会导致 CA Vref 培训流程失败。
    我可以看到 CA 信号激活其 ODT、并且与 CLK 信号…正确对齐
    但是、由于 DQ ODT 未启用(据我所知、您已经提到这是预期情况)、因此唯一需要考虑的可能是:要么内部存储器寄存器未正确编程、要么它们在某个时候复位、要么可能被覆盖。

    是否有任何方法可以使用示波器调查这三种可能性中的任何一种?

    此致。

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

    该问题在命令总线训练期间非常早发生。  在这种情况下、控制器会在整个范围内扫描 CA VREF 以训练到理想值。  奇怪的是、即使应该检查的开始/停止点不为零、此训练也会解析为值0。  似乎控制器没有正确地与内存通信、或者一些初始 MR 写入不起作用。 (如您所建议)。  在 CA VREF 培训期间、我认为无需使用示波器。    

    -这是发生在多个板上吗?

    -这也是发生在没有任何探头的板上吗?  也许探头会对训练产生影响。   

    -您是否尝试过使用另一个制造商的存储设备?

    -内存设备是焊接到板上的,还是您用于访问信号的某种插入器?

    -电路板上有 JTAG 接头吗?

    此致、

    James

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

    您好、James、

    在使用 ISSI IS43LQ16512A 存储器器件组装的前六个原型上发现了该问题。
    本周四、我们将使用 Micron 的 MT53E1G16D1存储器测试另外三个原型。

    尽管 PCB 上已组装该连接器(但仍未使用)、但我们当前并未使用 JTAG。
    即使没有示波器探头连接到电路板、也会出现问题。
    存储器器件直接焊接到仿真 PCB、无需任何插入器。

    您是否认为电路板上存在未连接的 JTAG 接头可能会干扰 LPDDR4接口?
    您会如何建议我们对此进行验证?

    我向您发送了原理图中实现的 JTAG 部分的图像。

    此致。

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

    嗨、Amilcar、

    否、我认为 JTAG 接头不会对 LPDDR4接口产生任何影响。  我问的原因是、如果我们安装了此组件、调试可能会更容易一些。  我们可以使用 GEL 脚本和 Code Composer 调试器来执行 DDR 初始化或 MR 读取。

    我认为 Micron 存储器的实验将非常有用。  如果您可以在调用之前获得类似的 regdump、我们可以比较调用中的那些 regdump。

    此致、

    James

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

    您好、James、

    我们已经确定了问题。 初始培训过程失败。 对于 CA Vref 校准、处理器在 CA[0:5]线路上发送位图形、可镜像这些位图形以在 DQ[8:13]上读取。

    在验证如何在 SysConfig 工具中配置 DQ[8:13]线路的"位混合"时、我注意到、我们尝试了不同的设置方式。

    我们目前正在我们的电路板上运行初始测试、所有测试似乎都正常运行。

    谢谢。