NHS3152 sleep mode

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

NHS3152 sleep mode

1,141 Views
tillostermann
Contributor II
Hi,
I'm trying to get a NHS3152 demo board to work in low power mode and toggle the onboard led (0.2Hz). Specifically, when the LED is of, I expect a low current.

#include "board.h"

int main(void)
{
    Board_Init();
 

    // Initialize RTC
    Chip_RTC_Init(NSS_RTC);
    Chip_RTC_Wakeup_SetControl(NSS_RTC, (RTC_WAKEUPCTRL_T)(RTC_WAKEUPCTRL_ENABLE | RTC_WAKEUPCTRL_AUTO));
    Chip_RTC_Int_SetEnabledMask(NSS_RTC, RTC_INT_WAKEUP);
    NVIC_EnableIRQ(RTC_IRQn);
    Chip_RTC_Wakeup_SetReload(NSS_RTC, 5);

 

    while (1) {
        // Toggle led
        LED_Toggle(LED_RED);

 

        // Go to sleep
        Chip_PMU_PowerMode_EnterSleep();
    }

 

    return 0;
}

 

// RTC interrupt
void RTC_IRQHandler(void)
{
    if (Chip_RTC_Int_GetRawStatus(NSS_RTC) & RTC_INT_WAKEUP) {
        Chip_RTC_Int_ClearRawStatus(NSS_RTC, RTC_INT_WAKEUP);
    }
    Chip_RTC_Wakeup_SetReload(NSS_RTC, 5);
}

I've used the firmware documentation to compose this code. Unfortunately, when the LED is off, the NHS3152 still comsumes ~300µA, the same as without sleep mode. What am I missing?

 

BR

Till

0 Kudos
5 Replies

904 Views
bmeyer
Contributor II

Hello All:

I was able to get into deep power down mode, but the IC still draws 13uA. Any guidance to further reduce to ~3uA

0 Kudos

908 Views
tillostermann
Contributor II

Hi,

I've figured out, that not using the debug mode but flashing the release code to the board decreases the Icc to ~120µA (LED off)in deep sleep mode. This is still too high for my application, is there further documentation on configuring the deep sleep mode available?

Otherwise I will have to work with deep power down.

BR

Till

0 Kudos

908 Views
Jonathan_Iglesias
NXP TechSupport
NXP TechSupport

Dear Till Ostermann,

Hope you are doing great, I would like to apologize for the delay, there is more information in the SDK, you can found a section for Power modes, and also there is the datasheet for more explanations and the UM10876 you can found state transitions for deepsleep to active. all of this documentation can me found in the SDK NHS3152: NTAG SmartSensor with Temperature Sensor, Digital and Analog IOs|NXP  (Software & tools tab), please check this information hope it helps to solve your question if not please let me know.

Have a great day !

BR

Jonathan

0 Kudos

908 Views
jackkc7vlo
Contributor I

Hi Jonathan,

     I have a similar issue.   There seems to be multiple places and things to do to reduce power.   I've tried all I can find and am still running at about 80uA in Deep Sleep.   Is there example code for turning off or reducing power to the peripherals before going into deep sleep?

            Best Regards,

                      Jack  

0 Kudos

908 Views
driesmoors
NXP Employee
NXP Employee

Hi,

The lowest power stat eis reached when going to Deep Power Down, in which only the PMU and the RTC is still powered (e.g. SRAM is not retained). In this mode, power consumption will be ~3uA. Downside is that waking up requires a reset (which takes ~3ms) and code execution cannot be resumed. 

If you are looking for the lowest possible power consumption while SRAM is retained, and you can resume execution upon any interrupt, you can:

  • reduce the SysClock
  • power-off as many peripherals as possible
  • activate pull-ups or pull-downs on all pins, so no PIO pins are floating

I don't have hard numbers, but in my experience 80 uA is already a very good number. If you want to go much lower, you have to use the Deep Power down mode.

Best,
Dries.   

0 Kudos