我项目使用的AM335x配置的DDR3是MT41K256M16HA-15E,其中tck=1.5ns,CL=9,AL=CL-1=8,CWL=7,根据DDR3手册ODTLon=CWL+AL-2CK =(7+8)/1.5ns (CK)-2CK=8CK, 因此AM335x_DDR_register_calc_tool.xls里面ODTLon应该填8(0x1000),但是ODTLon对应的寄存器REG_T_ODT只分配了3位,因此出现溢出的情况,请问,我该如何处理? 谢谢
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.
我项目使用的AM335x配置的DDR3是MT41K256M16HA-15E,其中tck=1.5ns,CL=9,AL=CL-1=8,CWL=7,根据DDR3手册ODTLon=CWL+AL-2CK =(7+8)/1.5ns (CK)-2CK=8CK, 因此AM335x_DDR_register_calc_tool.xls里面ODTLon应该填8(0x1000),但是ODTLon对应的寄存器REG_T_ODT只分配了3位,因此出现溢出的情况,请问,我该如何处理? 谢谢
另外,GEL文件里面需要设置DATA_PHY_WR_DATA_SLAVE_RATIO 的值,而RatioSeed_AM335x_boards中没有这个参数,但是看到在uboot后,调试窗口会给出这个参数的建议值, 也就是说, 这个参数是先预先设置一个值,然后335x运行DDR3检测算法后给出一个值,我想请问的是:gel里面有WR_MEM_32(DATA0_REG_PHY_WR_DATA_SLAVE_RATIO_0 + (i*0xA4),DATA_PHY_WR_DATA_SLAVE_RATIO); 那我初始值到底该怎么设置呢,谢谢,
jie wang4 说:我项目使用的AM335x配置的DDR3是MT41K256M16HA-15E,其中tck=1.5ns,CL=9,AL=CL-1=8,CWL=7,根据DDR3手册ODTLon=CWL+AL-2CK =(7+8)/1.5ns (CK)-2CK=8CK, 因此AM335x_DDR_register_calc_tool.xls里面ODTLon应该填8(0x1000),但是ODTLon对应的寄存器REG_T_ODT只分配了3位,因此出现溢出的情况,请问,我该如何处理? 谢谢
AL的单位就是CK啊,为啥要除以1.5?
亲,是我搞错了。不过我也有如下问题:http://e2e.ti.com/support/arm/sitara_arm/f/791/p/327419/1140142.aspx#1140142 这个也是我发的帖子,之前我理解有点错误,现在再次提出如下:
1. 根据MT41K256M16HA-15E手册,我可以配置CL=5,CWL=5,根据手册AL=CL-1=5,因此如果按照手册上给的公式ODTLon=CWL+AL-2=8,也还是溢出了,(ODTLon根据ti的AM335x_DDR_register_calc_tool.xls工具,最大值为7),根据老外的解释,是假设AL=0,那么ODTLon=CWL+AL-2=5+0-2=3,这个配置就与以上网页中的配置一样了。关键是为嘛要假设AL=0,这样子DDR3的时序都不对了,盼复?
2.我的第二个问题老外也没有说清楚,我的意思是利用RatioSeed_AM335x_boards.xls工具,就算我配置好了参数,这个表格中没有一个关于 DATA_PHY_WR_DATA_SLAVE_RATIO的选项,那这个参数我从何得来?
盼复,谢谢
1. 这里请以e2e的回复为准。
2. 这里我们的确没有写清楚,可以先用默认的值进行运算,最终找到精确的值。
3ks,如果你有进一步关于此问题的相关答复,请email我,qq8341248@163.com,3ks