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