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.

CC2538 - low power consumption

Other Parts Discussed in Thread: CC2538

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)

    {

    }

}
  • Hi,

    Please try this:

    • Removie all breakout IO jumpers on SmartRF06EB (P403, P404, P405)
    • Remove jumpers from XDS100v3 bypass header (P408) -- this removes possibility to debug.

    If you have SmartRF06EB 1.2.1 (see sticker on backside), the current measurement unit actually contributes to the current draw when you measure the current over the "VDD to EM" jumper. You can remove this extra current draw by simply removing the current measurement unit (U504) from the PCB.

    I hope this helps!

    Br,
    TIABO

    --
    PS. Thank you for clicking  Verify Answer below if this answered your question!

  • Thanks a lot TIABO, It works !! I 

    Sincerely, 

    Jehuti