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.

[参考译文] MSPM0L1105:Re 进入睡眠模式会增加功耗

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1406889/mspm0l1105-re-entering-sleep-mode-increases-power-draw

器件型号:MSPM0L1105

工具与软件:

您好!

我的 MSPM0 MCU 在按下按钮并完成超时后会进入睡眠模式。 MCU 在以下代码中输入 STOP0:

    while(!jack_event && !USB_chg_en && OK_sleep_button)
        __WFI();

当器件上电时、MCU 在初始化(使用调试器进行验证)后进入此睡眠环路。 当我按下按钮时、MCU 通过 GPIO 中断被唤醒、MCU 等待计时器完成、然后重新进入此睡眠环路。 但是、这是第二次(以及我多次按下按钮)、MCU 消耗的功率比第一次进入睡眠状态时多1 mA。 有什么想法吗?

其次、一般来说、该 MCU 消耗的静态功耗似乎比我预期的要多。 我看到在睡眠状态下消耗的电流为~700uA (然后在按下按钮后更接近2mA)、基于外设和 STOP0、预计电流低于200uA。 我是否必须手动禁用 ADC、计时器等外设以进一步降低静态功耗、或者__ WFI ()是否足够?

谢谢

Jesse

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

    1.是在自由运行模式还是在调试模式下进行测试?

    这与您使用的计时器是否相关? 让它在 MCU 唤醒后得到计数、对吧?

    3.是要进一步降低功耗、您可以手动禁用外设。 在 STOP1中、PD0仍处于活动状态。

     

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

    尊敬的 Yuhao:

    我现在已经在两种模式中进行了测试、效果是持久的。  

    我已更新睡眠代码以手动断开外设电源:

                DL_UART_Main_disablePower(UART_0_INST);
                DL_TimerG_disablePower(TIMER_0_INST);
                DL_ADC12_disablePower(ADC_INST);
                DL_VREF_disablePower(VREF);
                delay_cycles(POWER_STARTUP_DELAY);
                while(!jack_event && !USB_chg_en && OK_sleep_button)
                    __WFI();
                DL_UART_Main_enablePower(UART_0_INST);
                DL_TimerG_enablePower(TIMER_0_INST);
                DL_ADC12_enablePower(ADC_INST);
                DL_VREF_enablePower(VREF);
                delay_cycles(POWER_STARTUP_DELAY);

    这降低了总体静态消耗(低至~300uA)、但第二次进入此睡眠状态的效果仍然会使功耗增加约1mA。  

    另一个有趣的发现是、从下电上电到下电上电、消耗的电量会有所不同。 在一次功耗中、我将看到同样多的2mA 从 MCU 汲取电流、但下电上电将显示 MCU 图300uA。 按下按钮会再次增加功耗。 显然、代码在每次下电上电和下电上电时没有发生变化、因此我感到困惑。 有什么想法吗?

    谢谢

    Jesse  

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

    也许您可以 逐个卸下外设以查找 此问题的"关键外设"。