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

How to measure current with an external power supply on nRF52840?

Hi,

I have a nRF52840 DK that I want to measure sleep current on, but I find it a bit confusing with all the switches etc. After reading through the documentation I have the following setup:

SW10: ON
SW6: nRF ONLY
SW9: VDD
P21: Power analyzer

But what about SW8? And should a usb cable be connected to J2 to prevent leakage current from nRF to the debugger? Is it possible to use the LEDs in this configuration?

Thank you!

Parents
  • Hi, sorry for the confusion. I will try to clarify a bit.

    Note that: VDD domain is the power domain of the DK (not including the nRF chip). Powering LEDs, debugger chip, etc..

    If you use external supply, you can choose between powering the chip directly OR powering the whole DK from the external source. You choose this with the SW10 switch (VEXT->nRF).

    1. Powering the chip directly (SW10 in ON position) enables you to use the power analyzer as a voltage source, and read out the current directly (as opposed to power analyzer as ampere-meter on P22). However, if you power the chip directly, the VDD domain on the DK will be floating, so you need to power the rest of the DK from USB. So, you need the USB cable to be plugged in to J2.
    2. If you are not powering the chip directly (SW10 in OFF position), you do not need the USB cable to be plugged in.

    SW6 disconnects the GPIOs from the rest of the DK. LEDs, buttons, etc.. If all GPIOs are configured as input (default) you don't have to worry about leakage.

    SW9 is used for selecting the power source.

    • Li-Po: The nRF chip is powered by the Li-Po header on VDDH (high voltage regulator, REG0). The VDD domain on the DK has the same voltage as the output of REG0 (using a voltage follower, 1.8V as default)
    • USB: Same as above except that the chip is powered by the nRF USB connector.
    • VDD: Chip is powered from VDD domain, disabling the high voltage regulator. VDD domain is either USB, external supply or battery holder. When SW10 is ON, the chip is always powered from external supply.

    SW8 should always be on.

    So to answer your question specifically:

    • SW10: ON
    • SW6: nRF ONLY or DEFAULT
    • SW9: VDD
    • P21: Power analyzer (1.8V to 3.6V)
    • J2 USB plugged in
    • Yes, you can use the LEDs but you will have to set SW6 to DEFAULT. LEDs are powered through J2.
  • Hi Stian,

    Thank you for your clarification!

    Then SW10 does what I thought SW6 was doing. Do SW6 only open all the switches between nRF52840 and the debugger? 

    Is nRF52840 powered from P21.2 -> VSRC_NRF -> SW9 -> VDD_nRF/VDD_HV? 

  • Yes, SW6 open the switches between the chip and the debugger, LEDs and UART interface.

    If SW10 in ON, the chip is powered from P21 -> VSRC_NRF -> SW9 (VDD pos.) -> VDD_nRF/VDD_HV

    If SW10 in OFF, the chip is powered from VDD -> VSRC_NRF -> SW9 (VDD pos.) -> VDD_nRF/VDD_HV.

  • Thank you for verifying.

    Now I have a test setup based on the ble_pwr_profiling example in the SDK. I have modified the code to go directly into connectable advertisement mode and have set the interval to 100 ms.

    Between the advertisements I get two short current pulses at approximately 2.7 mA. What is that?

    Between the current pulses the average current is 4.6 uA, I would expect it to be less? How can I get the datasheet number of 2.35 uA? Or is it possible to go lower when running the BLE stack?

  • The pulses you see between the advertising events are probably the ULP regulator operating in refresh mode. https://devzone.nordicsemi.com/f/nordic-q-a/38101/the-chip-s-current-consumption-is-not-expected/147109#147109

    You need to add LF clock and RTC current to the idle current when the softdevice is enabled. You can also try to turn off the RAM blocks to save idle current.

  • Thank you.

    When I measure current, should I include the refresh mode pulses or are the datasheet numbers without them?

    Will the BLE stack function properly if I disable RAM blocks? I want to measure a realistic scenario where I do advertisements every 100 ms and 1 s, like a beacon. 

    Should I use the DCDC or LDO to achieve lowest power?

    What current consumption can I expect?

  • The refresh spikes are included in the datasheet numbers and are part of the idle current.

    The BLE stack will function properly if you disable some (not all) RAM blocks. You can read more about the softdevice RAM requirement here, and how to adjust it. The "RAM size" variable must be adjusted to the size of the physical RAM (minus the size required by the softdevice, i.e. what is left over for the application).

    DCDC gives you the lowest power consumption.

    Please check out the Online Power Profiler to get an estimate on the power consumption while using the softdevice.

Reply
  • The refresh spikes are included in the datasheet numbers and are part of the idle current.

    The BLE stack will function properly if you disable some (not all) RAM blocks. You can read more about the softdevice RAM requirement here, and how to adjust it. The "RAM size" variable must be adjusted to the size of the physical RAM (minus the size required by the softdevice, i.e. what is left over for the application).

    DCDC gives you the lowest power consumption.

    Please check out the Online Power Profiler to get an estimate on the power consumption while using the softdevice.

Children
Related