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

How to set VDD output voltage on nRF52840 PDK

Hello everyone,

I'm using PDK 52840 as Programmer/Debugger for our target board with nRF52840 chip. We have also other componen which need 2.5V voltage (down from 3v) and therefore I want to set the VDD voltage to 2,5 Volts. I have tried to change the UICR->Regout0 with:

if (NRF_UICR->REGOUT0 != UICR_REGOUT0_VOUT_DEFAULT)
{
NRF_NVMC->CONFIG = NVMC_CONFIG_WEN_Wen << NVMC_CONFIG_WEN_Pos;
while (NRF_NVMC->READY == NVMC_READY_READY_Busy){}
NRF_UICR->REGOUT0 = UICR_REGOUT0_VOUT_2V4;

NRF_NVMC->CONFIG = NVMC_CONFIG_WEN_Ren << NVMC_CONFIG_WEN_Pos;
while (NRF_NVMC->READY == NVMC_READY_READY_Busy){}
}
NRF_USBD->ENABLE = 1;

but it doesn't work. I ve read some other posts regarding UICR but the instruction was for KEIL IDE and we use IAR. 

I would be nice if you could help me with that problem.

I am using SDK15 and DK version 0.9.

Regards

Parents
  • Hi 

    Do you reset the chip after writing to the register?
    Otherwise the change won't take effect. 

    Have you tried to read out the UICR content after running the code to see if it is updated successfully?

    Best regards
    Torbjørn

  • Hi,

    so now I am confused. REGOUT0 is still "0" but I dont get it it means VDD = 1.8 (default). I'll try to explain my problem detailed, maybe I didn't understand the voltage relations on DK Board.

    We are using the PCA10056 (V0.9.2) to flash/debug/run our custom development board with some other components. We have used the debug connector (P19) to flash and power our custom board. As I mentioned above we have some components which need 2-2,5 V range (because of the I2C voltage tolerance). P19 connector delivers 3.0 V and I want to reduce it to 2-2,5 V region. We are using USB port for programming the DK; nRF power mode = VDD; Vext-nRF=Off; we dont use any external power source. If I try to alter the register as above it doesnt change it stays on default "0". Reset didn't help.

    Thx for the support

Reply
  • Hi,

    so now I am confused. REGOUT0 is still "0" but I dont get it it means VDD = 1.8 (default). I'll try to explain my problem detailed, maybe I didn't understand the voltage relations on DK Board.

    We are using the PCA10056 (V0.9.2) to flash/debug/run our custom development board with some other components. We have used the debug connector (P19) to flash and power our custom board. As I mentioned above we have some components which need 2-2,5 V range (because of the I2C voltage tolerance). P19 connector delivers 3.0 V and I want to reduce it to 2-2,5 V region. We are using USB port for programming the DK; nRF power mode = VDD; Vext-nRF=Off; we dont use any external power source. If I try to alter the register as above it doesnt change it stays on default "0". Reset didn't help.

    Thx for the support

Children
Related