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.

[参考译文] AM6546:在 DD4 SDRAM 上启用 CA 奇偶校验

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1232531/am6546-enable-ca-parity-on-the-dd4-sdram

器件型号:AM6546
主题中讨论的其他器件:TMDX654IDKEVM

您好!

我们正在定制电路板上使用 XAM6546ACDXEAF、并尝试在我们正在使用的 DD4 SDRAM 上启用 CA 奇偶校验。 我们使用德州仪器的 AM65x_DRA80xM_EMIF_Tool_2.03.xlsm 来配置 SDRAM。 我们在没有启用 CA 奇偶校验的情况下进行了测试、测试结果正常。

为了启用 CA 奇偶校验、我们在 Step2-DDR 计时(AM65x_DRA80xM_EMIF_Tool_2.03.xlsm)中将奇偶校验延迟从0更改为4 TCK (速度二进制1600MT/s)。 该变化会导致 DRPHY_MR5_DDR4寄存器发生变化(CAPM=1)、并且某些时间寄存器会增加2个 TCK (奇偶校验延迟/2)。 我们还在 DDRCTL_CRCPARCTL1寄存器中手动设置了 page_enable 位。

在启用 CA 奇偶校验的情况下初始化配置不会出现错误、但从内存进行写回读会产生垃圾。  我们已从 AM65x_DRA80xM_EMIF_Tool_2.03.xlsm 中导出和测试了 GEL 和 RTOS 文件、结果相同。

 启用 CA 奇偶校验时、我们是否需要进行任何其他更改?

此致

约翰尼·莫斯特劳姆

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

    你好、Johnny、很抱歉回复延迟了。

    有几个 TMG 寄存器会在启用 CA 奇偶校验时更改。  您能否通过工具提供支持/不支持奇偶校验的配置文件、以便我进行比较。  只是想确保附加 PL 的所有参数都是正确的

    另外,您尝试过在禁用 CA 奇偶校验的情况下进行初始化,然后在训练后启用它。  可能是传播了一些意外错误。   

    此致、

    詹姆斯

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

    您好、James、感谢您的答复。

    附件是启用/不启用奇偶校验的配置文件。

    我们还尝试在训练后激活奇偶校验,它看起来很像如果我们在训练之前做它(写和读回内存只是给我们垃圾)。

    在进行初始化时、我们使用来自 TI RTOS PDK (8.0.0.36)的 Board_DDRInit。

    此致 Johnny

    启用奇偶校验:

        /* DDR Mode Register 5 */
        HW_WR_DDRPHY_REG32(CSL_EMIF_PHYCFG_MR5_DDR4,
                     DDRPHY_MR5 | 0x00000001);
    
        /* DDR Mode Register 5. Enable parity (C/A Parity Latency=1=4). */
        HW_WR_REG32((CSL_DDRSS0_CTL_CFG_BASE + CSL_EMIF_CTLCFG_MRCTRL1),
                     DDRPHY_MR5 | 0x00000001);
    
        /* Write DDR Mode Register 5. */
        regValue = HW_RD_REG32(CSL_DDRSS0_CTL_CFG_BASE + CSL_EMIF_CTLCFG_MRCTRL0);
        regValue |= 0x80005000;
        HW_WR_REG32((CSL_DDRSS0_CTL_CFG_BASE + CSL_EMIF_CTLCFG_MRCTRL0),
                     regValue);

    e2e.ti.com/.../board_5F00_ddr_5F00_config_5F00_no_5F00_parity.h

    e2e.ti.com/.../board_5F00_ddr_5F00_config_5F00_parity.h

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

    您好、Johnny、

    仍然不太确定它为什么不起作用。   我在文档中发现以下内容、即您还必须更新 INIT6.MR5寄存器、使其与 SDRAM 寄存器对齐:

    如果软件更新了 SDRAM MR 寄存器的任何部分、软件也有责任
    更新相应的 init*.*mr*,使其与 SDRAM 的 MR 寄存器对齐。 对于 DDR4,init*
    寄存器用于控制一些运行时功能(例如 CA 奇偶校验)、以及用于自动模式
    寄存器访问

    看到它、这会产生影响。

    此致、

    詹姆斯

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

    您好、James:

    训练后无法更新 INIT6.MR5寄存器(静态寄存器?)。 我们在 INIT6.MR5寄存器中测试了在初始化时禁用 C/A 奇偶校验延迟(0x480)并且 C/A 奇偶校验延迟= 4 (0x481)、结果相同(写入和读取存储器只是给我们带来了垃圾)。

    此致 Johnny

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

    Johnny、INIT6是一种准动态寄存器、需要 SWCTL.SW_DONE=0才能进行写入。  这可能是写入无法正常工作的原因。  然后、将 SWCTL.SW_DONE 设置回1以完成写入。

    此致、

    詹姆斯

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

    谢谢 James、我设法在初始化后设置 INIT6.MR5、但结果是相同的(从内存读回只给我们垃圾)。

    此致 Johnny

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

    感谢 Johnny、仍然不清楚为什么你有这个问题。  让我提出一些探索性的问题,其中一些可能是基本的,但只是为了完整:

    -在启用 CA 奇偶校验之前,您可以尝试清除 MR5中的 CA 奇偶校验错误状态。  这是为了确保在启用前不会出现寄存器错误、

    -你可以探测 PAR 信号,看看它是否至少是在切换?  如果您采用 VTT 终端、PAR VTT 是否已终止?

    您看到了错误吗?  通过读取 MR5[4]或探测 ALERT_n?

    - DRAM 上是否有任何未使用的地址信号?

    -您是否在 MR5[9]中启用了持久模式?  我的理解是、如果禁用此功能、您只会收到一个错误、DRAM 将继续正常运行(不检查 CA 奇偶校验)

    -根据您的寄存器转储, crc_quite_retry_enable=0,因此我的预期是,如果收到错误,控制器不会尝试重试发送命令。  我认为这目前是正确的设置、至少在我们对其进行调试之前

    -要尝试缩小读取或写入问题的范围,可以尝试在启用奇偶校验的情况下写入一个存储器的小块,关闭奇偶校验,然后尝试读取该块。  类似地、在禁用 CA 奇偶校验的情况下写入块、然后在启用 CA 奇偶校验的情况下尝试读取。   

    根据上面的某些结果、启用 CA 奇偶校验时、延迟调整可能会出现问题。

    此致、

    詹姆斯

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

    大家好、James

    我们在启用 CA 奇偶校验之前清除 MR5中的 CA 奇偶校验错误状态。

    我们已经检查了 PAR 信号、它正在进行切换。 PAR 是 VTT 端接(端接电阻39.2欧姆)

    通过读取 MR5[4]或检查 ALERT_n,我们无法看到任何错误。

    DRAM 上的所有地址信号均已连接。

    我们已经在 MR5[9]中启用和禁用了持久模式的测试。

     

    测试

    奇偶校验被禁用:

    MEM 写地址:0x80000100值:0x87654321

    MEM 读地址:0x80000100值:0x87654321

     

    奇偶校验被启用:

    MEM 读地址:0x80000100值:0xffffff00

    MEM 写地址:0x80000100值:0x12345678

    MEM 读地址:0x80000100值:0xffffff00

     

    奇偶校验被禁用:

    MEM 读地址:0x80000100值:0x87654321

    此致

    约翰尼

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

    Johnny、既然你没有遇到任何奇偶校验错误、似乎延迟时间存在问题、我想我知道问题在哪里。  数据手册提到以下内容:

    对于 DDR4:RL = CL+AL + PL;WL = CWL + AL + PL

    但我注意到、计时寄存器中使用 RL 或 WL 的位置、电子表格并没有考虑+PL。  例如、DRAMTMG2定义 WL、但电子表格不会添加+PL (根据您发送的文件的差异)。   

    我进行了快速搜索、WL 和 RL 在 DRAMTMG0/1/2中的公式中使用。  将需要确保这些参数中的每一个增加2 (PL=4、但由于1:2频率比模式、对于该位字段的公式中使用的 RL 或 WL、该参数值只需要为+2)。

    此致、

    詹姆斯

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

    我尝试更新这些寄存器、但仍然无法正常工作。


    我还尝试在 AM65x 工业开发套件(TMDX654IDKEVM)上启用 CA 奇偶校验、但结果相同。 CA 奇偶校验是否适用于开发套件? 如果可以、是否可以进行配置?

    此致

    约翰尼

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

    Johnny、您可以将完整的配置文件与您的最终编辑进行发送、以便与之前发送的其他文件进行比较

    我的期望是这个也应该同样适用于 IDK、但据我所知、我们从未在该板上启用过这个功能


    谢谢。

    詹姆斯

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

    您好、James:

    附件是 我的最新配置文件。

    此致

    约翰尼

    e2e.ti.com/.../board_5F00_ddr_5F00_config.h

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

    Johnny、谢谢。

    只是一个警告,我将离开办公室的未来2周,不会有机会看这个,直到我回来。  请告诉我这是否可以接受。  

    到目前为止我的印象是、这不是一个错误、我只需要处理适当的延迟时序或其他一些配置问题。  我不知道与此相关的任何错误或勘误表。

    您的产品是否要求实现 CA 奇偶校验?  至少在接下来的几周内、如果没有它、您能取得进展吗?

    此致、

    詹姆斯   

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

    您好、James:

    CA 奇偶性是我们安全产品的一项要求。 如果我们等待几个星期,这个项目不会停止,但我们希望尽快解决这个问题。

    此致

    约翰尼

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

    Johnny、您好!

    James 将外出工作几周、我们需要他的帮助才能在这个问题上取得进展。  

    感谢您的耐心和理解。

    此致、

    卢卡斯