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

Confusion with online power profiler.

Hi, We are developing a product based on the nRF52832 and have been measuring the current consumption on our first prototypes with a Keysight N6705 power analyser. We seem to have a base current, when the CPU is sleeping of around 100uA which was higher than we expected.

By way of confirmation I used the Online Power profiler to get an idea of what to expect and it suggests a standby current of 200uA might be expected

This seems really high to me?

Also if I select the option to turn the DCDC on the standby current increases - also very unexpected?

Can anyone explain why the current profiler indicates such a high standby current? I would have expected it to be in the single digit microamps!!

By way of additional information our FW has UART logging turned off, the App uses the RTC to wake up every 100ms or so to do some work and we are running the LFOSC from a 32KHz Xtal.

May be I am missing something?

Many thanks

  • Hi Glenn

    This standby current you're seeing in the online power profiler is the standby current before the radio turns on, where the HFCLK is running (consuming ~200µA). The sleep current should not be as much as 100µA either like what you're seeing on your device. I assume you have a peripheral still running that is drawing this extra current, as an nRF52832 in sleep mode running the RTC in sleep mode shouldn't consume more than ~2.6µA. Please see this table for more information on the sleep mode currents (yes this is from the nRF52833 PS, as we haven't updated the nRF52832 PS to include these current consumption scenarios, but they are very similar in terms of current consumption).

    Can you show me a snippet of how your application goes to sleep and initializes the RTC? If you're seeing the total current consumption being ~100µA that might be because of what the application does every 100ms when it "wakes up to do some work". Are you able to measure the current consumption in specific parts of the application running, I.E. just when operating and just when it's asleep?

    Please note that we're entering the summer vacation period here in Norway, so delays must be expected as we are low on staff for the month of July. Sorry about the inconvenience!

    Best regards,

    Simon

  • Simon,

    Our FW is based on your template:

    C:\Nordic SDK\nRF5_SDK_15.3.0_59ac345\examples\ble_peripheral\ble_app_template
    and we have not modified the power management code at all.
    Using the Keysight power analyser I can examine the current consumption at any moment in time and the 100uA current is the instantaneous current between advertising and between our 100ms wake up so it is at the time when the CPU should be asleep.
    What I can say is that we have 'inited' SPI, RTC, I2C and PWM but while asleep they are not active therefore I suspect that the current being consumed is the IDLE current for each of these peripherals. We do not call the uninit functions because we need to maintain the pin states.
    I don't think the HF OSC can be running as the current is not high enough for that (datasheet says 250uA typ.)
    Perhaps just the SPI and I2C block current is accounting for what we see?
    Regards
    Glenn
  • Hi Glenn

    I just ran the ble_app_template project on my side (on an nRF52840DK, didn't have an nRF52832 at hand), and measured the current consumption for some scenarios using the PPK and the Power Profiler application in nRFConnect for Desktop.

    Average current while advertising (~140µA):

    Average current in IDLE mode between advertising events (~24µA):

    I think you're misunderstanding the Online Power Profiler, as the standby you're pointing to is what is between the wake-up/HFCLK start until the radio starts up, which is why it is stated as 0.2mA in the OPP. Can you confirm whether this is the timeslot you're measuring the current consumption in as well (see picture below), or are you measuring between the advertising events themselves?

    If you're seeing 100µA in the idle between ramp-up and radio, there must be something wrong with the way you're measuring the current consumption, as the HFCLK is definitely running in this timeslot. If you're seeing 100µA between advertising events, that likely means that one of the peripherals you're using is not uninitialized properly.

    Best regards,

    Simon

  • Simon,

    I can confirm that I am NOT measuring between the wake-up/HFCLK start until the radio starts up but am in fact measuring between advertising so the 100uA does make sense in that context.

    As we have SPI initialised but no CSN activity I suspect that block is consuming more or less nothing, the RTC also draws very little. The PWM block is initialised but not generating an output therefore should be consuming more or less nothing. The I2C is initialised and will likely consume typically 50uA

    Also, because we have peripherals initialised then the internal HF OSC is likely running which consumes typ. 60uA

    I assume the HF XTAL OSC only starts when the radio is needed (in our application)?

    So, in theory we have ~50uA for the I2C plus ~60uA for the internal OSC giving a total of ~110uA which fits more or less perfectly with measurements

    Your other comment about me misunderstanding the OPP was correct, I had assumed 'standby' meant between advertising, I had not fully taken notice of the ~1000us duration!!

    Assuming my comments above are correct then I think we fully understand the situation now so many thanks for your help

    Regards

    Glenn

  • Hi Glenn

    This makes sense. I think you got it correctly now! Yes, the HF XTAL will only start when it is called for by the SoftDevice to start the radio (or other operations requiring the XTAL oscillator).

    Best regards,

    Simon

Related