Other Parts Discussed in Thread: BQ25570EVM-206, ENERGYTRACE, BQ25570
I’m currently experiencing an unusual issue with my MSP-EXP430FR5969 MCU. The problem applies to an unexpected increase in power consumption, and I’m trying to understand what might be causing this.
To optimize the power consumption of my device while in sleep mode, I programmed it with the code shown below. Initially, this resulted in a stable current of 100 µA (330 µW), which was satisfactory for my requirements. However, over time and through various tests, I noticed a gradual increase in the current - first to 500 µA, then 800 µA, 1,000 µA, 1.2 mA, and finally, 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; }
It’s important to note that I haven’t connected anything to the MCU; my goal was simply to reduce power consumption for a harvesting application I’m developing. I’m unsure if this issue is a fault with the device itself. For reference, I have the 5V, V+, TST, and RST headers connected on J13. J9 was tested with both a jumper and a multimeter to measure current, J2 is in bypass, and J11 (capacitor charge) is disconnected.
The problem began when I connected the MCU to a BQ25570EVM-206 output at 3.3 V. I had previously conducted tests with this module and connected it several times to implement my main application. However, it was consuming a significant amount of power even in sleep mode, prompting me to lower the consumption. After designing a test and achieving an initial 100 µA via USB, the current began to increase as described when I attempted to replicate the process using the harvester module.
A week later, the consumption decreased to 220 µA (0.8 mW), but it’s slowly increasing again. Within a minute of checking the consumption on an energy trace, it increased by 30 µA. Further tests with the multimeter showed consumptions mostly in the 450 µA range, with occasional jumps to 850 - 950 µA.
Any insights or suggestions would be greatly appreciated.