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

pca10056 vddio and REGOUT0 setting

Greetings -

I am working on a peripheral-heavy project. Many of the devices seem to work Just Fine with VDDio of 1.8 volts. On device seems to be having fits and I need to rule out a low "logic 1" voltage.

The PCA10056 I have has the "EXTSUPPLY" register in the UICR set to "true" (0x1) and "REGOUT0" having a value with the low-order 3 bits set to 0x4. According to the documentation for the device, the result SHOULD be that VDDio is 3.0 volts.

If I assert a GPIO pin and measure the voltage I see 1.80 volts. If I hook up a logic analyzer and look at GPIO pins that are being used for SPI and I2C peripherals, I see 1.80 volts.

Update: I have tested other code, including the "usbd" example, and output voltage is 3.0 volts, as expected. The key difference is that my code is using BLE functions through the SoftDevice and the "usbd" example doesn't.

Help?

  • FormerMember
    0 FormerMember in reply to endnode

    The reason for the measured 1.8 V could be related to how the power supply is connected (VDD/VDDH), see the Objetive Product Specification, chapter "Power supply --> main supply" : "High voltage mode is entered when the supply voltage is only connected to the VDDH pin and the VDD pin is not connected to any voltage supply."

    How is the power supply connected on your board?

    On the PDK, high voltage mode is obtained by powering the chip from the nRF_USB-port (not the port that is normally used), and then setting the switch "nRF power source" to "USB".

    As specified in the Objetive Product Specification, the voltage on VDDH should be between 2.5 and 5.5 V.

    On the PDK, the VDDH voltage can be measured on P20, pin "VDD nRF HV".

  • Kristin -

    As noted in the original question, EXTSUPPLY is 0x01 and the low order 3 bits of REGOUT0 are 0x4. There are some other set bits in REGOUT0, but the documentation for that register indicates that only the low order 3 bits are used.

    We did measure pin 20 yesterday and it had 3.0 volts as well.

    One observation - when NOT using the SoftDevice on an example, the GPIO voltage on an LED was measured at 3.0 volts. As regards which GPIO pins had 1.8 volts, it has been a sampling of pins on both GPIO ports.

  • Greetings -

    The problem was caused by my using the wrong address to read the EXTSUPPLY (offset 0x300) and REGOUT0 (0x304) values. I was using a base address of 0x10000000 instead of the correct address of 0x10001000. When I used the correct value I found that both values in the UICR were uninitialized (0xFFFFFFFF). After programming the desired values (0x01 and 0x04) to those two locations using nrfjprog, respectively, all is well.

Related