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:我是否需要手动禁用以太网电源?

Guru**** 2394305 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/675985/tm4c129xnczad-do-i-need-to-manually-disable-ethernet-power

器件型号:TM4C129XNCZAD

我正在将最初为 Stellaris 处理器编写的代码移植到 TM4C129X 芯片上。 我在电路板初始化中遇到了以下代码:


/*禁用以太网*/
IF (SysCtlPeripheralPresent (SYSCTL_Periph_ETH))
{
SysCtlPeripheralEnable (SYSCTL_Periph_ETH);
SysCtlPeripheralReset (SYSCTL_Periph_ETH);
EthernetInit (ETH_base);
/*等待100ms -未记录*/
SysCtlDelay (SysCtlClockGet ()/30);/*每个循环计数3个周期*/
EthernetPHYWrite (ETH_base、PHY_MR0、0x00000800);//断电
} 

是否确实需要启用以太网外设并在控制寄存器中显式设置其功率位以节省功耗? 我本以为、除非您启用外设、否则外设不会消耗任何功率。

此致、

Dave


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

    您好、Dave、

     首先、请注意 LM 系列与 TM4C129之间的以太网实现完全不同。 请参阅以下用户指南、了解如何从 LM 器件迁移到 TM4C129、尤其是在以太网部分。 您将需要在 TM4C129中像下面的行一样单独启用和复位 EMAC 和 PHY。 您是否计划在应用中使用以太网模块功能? 如果您不想使用以太网、则只需禁用 EMAC 和 PHY 即可。 如果您计划使用以太网并且还希望在 PHY 运行时节省一些功耗、则可以将 PHY 置于断电模式。 在 PHY 断电期间、只启用最小寄存器功能

    SysCtlPeripheralEnable (SYSCTL_Periph_EMAC0);
    SysCtlPeripheralEnable (SYSCTL_Periph_EPHY0);
    SysCtlPeripheralReset (SYSCTL_Periph_EMAC0);
    SysCtlPeripheralReset (SYSCTL_Periph_EPHY0);

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

    您好、Charles、

    感谢您提供的信息、尤其是迁移指南的链接。 这将非常有帮助。

    我的项目根本不使用以太网、因此我只想确保电路已关闭。 如果我理解正确的话、这意味着我只需要为 EMAC 和 phy 调用 SystCtlPeripheralDisable()?

    此致、

    Dave

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Dave、
    您的理解是正确的。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    很棒! 再次感谢您的帮助、Charles。

    此致、

    Dave