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.
论坛的各位,大家好
我们自己做的板子,芯片是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的工程师能帮帮忙。
150MHz的输入时钟是可以的,不过你需要修改例程中DDR PLL的配置。
另外,你用的DDR存储器和EVM上的一样吗?如果不是的话,例程中DDR存储器相关的配置代码也要改。
"从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
C6657 DDR3支持的时钟频率范围是400MHz~667MHz.
建议先解决DDRCLKOUT输出时钟的问题,需要关注两方面:
1, DDR PLL的配置.请提供你的配置代码。
2,输入的电源(CVDD, AVDD2, DVDD15...), 时钟(DDRCLK, CORECLK...)是否稳定.
1、DDR PLL的代码就是用的附件里面的,是例程中的程序,只是改了参数。那按照您的说法,DDR3最少需要工作在400MHz吗?我另一个朋友说他在300MHz也正常工作了。
2、CORECLK最高能稳定到800MHz,再往上CORE就会挂掉,电源方案用的LM10010,能稳定到1.04V,就算CORE挂掉后核电压也正常。最开始没在意DDR PLL,因为验证过了main PLL。DDR PLL我这种情况也是供电不足吗?
谢谢!
我在你的附近里看到以下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%。
你好!是曹工吗?本人也正设计一个C6657的板子,看你论坛上说是用LM10010设计的电源,能方便共享一下你的电源的设计方案吗?我的qq邮箱1011848740@qq.com,希望能与前辈多多的交流,谢谢!