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

  • Hi,

    Are you testing with only this code, or is this extracted from a larger application? Have you tried reproducing this on a nRF52840 DK, or without the filter?

    Can you give exact current measurements before and after the current increases?

    Best regards,
    Jørgen

  • Hi Jørgen,

    I am testing only with this code, the rest is commented.

    I have done more testes and I found out that our subcontractor sent us the wrong revision on the schematics. An analog part of the schematics was missing. Sorry for the inconveniences.

    So we had an analog part with an enable pin which was floating. This analog part generate a voltage between 0 to 1.5 V to P0.03 of the nRF52840 which wasn't configured.

    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.

    But when the IO is configured in input mode, the voltage doesn't drop and stays at 2.7 V.

    Is the IOs in high impedance mode when they aren't configured ?

    I can't explain this voltage drop.

    David

  • 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).

Related