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.
公司基于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) 相同的参数跑代码量小,无中断的例程能跑过,跑代码量大有中断的例程会跑飞。
现在我不知道这些问题的原因是什么?是还有别的参数需要优化,还是我配置的参数有问题,请指教,非常感谢!!
xiangqian zhao65 说:DDR_PLL_Config( CLKIN, 23, 400, 1);
把DDR频率降更低比如200MHz, 或250Mhz试试。
xiangqian zhao65 说:MPU_PLL_Config( CLKIN, 23, 600, 1);
把主频降低为300MHz试试?
xiangqian zhao65 说:我这个PCB硬件布板是用的4层板,这个有影响吗?
这个应该会有大的影响,具体看布线的地平面是否连续,否则对信号完整性影响会很大。有条件的话,用示波器量一下信号质量。
Dear Tony,
降频测试也是过不了。但是我做了一个测试,源码在附件中。这个源码就是TI官方提供的定时器例程,我在main函数中增加了三角函数运算,目的是为了增加芯片负载。测试结果是在我们的板上运行5分钟左右就死机,但是ICEV2的板子上,同样的OUT文件是能一直运行的。6712.dmtimer.c