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.
Tool/software: Code Composer Studio
Hi this is harikrishna.
Currently i am working on MSP430FR5969 MicroController in LowpoerMode..after all R&D I decided to use LPM3 for my project.so i able to achieve 60uAmps Power consumption on Board having two 2200mAp AA Batteries..in my Board having the some of Pheriperals and components like Flash Memory and Accelerometr and Levelshifer and some capacitors and resistors.To achieve 60uAmps current consumption in sleep mode i put the Msp and my slaves into ultra deep sleep modes.
Now my problem is like Some of board are Consuming 60 uAmps(30 Boards) in sleep mode some are consuming 220uAmps(20Boards),300uAmps(20 Boards),450uAmps(25 Boards) and 1 mAmps(10Boards) in seep mode..literally i am confused where the problem is, the problem is in the Hardware? or Software ? or Assembling? i don't know..can anyone help me out of this issue..
Thanks.
Have you properly configured all of your unconnected pins? This is something whose effects would probably vary between boards.
Hi,
Have you find the reason?
If the software and hardware is same, it shouldn't lies on MSP430 that cause some much different power consumption. I suggest the problem lies on hardware, please check the power consumption spec of other external peripherals.
How about in active mode, do they consume the same current?
Eason
Thank you for for your quick response Eason Zhou,
No, we are still working on it.
Yes both software and hardware are same in all boards. I flashed same hex file in the all boards, but the current consumption is varying on board to board.and i check that Peripherals that i used they are in the sleep mode..today i erased code in the controller and checked the power consumption.it is like 500uAmps and varying ,i thought because there is no code in the MSP that's why Board is consuming like that. then i thought this is not the solution for this type problem .if you find anything problem like this please help us.
Thank you.
Thank you for your feedback.
I advice you to download this LPM3 code into device. To check if the current still changing. This code will close all GPIO.
/* --COPYRIGHT--,BSD_EX * Copyright (c) 2012, Texas Instruments Incorporated * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * * Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * * * Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * * Neither the name of Texas Instruments Incorporated nor the names of * its contributors may be used to endorse or promote products derived * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * ******************************************************************************* * * MSP430 CODE EXAMPLE DISCLAIMER * * MSP430 code examples are self-contained low-level programs that typically * demonstrate a single peripheral function or device feature in a highly * concise manner. For this the code may rely on the device's power-on default * register values and settings such as the clock configuration and care must * be taken when combining code from several examples to avoid potential side * effects. Also see www.ti.com/grace for a GUI- and www.ti.com/msp430ware * for an API functional library-approach to peripheral configuration. * * --/COPYRIGHT--*/ //****************************************************************************** // MSP430FR59xx Demo - Enters LPM3 with ACLK = VLO // // Description: Configures WDT and ACLK to be sourced from VLO and enters LPM3. // Note: On the FET board P1.0 drives an LED that can show high power numbers // when turned ON. Measure current with LED jumper JP3 disconnected. // LED jumper disconnected. // ACLK = VLOCLK = ~9.4KHz, MCLK = SMCLK = 1MHz // // MSP430FR5969 // --------------- // /|\| | // | | | // --|RST | // | | // | | // | P1.0 |---> Disconnect JP9 for power meas. // // T. Witt/ P. Thanigai // Texas Instruments Inc. // December 2011 // Built with IAR Embedded Workbench V5.30 & Code Composer Studio V5.5 //****************************************************************************** #include <msp430.h> int main(void) { WDTCTL = WDTPW | WDTTMSEL | WDTSSEL_2 | WDTIS_5; // VLOCLK, 1s interrupts SFRIE1 |= WDTIE; // Enable WDT interrupt // 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; // Clock System Setup CSCTL0_H = CSKEY >> 8; // Unlock CS registers CSCTL1 = DCOFSEL_0; // Set DCO to 1 MHz CSCTL2 = SELM__DCOCLK | SELS__DCOCLK | SELA__VLOCLK; CSCTL3 = DIVA__1 | DIVS__1 | DIVM__1; // Set all dividers to 1 CSCTL4 = LFXTOFF | HFXTOFF; CSCTL0_H = 0; // Lock CS registers P1DIR |= BIT0; // Turn on LED __bis_SR_register(LPM3_bits | GIE); __no_operation(); // For debugger } // Watchdog Timer interrupt service routine #if defined(__TI_COMPILER_VERSION__) || defined(__IAR_SYSTEMS_ICC__) #pragma vector=WDT_VECTOR __interrupt void WDT_ISR(void) #elif defined(__GNUC__) void __attribute__ ((interrupt(WDT_VECTOR))) WDT_ISR (void) #else #error Compiler not supported! #endif { P1OUT ^= BIT0; // Toggle P1.0 (LED) }
If it doesn't help, I will remove chips one by one, first from these device with active power to check the root cause. But it will need much much more time. Besides, PCB, Cap, Resister, can also be a problem, especially the PCB!
Wait for your feedback again.
**Attention** This is a public forum