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.

[参考译文] TM4C129DNCPDT:配置外部 phy 接口时出现问题

Guru**** 2330660 points
Other Parts Discussed in Thread: TM4C129DNCPDT
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/588798/tm4c129dncpdt-problem-in-configuring-with-external-phy-interface

器件型号:TM4C129DNCPDT

你(们)好  

我正在将 tm4c129dncpdt 用于我的项目,在此项目中我将使用 lwip 栈,我将连接以太网的外部 phy,phy 为 ksz8081rnbca。

我的器件和 phy 接口将是 RMII。 我进行了如下配置

ROM_GPIOPinConfigure (GPIO_PG3_EN0TXEN);
ROM_GPIOPinConfigure (GPIO_PG5_EN0TXD1);
ROM_GPIOPinConfigure (GPIO_PG4_EN0TXD0);
ROM_GPIOPinConfigure (GPIO_PG7_EN0RXDV);
ROM_GPIOPinConfigure (GPIO_PQ5_EN0RXD0);
ROM_GPIOPinConfigure (GPIO_PQ6_EN0RXD1);
ROM_GPIOPinConfigure (GPIO_PK4_EN0INTRN);
ROM_GPIOPinConfigure (GPIO_PF2_EN0MDC);
ROM_GPIOPinConfigure (GPIO_PF3_EN0MDIO);
ROM_GPIOPinConfigure (GPIO_PM4_EN0RREF_CLK);


ROM_GPIOPinConfigure (GPIO_PF1_EN0LED2);
ROM_GPIOPinConfigure (GPIO_PK4_EN0LED0);
ROM_GPIOPinConfigure (GPIO_PK6_EN0LED1);
GPIOPinTypeEthernetLED (GPIO_PORTF_BASE、GPIO_PIN_1);
GPIOPinTypeEthernetLED (GPIO_PORTK_base、GPIO_PIN_4);
GPIOPinTypeEthernetLED (GPIO_PORTK_base、GPIO_PIN_6);
之后、我定义了宏 EMAC_PHY_TYPE_EXTERNAL_RMII。


代码在 EMACPHYConfigSet 函数中循环。

是否有人可以帮助我使用此界面?

此致  

Harish

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    此帖子是否有用?
    e2e.ti.com/.../1864356
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你(们)好  

    现在、我已经为 KSZ8081RNB 的 Xi 引脚和参考时钟引脚提供了50MHz 振荡器。 现在、它们在 lwip 的 EMACRESET 中没有挂起、代码运行正常、但当我将以太网 LAN 连接到路由器时、未检测到链路。

    是否有其他人解决了这个问题?

    此致

    Harish

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    [引用 user="Harish MR">现在他们在 lwip 的 EMACRESET 中没有挂起、代码运行正常、但在我将以太网 LAN 连接到路由器时未检测到链路。我没有尝试使用外部 PHY、 但查看 lwipopts.h 文件 PHY_PHY_ADDR 宏定义 了 lwIPLinkDetect()函数读取的 PHY 地址,以确定链路是否为“向上”。

    是否 已设置 lwipopts.h PHY_PHY_ADDR 宏以匹配 KSZ8081RNB 的 PHY 地址?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Chester Gillon
    感谢您的回答
    是的、根据 KSZ8081RNB 的 Phy 地址、它是相同的
    但链路指示灯不闪烁。 我已通过以太网 LAN 将设备连接到路由器,在使用50MHz 振荡器之前,设备已被检测到,但现在没有检测到。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我对将 lwip 堆栈与外部 phy 结合使用有疑问。
    我使用 ksz8081rnb 作为外部 phy、用于在 lwip 的 tm4c129.c 文件中进行初始化的配置寄存器与 ksz8081中的寄存器不同。 那么,我必须编辑 tm4c129.c 的 EMACphyread 或 Emacphywrite 中的寄存器值吗?

    此致
    Harish
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我将 Lwip 堆栈用于我的项目、在该 lwipstack 中、程序是 tm4c129.c 文件、该文件根据 dp8系列外部 phy 进行编程

    但在我的项目中、我使用了 ksz8081、因此我已根据我的外部 phy 更改了寄存器配置。

    现在我的链路已启动、但我没有从堆栈获取 IP。

    有人能指导我走正确的道路吗?

    此致

    Harish