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.

[参考译文] AM3351:基于 Beagle Bone Black 设计的 DDR3 EMIF/定时定制板微调

Guru**** 2539500 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/737538/am3351-ddr3-emif-timing-fine-tuning-for-custom-board-based-on-beagle-bone-black-design

器件型号:AM3351

您好!

我们有一个基于 BBB 的定制板、我们正尝试根据以下教程中的说明调整计时:
processors.wiki.ti.com/.../Sitara_Linux_Training:_Tuning_the_DDR3_Timings_on_BeagleBoneBlack
processors.wiki.ti.com/.../AM335x_EMIF_Configuration_tips

(笑声) 数据来自:
www.micron.com/.../mt41k128m16jt-125
www.ti.com/.../spruh73p.pdf


目前、我们在"测试 DDR3配置"步骤中遇到了问题:除了第一个测试之外、EDMA 测试返回失败的所有测试。


下面随附的配置和实用程序文件:
它们还包含有关技术部件的所有注释。

寄存器计算电子表格:
[在此处附加 MODIF_DDR_register_calc_tool.ods;对于附加文件,可能会显示一个令人厌烦的大图像而不是仅显示链接,右键单击->仅显示链接将修复此问题]

Ratioseed 电子表格:
[在此处附上 RatioSeed_MODIF.ods ]

.gel 文件:
[在此处附加.gel ]

EDMA 测试输出:
[在此处附上 EDMA txt ]


本主题有2个问题:

1) 1)输出中是否有任何方法/模式可帮助我们确定失败测试的根本原因?
到目前为止、我们的计算值似乎没有任何问题。

2) 2) EDMA 测试实际上是什么?
教程中所述的手动测试不会显示任何问题、但除了测试1之外、EDMA 检查失败了很多。 我们不确定其相关性、因此需要更多信息。

谢谢!

e2e.ti.com/.../AM335_5F00_RAM_5F00_FILES.zip

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Christian、我的 Excel 在读取 REGISTER_CACL_TOOL 文件时遇到问题。 因此我无法读取它、但我能够读取 RatioSeed 电子表格。

    您是否可以尝试在比率种子电子表格中使用 inver_CLKOUT=1、并直接使用 GEL 中的结果(无需运行调平算法)。 您可能已经阅读了自己的评论、这样做了。

    与单次访问测试相比、EDMA 测试的结果似乎大相径庭、我不确定如何解读。 您能否在 DDR 区域(0x8000000)中打开一个存储器窗口、并执行一些脚/脚来查看存储器的稳定性? 您还可以尝试窗口的"连续刷新"模式来检查此情况。

    您能否还检查电路板相关电压、尤其是 VTT (如果有)和 VREF。

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

    您好!

    Christian 将话题交给了我、所以我将继续回答。

    我附加了 Excel 文件的屏幕截图、希望它能有所帮助。 此外、我们还再次测试了所有组合、并将结果放在 RAMnotes.txt 中、并将其余文件放在存档中。 结果与我们之前的实验一致、但现在已正确记录、可能有更多用途。

    无法检查电压、但我认为可以安全地假设电压处于正确的边界。

    有一点很奇怪、EDMA 测试似乎在地址不是0x8000000或更高的地址处检查(并失败)。

    谢谢你

    /cfs-file/__key/communityserver-discussions-components-files/791/ramfiles.zip

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

    Christian、您能否尝试以下配置。  请注意 WR_DATA_SLAVE_RA比 上的红色变化。  

    您还应尝试使用0x8或0x9的 READ_DERAT等待 时间。  现在在该寄存器中将动态断电保持禁用状态。   

      #define CMD_PHY_INOP_CLKOUT      0x01

      #define CMD_PHY_CTRL_SLAVE_RA比   0x100

      #define DATA_PHY_RD_DQS_SLAVE_RA比  0x40

      #define DATA_PHY_FIFO_WE_SLAVE_RA比 0xFA //RD DQS 门

      #define DATA_PHY_WR_DQS_SLAVE_RA比  0x80

      #define DATA_PHY_WR_DATA_SLAVE_RA比 0xC0 //网页提示使用0x80作为初始值

    #define ALLOPP_DDR3_READ_LAUNDER  0x08

    此致、

    James

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

    已尝试建议的配置和其他一些配置:

    >建议的配置、ALLOPP_DDR3_READ_LAUNTATION  0x09
    >建议的配置、ALLOPP_DDR3_READ_LAUNTATION  0x08
    >建议配置的优化值、将 DATA_PHY_WR_DATA_SLAVE_RA比 保留在 0xC0、ALLOPP_DDR3_READ_LAUNT  0x09处
    >建议配置的优化值、将 DATA_PHY_WR_DATA_SLAVE_RA比 保留在 0xC0、ALLOPP_DDR3_READ_LAUNT  0x08


    测试仍然失败(结果已附加)、但还有几个观察结果:

    >0x40300000之后的范围内(测试过程中发生故障)运行 EDMA 测试内存值之前,尝试手动编辑,但似乎工作正常。 运行测试后、修改相同的存储器位置会导致大约80%的情况发生故障。
    >使用"填充存储器"似乎也不会触发任何错误行为、但我不知道"填充存储器"是否执行与单次手动编辑不同的操作...

    /cfs-file/__key/communityserver-discussions-components-files/791/results.zip

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Andrei、到目前为止、一切都指向某种信号完整性问题。 似乎您始终可以成功地执行单周期访问(BTW、这也是'fill memory'命令所做的)、但是一旦您开始使用压力更大的方法(例如 EDMA)、事情就会开始失败。

    尝试通过以较慢的速度运行 DDR (将 DDR PLL 频率设置为303MHz)来查看是否可以获得更成功的结果。
    您可能还需要尝试进行设置、以便能够探测某些 DDR 信号、例如 DQS 和 CK。

    此致、
    James