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.

请教,DM8148配4片MT41J128M16-125,访问异常



各位高手,帮我看看

我一共设计了基于DM8148的两块电路板。

第一块电路板参考DM8148评估板的设计,采用了8片MT41J128M8JP-125(8bit数据总线宽度), 电路板运行正常。

         第二块电路板为了减小电路板面积,将8片MT41J128M8JP-125改为4片MT41J128M16-125,并参考相关文档,对DDR3接口的寄存器参数进行了调整,但是始终不能正常访问DDR3

测试程序是TI提供的BB_021_DDR3_TEST.out,GEL文件是DM814x_PG2.x.gel,文件中相关的DDR3寄存器配置宏定义,已根据MT41J128M16-125的时序特点进行了修改。

出现的现象感觉很怪异。理论上应该写入的值如下

但实际读出值却是这样的

我把我的寄存器配置和问题现象,写了一个比较详细的文档,见附件。请各位高手帮帮忙

求助,十万火急呀,谢谢啦

DM8148 16bit DDR3问题.docx
  • 你好,

    你使用的是1600的DDR,配置DDR时序参数的DRAM页里面需要使用1600 DDR对应的信息。但你的表格似乎是按照1333 DDR来配置的,请修改DDR xls里面的配置(tRAS, tRC,tREFI(? >85C?), tXS)。我没有看到数据手册对于tZQCS/tZQoper/tZQinit有绝对时间的定义,但在表格里面你有填写,请去除。

    请问你是否有使用过relaxed timing做过测试?

  • 你好,

    请问你提到的“第二个问题是在仿真器(seed_xds560v2)连接的情况下,运行BB_021_DDR3_TEST.out,DDR3时钟无法正确访问。”,请问你说的DDR3时钟是指的PLL配置寄存器,还是其他?

  • 我是按照DDR-1600的时序参数计算的。除了使用ti提供的DM814x_DDR_Controller_Register_Configuration_spreadsheet_v1.0.xlsx计算,我还自己逐个计算了一遍,在文档中每个参数的计算都详细说明了。

    对照MT41J128M8-125和MT41J128M16-125,在时序上几乎没有差别,影响寄存器配置的有两个参数:

    一是容量和数据总线位宽。MT41J128M8-125是

    MT41J128M16-125是

    在行地址上有差别,会影响SDRCR寄存器的ROWSIZE位域,但是当EBANK_POS和IBANK_POS都为0的时候,这种差别不影响寄存器的配置

    Don't care if both EBANK_POS and IBANK_POS are 0. 

    第二个不同在

    这会影响寄存器SDTIM3的T_RFC位域

    在相同的DDR3控制寄存器配置下,改用不同的phy寄存器配置,也就是读写均衡的参数不同的情况下,读取的数据相差较大。

    但是按照TI814x-DDR3-Init-U-Boot Wordwise SWleveling文档中叙述的方法,也还是不能获取SLAVE_RATIO值,因为使用DDR3_SlaveRatio_ByteWiseSearch_TI814x.out的前提是,DDR3已经可以正常访问了。

    请问,在RatioSeed_TI814x.xls中,RD_DQS是常量0X34,这个值是对任何DDR3都可以,还是因pcb不同而不同??

    有没有DDR3_SlaveRatio_ByteWiseSearch_TI814x.out的源代码,我想从这里找找原因。

    谢谢

    MT41J128M16JT-125.pdf
  • 对不起,是我打错字了,不是“DDR3时钟无法正确访问”,是“始终不能正常访问”。我用seed_xds560v2连接板子是没有任何问题的,gel运行后,也就是配置好DDR3的相关寄存器后,可以在memory brower窗口中直接查看DDR3的地址空间,但是读出来的值与理论上的值相差很大,数据错位,而且不同的slave ratio值,错位情况还不同。

    我自己感觉问题是出在读写均衡上,soft leveling,也就是几个phy寄存器的配置。

  • 你好,

    DDR参数xls我这里计算出来后你的不一样。

    例如tRAS文档上是35ns,而你的表格里面填写的是36ns。请你再检查一下。

  • 35ns是最小值要求,也就是tRAS不能小于35ns

  • 你好,

    请修改下面寄存器配置:

  • 你好,

    请仔细看看我的回复,5tCk你填写是正确的,但120是错误的,应该是170.

  • 你好,

    请问修改tXNRX后,是否有测试?你的问题是否有进展?