Part Number: MSP430F5505
Other Parts Discussed in Thread: CC2640
Greetings.
I am having difficulty getting LPM3 to significantly reduce my current consumption when enabling the USB subsystem (but not having anything plugged into the USB port) with my MSP430F5505.
The simplified version of my code that causes the excess current drain is:
WDT_A_hold(WDT_A_BASE); // Stop watchdog timer
PMM_setVCore(PMM_CORE_LEVEL_2);
USBHAL_initPorts(); // Config GPIOS for low-power (output low)
USBHAL_initClocks(8000000); // Config clocks. MCLK=SMCLK=FLL=8MHz; ACLK=REFO=32kHz
USB_init( );
while( 1 )
{
__bis_SR_register(LPM3_bits + GIE);
_NOP();
}
If I comment out USB_init(), the MCU draws nearly 1mA less than when it is uncommented.
Inside of USB_init(), the call to USB_determineXT2Freq( ) is what causes the higher current drain, presumably because it starts up the XT2 oscillator. I have a 12MHz crystal on the Xt2 pins.
I even tried calling USB_disconnect( ) and USB_disable( ) after calling USB_init( ), but it didn't help.
Any ideas on how to reduce the current drain in LPM3?
Thank you
Scott Wild