TI中文支持网
TI专业的中文技术问题搜集分享网站

DDR3 leveing time out/filed

论坛的各位,大家好

我们自己做的板子,芯片是6655(memory map和6657一样,6657两核,6655单核),最近在调DDR3,一直存在问题,leveling一直通不过,state寄存器显示timeout(6~4位为1)。

测试程序是用的论坛上提供的例程STK_C6657,见附件,因为读取出来的器件ID和6657EVM一样,所以稍微修改下程序就能用了。我的板子用的两片16bits的DDR,并成32bits,具体DQS线的长度见附件DQS&CK.xlsx。

用的DDR3 PHY Calc v10工具计算,将值写入,每次leveling都失败,ddr-state为0x40000074。现在DDR的时钟给的是150MHz,因为把PLL倍到300MHz输出的波形就不对了,板子设计是参考6657EVM的。时钟频率应该多少都可以吧?不一定必须要666.7MHz吧?如果吧leveling去掉,不做leveling,那么写0x80000000写不进去,一直为0。

请各位大神帮忙看下,我这样配的有什么问题,芯片布局是fly-by结构的。把论坛上相关的帖子都看了遍才来求助的,希望TI的工程师能帮帮忙。

Brighton Feng:

150MHz的输入时钟是可以的,不过你需要修改例程中DDR PLL的配置。

另外,你用的DDR存储器和EVM上的一样吗?如果不是的话,例程中DDR存储器相关的配置代码也要改。

chao x:

回复 Brighton Feng:

已经修改了,从DSP输出的时钟也测试过了,是150M。
应该是一样的,MT41J128M16HA_15E,也按照手册对照过了,但是就是对0x80000000往后写数据一直写不进去,一直都为0(如果注销leveling程序),如果做leveling就一直是timeout,我用的是6678的PDK,因为手头没有6657的

Brighton Feng:

回复 chao x:

"从DSP输出的时钟也测试过了,是150M"是什么意思?是说你测到的DDRCLKOUT是150MHz吗?如果你期望DDR数据速率是1333MTS的话,你测到的DDRCLKOUT频率应该是667MHz。

请从下面网址下载包含6657 PDK的MCSDK:

http://software-dl.ti.com/sdoemb/sdoemb_public_sw/bios_mcsdk/latest/index_FDS.html

 

chao x:

回复 Brighton Feng:

是的,我在附件里面有DDR3 PHY CALC V1.0设置的情况,按150M设置的,不用666.7M设置的原因是DDR3的PLL倍频高时DDRCLKOUT输出的时钟为杂波。能麻烦您看看附近里我DDR3 PHY CALC V1.0设置的对不对。

Brighton Feng:

回复 chao x:

C6657 DDR3支持的时钟频率范围是400MHz~667MHz.

建议先解决DDRCLKOUT输出时钟的问题,需要关注两方面:

1, DDR PLL的配置.请提供你的配置代码。

2,输入的电源(CVDD, AVDD2, DVDD15…), 时钟(DDRCLK, CORECLK…)是否稳定.

chao x:

回复 Brighton Feng:

1、DDR PLL的代码就是用的附件里面的,是例程中的程序,只是改了参数。那按照您的说法,DDR3最少需要工作在400MHz吗?我另一个朋友说他在300MHz也正常工作了。

2、CORECLK最高能稳定到800MHz,再往上CORE就会挂掉,电源方案用的LM10010,能稳定到1.04V,就算CORE挂掉后核电压也正常。最开始没在意DDR PLL,因为验证过了main PLL。DDR PLL我这种情况也是供电不足吗?

谢谢!

Brighton Feng:

回复 chao x:

我在你的附近里看到以下DDR PLL配置代码,这是你用的配置吗?

  //EVM6657 with 50MHz input for DDR  KeyStone_DDR_init (50, 26, 1, NULL);

这里配对是50MHz输入时钟,和你说的150MHz输入时钟不符啊?

既然你的核也不稳定,你首先需要保证核能稳定工作,再来调试DDR。重点需要关注的是CVDD,核电压值必须满足VCNTL[3:0]的要求,测试点方法是:

1,根据data manual里的图“SmartReflex 4-Pin VID Interface Timing” 测试得到VID[5:0].

2, 根据hardware design guide里的表"SmartReflex VID Value Mapping"查到VID值对应的电压值。

3,用万用表测试CVDD的平均电压,看它是否满足上述电压值。注意,要在DSP电源输入管脚测电压,不要在电源模块输出点测电压,因为它们之间有压降。

4,用示波器长时间监测CVDD的波动,建议波动范围不超过3%。

 

chao x:

回复 Brighton Feng:

你好,这个程序是原版没修改的,我只改了参数,把它配成150MHz我上午测试了AVDDA2(DDR. PLL的电源)在我的DDRCLKOUT输出异常时,AVDDA2还保持为1.8V在调试核电压时,就算MAIN PLL倍到1G的时候异常,核电压也稳定在1.04V,我如果只需要核工作在500Mhz,是不是就可以先不考虑核电压的问题了。
不知道您看了我对DDR PHY的配置吗,按我那样理解是否正确?

chao x:

回复 Brighton Feng:

输入给DDRCLK. CORECLK的时钟是CDCE62005芯片给的时钟正常,其中DDRCLK为50MHz差分,已用示波器测试

Brighton Feng:

回复 chao x:

请先按前面提到的测试方法测试CVDD,它是根本。

赞(0)
未经允许不得转载:TI中文支持网 » DDR3 leveing time out/filed
分享到: 更多 (0)