No GPIO wakeup from SYSTEM OFF state

We have an nRF51822-based product that goes the SYSTEM OFF in certain situations. We wake up with the DETECT signal from a pin which we set to sensing just before calling sd_power_system_off() The code is really trivial:

...
nrf_gpio_cfg_sense_input(WAKEUP_PIN, NRF_GPIO_PIN_PULLUP, NRF_GPIO_PIN_SENSE_LOW);

#ifdef USE_UART
simple_uart_putstring((uint8_t*)"Good bye, blue sky!\r\n");
#endif

sd_power_system_off();
...


This always seems to work in "sunny day" cases. Unfortunately, we found a reproducible corner case for which the wake up does not work. In case we have a TRANSIENT short between the 3V3 power rail and GND (I know, it's bad. It happened temporarily for a mechanical issue), the following happens:

• the nRF51 resets (cleanly, it seems)
• the application starts executing, configures GPIOs, enters the main loop
• the application decides to enter SYSTEM OFF, which triggers the code above

The nRF51 enters successfully SYSTEM OFF, but never wakes up again for WAKEUP_PIN. Is there some known situation where the wake up from DETECT could fail? We read the PANs (2.3 and 3.0) but did not find anything that could apply.

edit retag close delete

Sort by » oldest newest most voted

The only reason for this not to work would be if the reset/short wasn't as clean as assumed and the configuration of the wakeup pins isn't set after the reset. So a couple of questions: 1: Are you able to re-produce the issue? 2: If yes above, are you sure that the pin configuration is done after the reset has occurred?

more

[hide preview]

Recent blog posts

• Estudando Projetos do SDK 10 para nRF5x com Eclipse Oxygen (Portuguese)

Posted 2017-11-12 00:08:55 by Carlos Delfino
• Configurando o Eclipse Oxygen para Desenvolvimento com nRF5x (Portuguese)

Posted 2017-11-10 21:15:47 by Carlos Delfino
• How to use Git for embedded software development

Posted 2017-11-06 13:21:55 by Yaniv Nis
• Thingy:52 based Weather Station

Posted 2017-10-29 22:31:15 by Krzysztof Szewczyk
• How to build continuous integration and delivery process for embedded SW development

Posted 2017-10-03 11:01:29 by Yaniv Nis

Recent questions

• Issues running imported Keil project in Segger Studio

Posted 2017-11-19 08:21:24 by Nick

• Programming Sparkfun nRF52832 Breakout with Keil

Posted 2017-11-19 07:01:46 by Nick
• BLE_GAP_SEC_STATUS_DHKEY_FAILURE numeric comparison

Posted 2017-11-18 23:08:29 by Arepa