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.

[参考译文] TMS320F28388D:如何将 lwip 例程中的 MII 接口更改为 RMII 模式

Guru**** 2535750 points
Other Parts Discussed in Thread: C2000WARE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1124863/tms320f28388d-how-to-change-the-mii-interface-in-lwip-routine-to-rmii-mode

器件型号:TMS320F28388D
主题中讨论的其他器件:C2000WARE

尊敬的团队:

客户按照上述帖子中的说明设置映射后、他检查 PHY 芯片的1.2V 可以正常输出、50MHz 晶体振荡器也可以正常输出到开发板、但连接到计算机将显示: 无法识别的网络、Ping 失败、Ping:传输失败。 一般故障;

在发送/接收中断中添加一个断点、发现没有发送/接收中断;

PHY 复位被上拉。

软件

GPIO 初始化

// RMII 
GPIO_setPinConfig(GPIO_105_ENET_MDIO_CLK);
GPIO_setPinConfig(GPIO_106_ENET_MDIO_DATA);

GPIO_setPinConfig(GPIO_114_ENET_MII_RX_DATA0);
GPIO_setPinConfig(GPIO_53_ENET_MII_RX_DATA1);
GPIO_setPinConfig(GPIO_113_ENET_MII_RX_ERR);

// GPIO_setPadConfig(113U, GPIO_PIN_TYPE_STD);
// GPIO_setDirectionMode(113U, GPIO_DIR_MODE_OUT);
// GPIO_writePin(113U, 0);
GPIO_setPinConfig(GPIO_112_ENET_MII_RX_DV);

GPIO_setPinConfig(GPIO_121_ENET_MII_TX_DATA0);
GPIO_setPinConfig(GPIO_122_ENET_MII_TX_DATA1);
//
// MDIO Signals
//
// GPIO_setPinConfig(GPIO_105_ENET_MDIO_CLK);
// GPIO_setPinConfig(GPIO_106_ENET_MDIO_DATA);
GPIO_setPinConfig(GPIO_45_ENET_MII_TX_EN);
GPIO_setPinConfig(GPIO_73_ENET_RMII_CLK);

MAC 部分:

与例程中的 MII 程序相比、RMII 仅更改 phymode Ethernet_init (pucMACArray)函数中的以下内容:

\\initInterfaceConfig.phyMode = Ethernet_SS_PHY_INTF_SEL_MII;

至:

 initInterfaceConfig.phyMode = Ethernet_SS_PHY_INTF_SEL_RMII;

这个问题会出现在哪里?

此致、

绿色

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

    绿色、  

    我将让我的 SW 同事首先回复。 如果事实证明需要一些硬件支持、那么我将跳转。

    此致、
    Cody  

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

    您好 Cody:

    在这种情况下是否有任何改进?

    此致、

    绿色

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

    绿色、

    您是否了解了 C2000Ware 中提供的"Ethnet_ex9_revmii_example_revmii_side "示例?  

    它会针对 RevMII 执行某些特定配置

    //
    //这会将外部25MHz 时钟配置为 RevMII 的时钟源
    //
    initInterfaceConfig.clockSel = Ethernet_SS_CLK_SRC_INTERNAL;
    //
    //这是用于访问内部 RevMII 寄存器的 MDIO 地址
    //本地 PHY
    //
    initInterfaceConfig.localPhyAddress = REVMII_LOCAL_PHY_ADDRESS;
    //
    //这是远程 PHY 的 PHY 地址
    //
    initInterfaceConfig.remotePhyAddress = REVMII_REMOTE_PHY_ADDRESS;

    此致

    Siddharth

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

    您好 Siddharth:

    我对以太网一无所知。 "RMII"和"revmii"是相同的接口吗?

    我的客户告知这两个接口不同。 除了更改模式和 GPIO 引脚多路复用外、他还想知道需要更改哪些内容才能将 C2000WARE 中的 lwip 项目从 MII 模式更改为 RMII 模式?

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

    您好!  

    抱歉、我把它误读为 revmii 而不是 RMII。  

    客户建议的更改似乎是正确的。 看看是否有东西丢失、然后返回给您。

    此致

    Siddharth  

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

    您好 Siddharth:

    感谢您的关注、并等待您的更新。

    此致、

    绿色

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

    否则、客户会问这个问题是否与   EMAC 的 MDIO 和 MCLK 有关?

     MAC_MDIO_Address 寄存器中描述的 MDC 时钟大约 为1.0~2.5MHz:

    MDC 引脚上的时钟信号是否应为连续周期信号?  

    只要在初始化读写 PHY 寄存器时可以在 MDC 引脚上测量时钟信号、然后没有信号(持续低电平)、客户就会测试他的程序。

    此外、他还发现了一个相关的帖子、该帖子描述了当在 PINMUX 窗口中启用 MII 和 RMII 时、不会选择 MDIO 和 MCLK。 必须手动选择它们。

    e2e.ti.com/.../tms570ls1227-lwip-library-rmii-mii-question

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

    绿色、  

    除了上述更改之外、 还必须配置 RMII 时钟源。  

    EMACSS_CTRLSTS 寄存器的 CLK_SRC_SEL 域用于确定 RMII 时钟源(外部或内部)。

    请参阅 TRM - https://www.ti.com/lit/ug/spruii0c/spruii0c.pdf 中的"RMII 模式计时"部分

    此致

    Siddharth

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

    您好 Siddharth:

    客户反馈、他将外部时钟设置为 RMII 时钟源、并且可以在  ENET_RMII_CLK 引脚上检测到50MHz 时钟信号。

    芯片可以正常发送数据、 可以通过示波器检测到数据信号、也可以在 RX 端口检测到数据。 但在 RX 中断处添加断点无效。

    此致、

    绿色

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

    绿色、

    客户使用哪种 PHY?  

    是否出现了中断问题? 客户是否能够发送/接收数据?

    此致

    Siddharth

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

    您好  Siddharth:

    客户回复:

    他将  LAN8720用于 PHY、有时(偶尔)使用环回例程发送/接收正常数据。

    此致、

    绿色

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

    绿色、  

    不确定可能是什么问题。    您可以请求客户查看 LAN8720论坛以查看 LAN8720是否需要任何特定配置。  此外、还会遇到此帖子、其中提到默认地址不同  

    https://blog.fearcat.in/a?ID=01800-a6e5d3be-e6d8-48d1-a312-96318ea362d3

    此致

    Siddharth