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.

BeagleBone-Black Rev.C DDR3L 参数配置

Other Parts Discussed in Thread: AM3352

我沿用了BeagleBone-Black Rev C DDR3L(TPS65217C + MT41K256M16HA -125:E,没有加VTT电路)的电路和布板,做了一样机(改eMMC为NAND)。

从UART0启动时,能导入MLO,但导入UBOOT时,报错(有时能传部份,如40%,有时一开始就报错),基本认为是DDR3L 传送数据不稳定造成。

因为空间小,样机没有SD,现也没有仿真器, 无法做DDR3 software leveling。

想借用BeagleBone-Black Rev C DDR3L  参数配置值或原代码,请大家帮忙提供,和提出其他建议,谢谢!

  • 你是抄的BBB的layout吗?注意,是layout?

    因为对于DDR3的配置中,有两个部分,一个是EMIF的配置,和DDR3 PHY本身相关,一个是LAYOUT,这个决定了一些参数,如果这两者都是一样的,你可以直接拿BBB的配置进行,如下:

    //DDR3=400Mhz 

    //OPPTurbo
    //******************************************************************

    //*******************************************************************
    //DDR3 PHY parameters
    //*******************************************************************

    #define CMD_PHY_CTRL_SLAVE_RATIO 0x40
    #define CMD_PHY_INVERT_CLKOUT 0x1

    #define DATA_PHY_RD_DQS_SLAVE_RATIO 0x38 //AB modified
    #define DATA_PHY_FIFO_WE_SLAVE_RATIO 0x94 //RD DQS GATE // AB modified 0x100
    #define DATA_PHY_WR_DQS_SLAVE_RATIO 0x44 //AB modified
    #define DATA_PHY_WR_DATA_SLAVE_RATIO 0x7D //WRITE DATA //AB modified 0xC1

    #define DDR_IOCTRL_VALUE (0x18B)

    //******************************************************************
    //EMIF parameters
    //******************************************************************
    #define ALLOPP_DDR3_READ_LATENCY 0x100007 //AB modified //RD_Latency = (CL + 2) - 1 = 6 + 2 - 1 = 7 // Also the leading 1 seem to linked with IO receiver power down capability of the DDR3L
    #define ALLOPP_DDR3_SDRAM_TIMING1 0x0AAAD4DB //AB modified
    #define ALLOPP_DDR3_SDRAM_TIMING2 0x266B7FDA
    #define ALLOPP_DDR3_SDRAM_TIMING3 0x501F867F

    #define ALLOPP_DDR3_SDRAM_CONFIG 0x61C05332 //termination = 1 (RZQ/4) //AB modified
    //dynamic ODT = 2 (RZQ/2)
    //SDRAM drive = 0 (RZQ/6)
    //CWL = 0 (CAS write latency = 5)
    //CL = 4 (CAS latency = 6)
    //ROWSIZE = 6 (15 row bits)
    //PAGESIZE = 2 (10 column bits)
    #define ALLOPP_DDR3_REF_CTRL 0x00000C30 // AB modified //400 * 7.8us = 0xC30
    #define ALLOPP_DDR3_ZQ_CONFIG 0x50074BE4

    如果layout是自己布的话,建议你把新的trace长度输入到这张表格中,得到一个更新值,用这组值进行测试

    http://processors.wiki.ti.com/index.php/AM335x_DDR_PHY_register_configuration_for_DDR3_using_Software_Leveling

  • Steven,

     

    完全一样的DDR3 线路LAYOUT。

     

    谢谢你快捷的支持。

  • 即使是通用的layout,也不能完全保证您的板子上的参数和ti的BB-black上的一致,因为制版的阻抗等可能不一样。

    所以,您可以试试BB-Black的参数,如果不稳定也是很有可能的。

  • 谢谢你们的支持和建 议,BB-BLACK DDR3参数移过去,已成功,现样机调试稳定,PCB厂应基本符合了阻抗要求。

    但现遇到了另一难题:我们产品是AM3352 通过RGMII 1连接到交换IC:QAC8337N,不是PHY,现无法连接,测量AM3352 发出RGMII TX_CLK只有25M,而QAC8337N发出的是RX_CLK是125M。

    现需要你们或有过AM335X接交换IC的朋友指导思路。

    请参考附件QCA8337N_Data_Sheet_MKG-17793_v1.0和原理框图AM3352-QAC8337N.

    QCA8337N 通过AM3352 GPIO,能配置正常,AC8337N发出的是RX_CLK是125M,已验证。

    1.  如果需要将AM3352 MDIO/MDC连接至 QAC8337N,但QAC8337N的register不是标准的PHY register定义, 怎样修改驱动。

    2.  如果不将AM3352 MDIO/MDC连接至 QAC8337N,AM3352 RGMII1(MAC) 能否固定在1000M/FULL模式,连接交换IC,可以不用自动协商,修改驱动是会简单点?

    QCA8337N_Data_Sheet_MKG-17793_v1.0.pdf
  • 1. 你用的这个还是要通过MDIO的读写来进行设置的吧?没有实际操作过,但是个人感觉,不是标准的定义没所谓,其实你只是调用相应的MDIO的读写函数,对相应的寄存器进行赋值就好了。就是阅读起来会麻烦一点,因为写入寄存器的地址一般都是会用宏定义携程固定的标识称谓。

    2. TRM手册的14.5.9节,RGMII_CTL寄存器中边有对这个SPEED的设置,另外应该还需要修改MAC Control寄存器,CPSW_SL下偏移量为4h的寄存器,bit 7。

  • 谢谢,Steven!

    我们将以RGMII_CTL和CPSW_SL寄存器为重点,再仔细阅读U-BOOT和LINUX有关MDIO相关操作代码,来做更多尝试。




x 出现错误。请重试或与管理员联系。