This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

REGOUT0 regulation issue in low power mode

Hi,

I have a issue with the output regulation of REGOUT0.

I have a custom board based on the NFR52840-CKAA (revision D).  I designed it in high voltage mode because I have a lipo battery connected on VHHD (3V to 4.2V) and the output voltage desired on VDD is 2.7 V. So I have a LC filter on DCCH and DCC.

I wanted to evaluate the power consumption in low power mode using this simple code:


#include <stdio.h>
#include <stdlib.h>
#include <nrf.h>
#include "nrf_gpio.h"
#include "nrf_timer.h"


void gpio_output_voltage_setup(void);


void main(void) {
  

  SystemInit();
  gpio_output_voltage_setup();

  while (1) {
    __WFI(); //wait for interrupt
  } 


}

void gpio_output_voltage_setup(void)
{
    // Configure UICR_REGOUT0 register only if it is set to default value.
    if ((NRF_UICR->REGOUT0 & UICR_REGOUT0_VOUT_Msk) != (UICR_REGOUT0_VOUT_2V7 << UICR_REGOUT0_VOUT_Pos))
    {
        NRF_NVMC->CONFIG = NVMC_CONFIG_WEN_Wen;
        while (NRF_NVMC->READY == NVMC_READY_READY_Busy){}
        

        NRF_UICR->REGOUT0 = (NRF_UICR->REGOUT0 & ~((uint32_t)UICR_REGOUT0_VOUT_Msk)) | (UICR_REGOUT0_VOUT_2V7 << UICR_REGOUT0_VOUT_Pos);

        NRF_NVMC->CONFIG = NVMC_CONFIG_WEN_Ren;
        while (NRF_NVMC->READY == NVMC_READY_READY_Busy){}

        // System reset is needed to update UICR registers.
        NVIC_SystemReset();
    }
}

Using this test code, the output voltage is correct (at 2.7 V) and the current consumption too. But after like 10-20 seconds,  the output voltage drops at 2.5 V and current goes up to few mA instead of uA.

I have also tried this test code with the output configured by default (1.8V) and it works properly.

Could someone help me with this issue ? Did I miss something in the configuration ?

Best regards,

David

Parents Reply
  • I'm not sure I understand this comment:

    David Costa Campos said:
    When the analog part is on and the MCU IO isn't configured, the MCU is waked up and the voltage drops to 2.5 V or  2.3V.

    If the GPIO is not configured, why do you expect a high voltage on it? Or do you see a voltage drop on other GPIOs?

    The GPIO specifications have a minimum high output value of VDD-0.4V, meaning these numbers are within spec.

    Is the analog part drawing a large current?

    The GPIOs are by default high impedance (input buffer disconnected, no pull configuration).

Children
No Data
Related