I test MSP430F6433 the power consumption is big than 32uA with following configuration, this is much big than 2uA specified in datasheet.
MCU: MSP430F6433.
Hardware: Only 32.768KHz crystal and MCU remain on PCB.
Firmware as following:
int main(void)
{
WDTCTL = WDTPW + WDTHOLD; // Stop WDT
// Enable XT1
UCSCTL6 &= ~(XT1OFF); // XT1 On
UCSCTL6 |= XCAP_3; // Internal load cap
while(BAKCTL & LOCKBAK) // Unlock XT1 pins for operation
BAKCTL &= ~(LOCKBAK);
do
{
UCSCTL7 &= ~(XT2OFFG + XT1LFOFFG + XT1HFOFFG + DCOFFG);
// Clear XT2,XT1,DCO fault flags
SFRIFG1 &= ~OFIFG; // Clear fault flags
}while (SFRIFG1&OFIFG); // Test oscillator fault flag
UCSCTL6 &= ~(XT1DRIVE_3); // Xtal is now stable, reduce drive
UCSCTL4 &= ~(SELA0 + SELA1 + SELA2); // Ensure XT1 is ACLK source
// Port Configuration
P1OUT = 0x00;P2OUT = 0x00;P3OUT = 0x00;P4OUT = 0x00;P5OUT = 0x00;P6OUT = 0x00;
P7OUT = 0x00;P8OUT = 0x00;P9OUT = 0x00;PJOUT = 0x00;
P1DIR = 0xFF;P2DIR = 0xFF;P3DIR = 0xFF;P4DIR = 0xFF;P5DIR = 0xFF;P6DIR = 0xFF;
P7DIR = 0xFF;P8DIR = 0xFF;P9DIR = 0xFF;PJDIR = 0xFF;
LCDBCTL0_bit.LCDON = 0; //LCD module off
//LDO_DISABLE;
LDOKEYPID = LDOKEY;
LDOPWRCTL_bit.LDOOEN = 0;
ADC12CTL0 &= ~ADC12REFON;
ADC12CTL0 &= ~ADC12ON;
ADC12CTL2 |= ADC12TCOFF; //temperature sensor off.
PMMCTL0_H = PMMPW_H; // PMM Password
SVSMHCTL &= ~(SVMHE+SVSHE); // Disable High side SVS
SVSMLCTL &= ~(SVMLE+SVSLE); // Disable Low side SVS
__bis_SR_register(LPM3_bits); // Enter LPM3
}
I refer to code example in CCS about LMP3. the power consumption is big than 80uA. I think one reason is that LDO and internal reference are not disabled.
Would you like help me pick out the bug in above code or post reference code that meets 2.2uA specified in datasheet.
Best Regards,
Zhiyu