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.

[参考译文] MSP-EXP430FR5969:睡眠模式中的功耗异常高。

Guru**** 666710 points
Other Parts Discussed in Thread: MSP-EXP430FR5969, BQ25570EVM-206, ENERGYTRACE, BQ25570
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1304404/msp-exp430fr5969-power-consumption-while-in-sleep-mode-is-abnormally-high

器件型号:MSP-EXP430FR5969
主题中讨论的其他器件: BQ25570EVM-206ENERGYTRACEBQ25570

我的 MSP-EXP430FR5969 MCU 当前遇到一个不寻常的问题。 问题 与功耗意外增加有关、我想了解导致这种情况的原因。

为了在睡眠模式下优化器件的功耗、我使用以下代码对其进行了编程。 µW、这产生了稳定的100 µA 电流(330 μ A)、符合我的要求。 然而、随着时间的推移和通过各种测试、我注意到电流逐渐增大-首先是500 µA、然后是800 µA、1、000 µA、1.2 mA、最后是 1.74 mA。

#include <msp430.h> 
#include <driverlib\MSP430FR5xx_6xx\driverlib.h>

/**
 * main.c
 */
int main(void)
{
	WDTCTL = WDTPW | WDTHOLD;	// stop watchdog timer

	// Set all GPIO pins to output low for low power
	GPIO_setOutputLowOnPin(GPIO_PORT_P1, GPIO_PIN0|GPIO_PIN1|GPIO_PIN2|GPIO_PIN3|GPIO_PIN4|GPIO_PIN5|GPIO_PIN6|GPIO_PIN7);
	GPIO_setOutputLowOnPin(GPIO_PORT_P2, GPIO_PIN0|GPIO_PIN1|GPIO_PIN2|GPIO_PIN3|GPIO_PIN4|GPIO_PIN5|GPIO_PIN6|GPIO_PIN7);
	GPIO_setOutputLowOnPin(GPIO_PORT_P3, GPIO_PIN0|GPIO_PIN1|GPIO_PIN2|GPIO_PIN3|GPIO_PIN4|GPIO_PIN5|GPIO_PIN6|GPIO_PIN7);
	GPIO_setOutputLowOnPin(GPIO_PORT_P4, GPIO_PIN0|GPIO_PIN1|GPIO_PIN2|GPIO_PIN3|GPIO_PIN4|GPIO_PIN5|GPIO_PIN6|GPIO_PIN7);
	GPIO_setOutputLowOnPin(GPIO_PORT_PJ, GPIO_PIN0|GPIO_PIN1|GPIO_PIN2|GPIO_PIN3|GPIO_PIN4|GPIO_PIN5|GPIO_PIN6|GPIO_PIN7|GPIO_PIN8|GPIO_PIN9|GPIO_PIN10|GPIO_PIN11|GPIO_PIN12|GPIO_PIN13|GPIO_PIN14|GPIO_PIN15);

	GPIO_setAsOutputPin(GPIO_PORT_P1, GPIO_PIN0|GPIO_PIN1|GPIO_PIN2|GPIO_PIN3|GPIO_PIN4|GPIO_PIN5|GPIO_PIN6|GPIO_PIN7);
	GPIO_setAsOutputPin(GPIO_PORT_P2, GPIO_PIN0|GPIO_PIN1|GPIO_PIN2|GPIO_PIN3|GPIO_PIN4|GPIO_PIN5|GPIO_PIN6|GPIO_PIN7);
	GPIO_setAsOutputPin(GPIO_PORT_P3, GPIO_PIN0|GPIO_PIN1|GPIO_PIN2|GPIO_PIN3|GPIO_PIN4|GPIO_PIN5|GPIO_PIN6|GPIO_PIN7);
	GPIO_setAsOutputPin(GPIO_PORT_P4, GPIO_PIN0|GPIO_PIN1|GPIO_PIN2|GPIO_PIN3|GPIO_PIN4|GPIO_PIN5|GPIO_PIN6|GPIO_PIN7);
	GPIO_setAsOutputPin(GPIO_PORT_PJ, GPIO_PIN0|GPIO_PIN1|GPIO_PIN2|GPIO_PIN3|GPIO_PIN4|GPIO_PIN5|GPIO_PIN6|GPIO_PIN7|GPIO_PIN8|GPIO_PIN9|GPIO_PIN10|GPIO_PIN11|GPIO_PIN12|GPIO_PIN13|GPIO_PIN14|GPIO_PIN15);

	// Deactivate high impedance mode
	PM5CTL0 &= ~LOCKLPM5;

	// Configure MCU into LPM3 with interrupts enabled.
	__bis_SR_register(GIE | LPM3_bits);   // Enter LPM3
	__no_operation();               // For debugger.
	
	return 0;
}

需要注意的是、我没有将任何东西连接到 MCU;我的目标只是降低我正在开发的收集应用的功耗。 我不确定这个问题是否是器件本身的故障。 为了便于参考、我在 J13上连接了5V、V+、TST 和 RST 接头。 使用跳线和万用表对 J9进行了测试以测量电流、J2处于旁路、J11 (电容器充电)断开连接。

当我在3.3V 下将 MCU 连接到 BQ25570EVM-206输出时、问题就开始了。我之前使用此模块进行了测试、并对其进行了多次连接、以实现主要应用。 不过、即使在睡眠模式下也会消耗大量功率、促使我降低功耗。 通过 USB 设计测试并实现初始100 µA 之后、电流开始增加、正如我尝试使用收集装置模块复制该过程时所述。

一周后、功耗降至220 µA (0.8mW)、但再次缓慢增加。 在检查能量迹线上的消耗量后一分钟内、30 µA 会使消耗量增加。 使用万用表进行的进一步测试表明、耗电量主要在450 µA 范围内、偶尔会跃升至850 - 950 µA。

非常感谢您提供任何见解或建议。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    当我将 MCU 连接到3.3V 的 BQ25570EVM-206输出时、问题就开始了。

    它似乎与你提到的你没有任何联系的内容相冲突。 如何通过 BQ25570EVM-206进行连接?  当您仅使用我们的 LaunchPad 进行测试时、是否会出现该问题?

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

    您好、Gary。

    "对不起,我不小心给弄丢了。" 让我澄清一下:

    我使用收集器(J8)的输出将 BQ25570EVM-206板连接到 Launchpad 的外部电源引脚(J12)、 然后将 Launchpad 上的电源从调试器切换到外部电源(J10)。 该收集器目前正在从30mW 太阳能电池汲取能量、并将能量存储在4.2V、15F 超级电容器中。

    最初、我上传了代码并使用 EnergyTrace 和万用表(J9)监测功耗。 此时的主电源是 USB。 这两种方法都测量了100 µA 的消耗量。

    但是、当我尝试通过将该板连接到 BQ25570 (如上所述)来复制此设置时、万用表测得的电流消耗会增加到500 µA。 明显高于原始100 µA。

    在断开 Launchpad 并再次检查 USB 上的功耗后、电流保持在相同的水平 、并开始像前文所述的那样增加。

    我希望这能够澄清我的设置以及我面临的问题。 感谢你能抽出时间。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    已将 Launchpad 上的电源从调试器切换到外部电源(J10)。

    您提供的外部电源。 我希望这是一个经过良好调节的3.3V 电源。 当然不大于数据表中显示的绝对最大值。

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

    尊敬的 Jonathan:

    我尝试了下面的代码、它应该与您的代码类似、如下所示

    #include <msp430.h>
    
    int main(void)
    {
        WDTCTL = WDTPW | WDTHOLD;               // Stop watchdog timer
    
      // Configure GPIO
      P1OUT = 0;
      P1DIR = 0xFF;
    
      P2OUT = 0;
      P2DIR = 0xFF;
    
      P3OUT = 0;
      P3DIR = 0xFF;
    
      P4OUT = 0;
      P4DIR = 0xFF;
    
      PJOUT = 0;
      PJDIR = 0xFFFF;
    
      // Disable the GPIO power-on default high-impedance mode to activate
      // previously configured port settings
      PM5CTL0 &= ~LOCKLPM5;
    
      __bis_SR_register(LPM3_bits | GIE);
      __no_operation();                         // For debugger
    }
    
    

    且无需单独使用、能量跟踪或外部电源如下所示

    使用 Energytrace (尝试三次)

    使用外部电源(测试约2普通)

    您可以帮助尝试一下吗?

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

    您好、Gary。

    我尝试了您提供的代码、结果在 我的 Launchpad 上保持不变。

    初始电流始于0.15 mA (相当于0.55mW)。 然后在2分钟内增加到0.28 mA (1mW)、最后达到0.31 mA (1.10mW)。

    我附上了第一次和第三次测量的照片、以及上次测量的功率分布、供您参考。

    第一次测量

      

    第三次测量

    这是上次测量中的功率分布。

    将我的结果与您的结果进行比较后、似乎是我的 Launchpad 有故障。 一个潜在原因可能与之前的配置有关、在前一种配置中、我使用比例为2 / 3的电阻分压器通过 ADC 读取超级电容器电压。 但是、我当时还没有配置内部基准、这可能会导致电压高于当前基准(1.2V)。 我不确定这是否是电源问题的根本原因。

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

    你(们)好。  

    外部电源为 BQ25570EVM-206。 该器件在3.3V 时保持稳定。该电压处于 Launchpad (1.8V - 3.6V)的范围内。

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

    以下是我的跳跃设置、您可以在我进行外部电源测试时参考如下设置