CPU nRF52840 not responsive after Brownout

Hello,

we run an application on a custom board with nRF52840 powered by an external power supply and buffered by a supercap. The supercap then provides the energy for the nordic chip for a few minutes when the external power supply is removed. We noticed the following phenomenon:

When the external power supply is removed, the nordic supply voltage slowly decreases and reaches the brownout voltage -> the cpu stops working, which is expected. However, when the nordic supply voltage stays in that range (around 1,6v) for around 10s and we then reconnect the external power supply, the nordic chip won't boot in most of the times. Note that the rise time is well within the specifications (10ms rise time).

In order to isolate the problem from the supercap: I managed to reproduce the fault using the following setup:

I removed the super cap intervention, so that the external power supply is now directly connected to the nordic mcu. Steps to reproduce:

  1. Progressively decrease the external power supply voltage from 2V in 10mV steps every 200ms until reaching 1,62V (BOV)
  2. Then wait for 10s at that level (1,62V)
  3. Then increase the power supply voltage in a single step from 1,62 to 2V (rise time ~ 10ms)

These steps are also documented on the following waveforms. (a .csv file and a .psdata file are also attached, to be read using PicoScope Software)

In Blue is the Vcc voltage (nordic voltage). In Green is 1s pin toggle used as an indicator whether the mcu is working or not. As shown in the image below, before reaching the Brownout voltage, the mcu is working properly (pin is toggling). From the BOV, the mcu stopped working. Even after re-applying the voltage in a single step the cpu is still not working (pin toggle is still off).  

In order to be able to repeat this test, the supply voltage needs to get very low to cause a power cycle of the nordic chip.

Question: Any input/comments on why is this happening? Is this an expected behaviour? Why is the mcu not working after applying a voltage (2V) with small rise time?

Any help will be much appreciated.

Nordic Waveforms.zip

  • Not an official answer, but related to issues with power-on reset I have seen. The key is the specification of the required maximum 10mSec rise-time, above which the power-on reset is unreliable. Slow VDD rise-times cause many tickets here on failing resets.

    "Note: The on-chip power-on reset circuitry may not function properly for rise times longer than the specified maximum."

    Here is the (potential) issue, the power-on reset is capacitively coupled to VDD so is not a simple voltage threshold:

    The problem specification: "tR_VDD Supply rise time (0 V to 1.7 V) 60 ms" 0V to 1.7V; 1.62V to 2V rise-time requires much less than 10mSec and indeed may never work reliably as the input gate only "jumps" by what could be less than the power-on gate input threshold when using 1.62 to 2V.

    Solution: Old-fashioned crowbar. A falling VDD below the brown-out reset - ie chip held in reset - drops the VDD current to close to nothing and so the VDD can stay high for a very very long time, especially with a Supercap, and so restoration of battery power will now not bring the chip out of reset. The crowbar works by clamping VDD to GND until VDD discharges; some regulators have this built-in to discharge output capacitance. If not using such a regulator the nRF52840 can supply a crowbar by using the Brownout interrupt to turn on a discharge clamp which will turn off when VDD drops to something more friendly, maybe 300mV. Clearly the crowbar is only used when VDD is so low than it is known a reset will be required - perhaps set POFCON.THRESHOLD to 1.8V to generate a POFWARN and generate a crowbar via PPI and EVENTS_POFWARN

    weird-issue-observed-with-nrf52832

    input-protection

    if-vdd-does-not-go-to-0v-when-powered-down

Related