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.

C6746 网口通信不上,使lan8710a芯片

3113.PQdsp20170419.rar使用附件中的工程,对MAC进行配置,通过lan8710a进行网口通信,板子使用的是ti官方的C6748的LCDK板子,测试通信不上。在程序里设置发送,用示波器测试C6746的MAC层的引脚也没有信号输出,希望各位帮忙看一下是我哪里的配置或者用法不对,谢谢!

  • 请问是参考C6748 LCDK开发板设计的c6746板子还是直接用的LCDK开发板?

    请检查一下Pinmux和PSC是否配置正确?starterware里有网口例程。
  • 我现在用C646做了一个板子控制交换机芯片,但是没有调通,我怀疑是MAC控制有问题。然后就选择使用TI官方的C6748 LCDK开发板进行调试,两种调试使用的是相同的MAC层程序,只是修改了phy层驱动。我debug查过寄存器Pinmux和PSC是否配置应该是正确的。
    //EMAC PSC 在gel或者boot里面可以设置,此处可以加上
    PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_EMAC, PSC_POWERDOMAIN_ALWAYS_ON,
    PSC_MDCTL_NEXT_ENABLE);
    //DSP EMAC pinmux EMAC 和 MDIO的引脚的分配
    EMACPinMuxSetup(); //没有问题 顺序1

    EMACPinMuxSetup();函数如下:
    void EMACPinMuxSetup(void)
    {
    unsigned int savePinMux = 0;

    /*
    ** Clearing the bits in context and retaining the other bit values
    ** of PINMUX4 register. MDIO
    */
    savePinMux = HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(4)) & \
    ~(SYSCFG_PINMUX4_PINMUX4_3_0 | \
    SYSCFG_PINMUX4_PINMUX4_7_4);
    /*
    ** Performing the actual pin multiplexing to select MDIO peripheral's pins
    ** for use.
    */
    HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(4)) = \
    (PINMUX4_MDIO_ENABLE | savePinMux);


    /*
    ** Clearing the bits in context and retaining the other bit values
    ** of PINMUX2 register.
    */
    savePinMux = HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(2)) & \
    ~(SYSCFG_PINMUX2_PINMUX2_31_28 | \
    SYSCFG_PINMUX2_PINMUX2_27_24 | \
    SYSCFG_PINMUX2_PINMUX2_23_20 | \
    SYSCFG_PINMUX2_PINMUX2_19_16 | \
    SYSCFG_PINMUX2_PINMUX2_15_12 | \
    SYSCFG_PINMUX2_PINMUX2_11_8 | \
    SYSCFG_PINMUX2_PINMUX2_7_4);

    /*
    ** Performing the actual Pin Multiplexing to select relevant pins in
    ** PINMUX2 register.
    */
    HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(2)) = \
    (PINMUX2_EMAC_ENABLE | savePinMux);

    /*
    ** Clearing the bits in context and retaining the other bit values
    ** of PINMUX3 register.
    */
    savePinMux = HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(3)) & \
    ~(SYSCFG_PINMUX3_PINMUX3_31_28 | \
    SYSCFG_PINMUX3_PINMUX3_27_24 | \
    SYSCFG_PINMUX3_PINMUX3_23_20 | \
    SYSCFG_PINMUX3_PINMUX3_19_16 | \
    SYSCFG_PINMUX3_PINMUX3_15_12 | \
    SYSCFG_PINMUX3_PINMUX3_11_8 | \
    SYSCFG_PINMUX3_PINMUX3_7_4 | \
    SYSCFG_PINMUX3_PINMUX3_3_0);


    /*
    ** Performing the actual Pin Multiplexing to select relevant pins in
    ** PINMUX3 register.
    */
    HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(3)) = \
    (PINMUX3_EMAC_ENABLE | savePinMux);

    /* Enable MII mode of operation */
    HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_CFGCHIP3) &= ~(SYSCFG_CFGCHIP3_RMII_SEL);

    }
  • 用的C6748的LCDK开发板