Hi,
I have a problem with the consumption of the CC2538 since a long while. It is written in the datasheet that when the CC2538 enters in pm2 mode, power consumption is 2μA maximum.
I therefore test the CC2538em with the trial SmartRF06 board. I measure the power consumption with the "Current Measurement Jumper J503."
I have:
- 1mA in PM1
- 800μA in PM2 (All peripherals inactive)
I do not understand why it consumes so much current. Do you have any leads to reduce this consumption?
Do you think that a device is still enable?
Thanks for helping me!!
Best Regards,
Jehuti.
You can find my code below:
int main()
{
//
// Set the clocking to run directly from the external crystal/oscillator.
// (no ext 32k osc, no internal osc)
//
SysCtrlClockSet(false, false, SYS_CTRL_SYSDIV_32MHZ);
//
// Set IO clock to the same as system clock
//
SysCtrlIOClockSet(SYS_CTRL_SYSDIV_32MHZ);
//
// Disable when in deep sleep
//
SysCtrlPeripheralDeepSleepDisable(SYS_CTRL_PERIPH_GPT0);
SysCtrlPeripheralDeepSleepDisable(SYS_CTRL_PERIPH_GPT1);
SysCtrlPeripheralDeepSleepDisable(SYS_CTRL_PERIPH_GPT2);
SysCtrlPeripheralDeepSleepDisable(SYS_CTRL_PERIPH_GPT3);
SysCtrlPeripheralDeepSleepDisable(SYS_CTRL_PERIPH_SSI0);
SysCtrlPeripheralDeepSleepDisable(SYS_CTRL_PERIPH_SSI1);
SysCtrlPeripheralDeepSleepDisable(SYS_CTRL_PERIPH_UART0);
SysCtrlPeripheralDeepSleepDisable(SYS_CTRL_PERIPH_UART1);
SysCtrlPeripheralDeepSleepDisable(SYS_CTRL_PERIPH_I2C);
SysCtrlPeripheralDeepSleepDisable(SYS_CTRL_PERIPH_PKA);
SysCtrlPeripheralDeepSleepDisable(SYS_CTRL_PERIPH_AES);
SysCtrlPeripheralDeepSleepDisable(SYS_CTRL_PERIPH_RFC);
//
// Let system enter powermode 2 when going to deep sleep
//
SysCtrlPowerModeSet(SYS_CTRL_PM_2);
//
// Go to sleep
//
SysCtrlDeepSleep();
//
// Done - enter an infinite loop.
//
while(1)
{
}
}