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.

[参考译文] TMS320F28377D:TMS320F28377D:如何在低功耗模式下降低电流消耗

Guru**** 2520130 points
Other Parts Discussed in Thread: TMS320F28377D

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1560162/tms320f28377d-tms320f28377d-how-to-reduce-current-consumption-in-low-power-mode

器件型号:TMS320F28377D


工具/软件:

您好:

我目前正在努力实现低功耗模式 TMS320F28377D

在我的电路板上、提供 5V 电压时、系统通常会消耗大约的电流 350mA 。 进入后 Hib 模式 、电流降至约 47mA
但是、根据数据表、HIB 模式下的最大电流消耗指定为约 7.125mA

我的当前源代码如下所示。

  • 是否有其他有助于进一步降低电流的步骤(例如,关闭 ADC 电源或禁用其他外设)?

  • 通常、可以调整哪些元件或配置以便在进入低功耗模式时尽可能降低功耗?

此外、数据表和 TRM 仅提供简要信息。
是否有任何提供该示例的应用手册或文档 低功耗模式的更详细说明 3D 霍尔传感器?

提前感谢您的支持。

void HIB(void)
{
#if defined(CPU2)
    STANDBY();
#elif defined(CPU1)
    EALLOW;
    CpuSysRegs.LPMCR.bit.LPM = LPM_HIB;
    EDIS;

    while((DevCfgRegs.LPMSTAT.bit.CPU2LPMSTAT == 0x0) &&
          (DevCfgRegs.RSTSTAT.bit.CPU2RES == 1));

    DisablePeripheralClocks();
    EALLOW;
    ClkCfgRegs.SYSPLLCTL1.bit.PLLCLKEN = 0;
    ClkCfgRegs.SYSPLLCTL1.bit.PLLEN = 0;
    EDIS;
    asm(" IDLE");
#endif
}

static void Sys2_Sleep(void)
{
    // Enter LPM (Low Power Mode)
    SetCANStatus(A_SLEEP);
    SetCANStatus(B_SLEEP);

    GpioDataRegs.GPACLEAR.bit.GPIO10  = 1U;  // AUX OFF
    GpioDataRegs.GPBCLEAR.bit.GPIO50 = 1U;   // LED OFF
    GpioDataRegs.GPBCLEAR.bit.GPIO51 = 1U;   // LED OFF
    GpioDataRegs.GPBCLEAR.bit.GPIO52 = 1U;   // LED OFF

    SeizeFlashPump();
    FlashOff();
    ReleaseFlashPump();

    EALLOW;
    CpuSysRegs.LPMCR.bit.M0M1MODE = 1U;
    EDIS;

    HIB();
}

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

    您好:

    您似乎已经在 TMS320F28377D 上执行了进入 HIB(休眠)模式的基本步骤。 但是、为了进一步降低电流消耗、您可以考虑以下额外步骤:

    1. 关闭 ADC 的电源 :如您所述、关闭 ADC 电源有助于降低电流消耗。  您可以禁用 ADC 时钟并将 ADC 设置为低功耗状态
    2. 禁用其他外设 :禁用应用程序不需要的任何其他外围设备、如计时器、计数器和串行通信模块。  
    3. 降低时钟频率 :降低外围设备和 CPU 的时钟频率、以最大程度地降低功耗。 您可以使用 ClkCfgRegs 来调整时钟频率。
    4. 禁用未使用的 GPIO 引脚 :禁用任何未使用的 GPIO 引脚以防止它们汲取电流。 您可以使用 GpioDataRegs 来禁用 GPIO 引脚。
    5. 对其他模块使用断电模式 :查看数据表和 TRM 中是否有其它具有断电模式的模块(如 CAN 模块)、并使用它们来降低功耗。