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.

[参考译文] TM4C129XNCZAD:TM4C129X EMAC/SMI 通信

Guru**** 2414260 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/717558/tm4c129xnczad-tm4c129x-emac-smi-communication

器件型号:TM4C129XNCZAD

是否可以使用 SMI 总线与内部 PHY 和外部以太网交换机进行通信?  (或者、要重新表述、是否必须将 EMAC 配置为外部 PHY、以便 SMI 正常运行、从而使外部设备正常工作?)

外部开关配置为 DEV ADDR 0x02、以便与 ADDR 0x00处的内部 PHY 不冲突。

这似乎几乎有效。  例如、当我使用 EMACMIIADDR 寄存 器命令 SMI 读取开关寄存器时、我会在外部 EN0MDIO 和 EN0MDC 线路上看到事务。 我还看到那里的开关响应符合预期。  但是、事务之后、我永远不会在 EMACMIIDATA 寄存器中接收除0xFFFF 以外的任何数据。

感谢您的任何建议。

Danny

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

    尊敬的 Danny:

     我认为这是不可能的。 您可以选择内部或外部 PHY、但不能同时选择两者。

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

    谢谢、但要清楚一点、我不希望使用外部 PHY、而是使用 SMI 接口与外部以太网交换机进行通信。  

    方框图不表示 PHYEXT 控制会影响 SMI 信号:

    不过、我将尝试将 PHYEXT 位设置为测试。  如果是这样、我想我最终会对开关接口产生一些冲击、而不是最佳...

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

    我们认为同样的-位'PHYEXT'的位 bang -似乎是在'READON'中。   (虽然"合理"-并非总是-确保成功...)

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Danny:
    很抱歉,我误解了你原来的问题。 我想您将使用外部 PHY。 您应该能够使用 SMI 访问/配置外部 PHY。 您是否使用了 EMAPPHYMMDREAD() API 进行读取?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我相信我们使用的是 EMAPPHYREAD API、我会更仔细地研究这一点。  谢谢

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    此外、我一直认为这一定是某种引脚配置问题。 EN0MDC 和 EN0MDIO 信号需要这3行才能在外部激活、但我找不到文档中专门提到 SMI 的位置、只有 MII:

    GPIOPinConfigure (GPIO_PF2_EN0MDC);
    GPIOPinConfigure (GPIO_PF3_EN0MDIO);
    GPIOPinTypeEthernetMII (GPIO_PORTF_BASE、GPIO_PIN_2 | GPIO_PIN_3);
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    要关闭此环路,需要设置 PHYEXT 位*IS *才能使用 SMI 总线与外部设备通信。  更精确地说、从外部器件接收数据是必需的。  发送方向上的数据可以在不设置该位的情况下正常工作。  数据表中没有提到这一点、我可以找到这一点、EMAC 方框图中也没有对此进行说明图24-1: