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

brownout / watchdog reset on voltage drop

Hi,

as described here https://devzone.nordicsemi.com/f/nordic-q-a/37056/supervision-timeout-and-unplanned-disconnect our device has a hard current limit of 2mA.

Problem occurs if there is a BLE disconnect due to BLE master getting out of range.  This leads to a retry burst which exceeds the current limit.  To be tolerant against short peaks there is a capacitor bank on the device.  Retry bursts happens until supervision timeout hits (or Vcc drops ;-)).

If these retry bursts last long enough, Vcc begins to drop.

This unfortunately brings the device nRF52832 into an undefined state: watchdog does not occur and even worse, brownout reset also does not do its job.  Not sure, if brownout reset does not occur or if the reset logic does not reset the device to a low power state.  Measurement showed that Vcc is at appr. 1.5V.

Actually only powercycling helps out of this situation which of course is not acceptable.

Any help / suggestion is welcome.

Hardy

  • The brownout reset likely is working as I don't think there is a way to prevent it.

    What is probably going on is that once your battery voltage is low and the reset occurs there is insufficient battery power to boot and the device gets into some odd in between state. Booting takes quite a bit of power since it takes a little while and the processor runs continuously during this time.

    You can set the POF for a higher voltage and this will give you an interrupt that you can use to prevent the problem. Thoughts would be terminate the connection, properly service your watchdog, etc.

    Also, you should put code in early in main that looks at vdd_nrf and if it is low then you can put the processor to sleep for a minute while the battery voltage picks up. Then once it is high enough continue with the boot.

    I'm assuming you are using a coin cell.  This is a common problem with coin cells.

  • Thanks for the suggestions.  I'm already using POF to prevent the situation.  But this can't be the final thing, because if voltage drops to fast the device will be stuck again.

    No, device is not powered by a coin cell.  Actually it is a loop powered (4..20mA) field device, current budget for the BLE connectivity is max. 2mA which is really limited by hardware.

    Concerning your suggestion with the intermediate start up state: I will check that tomorrow.

    Any idea what could be the minimum code for a 1s low power wait?

    Out of memory I think, it must contain something like

    - NRF_POWER->TASKS_LOWPWR = 1;

    - start LFCLK

    - init RTC to generate an event after 1s

    - while (rtc event did not happen) __WFE();

    Hardy

  • When the brown/out detection is triggered the SoC will short VDD to GND in order to drain the battery. It is a sort of kill switch that prevents spurious operation whenever a coin cell battery has been discharged. 

    I suggest you increase the capacitance of the 4.7µF supply capcitor. 

    Do you have any scope of VDD to share?

  • Is this "kill switch" somewhere documented?  Do I understand it correctly, that the kill switch shortens VDD to Gnd until a certain voltage level is reached?

    I will do my best to provide a VDD plot tomorrow.

  • I misspoke sorry, it does not short VDD to GND, it holds the system in a reset state until power cycled. This will drain the battery as mentioned previously.

Related