AM3359 DDR3调试问题,肯定指教!!!!,非常感谢!!

公司基于ICEV2的硬件开发的板,我从下面步骤进行调试,

第一步:配置EMIF参数,由于公司的DDR容量、型号和 ICEV2完全相同:MT41J128M16JT-125。所以EMIF的参数为:

//400MHz 

#define ALLOPP_DDR3_SDRAM_TIMING1   0x0AAAD4DB 

#define ALLOPP_DDR3_SDRAM_TIMING2   0x26437FDA   

#define ALLOPP_DDR3_SDRAM_TIMING3   0x501F83FF 

#define ALLOPP_DDR3_SDRAM_CONFIG    0x61C052B2 

#define ALLOPP_DDR3_REF_CTRL        0x00000C30  //400 * 7.8us = 0xC30

#define ALLOPP_DDR3_ZQ_CONFIG       0x50074BE4

 

第二步:配置PHY参数

如下图所示

第三步:将上述参数写入GEL文件,然后使用DDR3_slave_ratio_search_auto.out,算出几组最优参数。

PARAMETER                       MAX  |  MIN  | OPTIMUM |  RANGE   

***************************************************************

DATA_PHY_RD_DQS_SLAVE_RATIO    0x068 | 0x009 |  0x038  | 0x05f

DATA_PHY_FIFO_WE_SLAVE_RATIO   0x138 | 0x000 |  0x09c  | 0x138

DATA_PHY_WR_DQS_SLAVE_RATIO    0x06b | 0x01a |  0x042  | 0x051

DATA_PHY_WR_DATA_SLAVE_RATIO   0x0a9 | 0x04a |  0x079  | 0x05f 

问题:

(1)     OPTIMUM参数非常敏感,多次运行DDR3_slave_ratio_search_auto.out得出的结果(可能相差在1或2,相差很小),在用这些参数跑工程时,有的能跑过,有的会直接跑飞。

(2)     相同的参数跑代码量小,无中断的例程能跑过,跑代码量大有中断的例程会跑飞。

 

现在我不知道这些问题的原因是什么?是还有别的参数需要优化,还是我配置的参数有问题,请指教,非常感谢!!

19 个回复