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

nRF52 Power-fail Comparator expected current consumption

Our nRF52832-based board is powered by a coin cell battery, and spikes in current can cause the voltage to drop. This is okay early in the battery's discharge curve, but as the battery ages, this gets dangerous and will eventually cause brown-outs. So I looked into the power-fail comparator feature, which seemed really promising. The hope was that I could use the power-fail warning event to detect a rapidly dropping voltage in time to abandon the activity that caused the current spike (and voltage drop). However, I noticed on page 81 of the nRF52832 product spec, it says this:

To save power, the power-fail comparator is not active in System OFF or in System ON when HFCLK is not running.

Obviously since our product is battery powered, we are not running HFCLK the vast majority of the time. I was discouraged, but I figured I could enable the feature when I'm about to begin a risky action and then disable it again once that action is complete. But first I started by enabling the feature at boot and leaving it enabled all the time just to test how well it works. It seemed promising, so I checked the current consumption. To my surprise, I don't think I'm seeing any additional current when the power-fail warning is enabled (using sd_power_pof_enable() and sd_power_pof_threshold_set()). With the Nordic PPK, I measure about 8-9uA when waiting for events between BLE advertisements regardless of the power-fail comparator state, which is about what I expect for this board.

So I guess my question is- why does this work? Shouldn't this feature result in increased current consumption? What am I missing? This seems like good news but I'm worried about relying on this if it's unexpected.

I'm running SDK15.2 and S132, if that matters.

Parents
  • Hi again

    If your "risky events" don't start/enable the HFCLK already, it should be fine using sd_power_mode_set() to do so as long as you don't mind the additional current consumption. There shouldn't be any other concerns regarding this approach, so feel free to do so, as I can see that you don't have a good way to implement the low power comp.

    Best of luck and regards!

    Simon

Reply
  • Hi again

    If your "risky events" don't start/enable the HFCLK already, it should be fine using sd_power_mode_set() to do so as long as you don't mind the additional current consumption. There shouldn't be any other concerns regarding this approach, so feel free to do so, as I can see that you don't have a good way to implement the low power comp.

    Best of luck and regards!

    Simon

Children
No Data
Related