Hi,
I am using EVB of RAYTAC MDBT50Q-DB (nrf52840 module) for power consumption testing,
I'm running a zephyr application on it, to debug power consumption issues, using nrf52840dk device tree...
I noticed that once I set REGOUT with different values of V reference - the power consumption changes.
This is a function from "board.c" file that runs during system initialization (PRE_KERNEL_1)
if ((nrf_power_mainregstatus_get(NRF_POWER) ==
NRF_POWER_MAINREGSTATUS_HIGH) &&
((NRF_UICR->REGOUT0 & UICR_REGOUT0_VOUT_Msk) !=
(UICR_REGOUT0_VOUT_3V3 << UICR_REGOUT0_VOUT_Pos)))
{
NRF_NVMC->CONFIG = NVMC_CONFIG_WEN_Wen << NVMC_CONFIG_WEN_Pos;
while (NRF_NVMC->READY == NVMC_READY_READY_Busy)
{
;
}
NRF_UICR->REGOUT0 =
(NRF_UICR->REGOUT0 & ~((uint32_t)UICR_REGOUT0_VOUT_Msk)) |
(UICR_REGOUT0_VOUT_3V3 << UICR_REGOUT0_VOUT_Pos);
NRF_NVMC->CONFIG = NVMC_CONFIG_WEN_Ren << NVMC_CONFIG_WEN_Pos;
while (NRF_NVMC->READY == NVMC_READY_READY_Busy)
{
;
}
/* a reset is required for changes to take effect */
NVIC_SystemReset();
}
When I don't run this code, I measure ~4uA (vref is 1.8V by default), and when I run it (vref is set to 3.3V) I measure ~50uA.
Please help me understand the reason for this?
Thank you