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

NRF52832/52810 System OFF wakeup issue

Hi:

I test the system off mode, I attached a micro vibration sensor. Pulse generated when shaking as follow.

the button config is BSP example default(toggle) ,  i try to use  NRF_GPIO_PIN_PULLUP/NRF_GPIO_PIN_PULLDOWN/ NRF_GPIO_PIN_NOPULL ang BUTTONS_ACTIVE_STATE  One-to-one matching for test. and found when the input is high on hold or low on hold,the system always wakeup. it is true ???? 

Parents
  • Hi,

    I did not fully understand the question, so please elaborate and ask again if the following does not answer it.

    The GPIO sense mechanism can be used as a wake up source from system off mode, and it can detect either a high or a low level. This pulse can be quite short (exactly how short is not documented) and wake up the device from system off. So if you have a bit of noise on the input, then this will typically wake up the system.

  • My shake sensor is connected in series with a resistor connected to GND. The input is set to a pull-up input. One problem is that when my sensor off, the detection pin is pulled down. At this time, I set it to a high level to detect NRF_GPIO_PIN_SENSE_HIGH.(Resistance changes during vibration increase the level of pin detection),it works. But when the sensor off, because of the direct connection to GND and the pull-up input relationship, the leakage current is 200 ua, and the pull-down resistance isolation is at least 100 + ua, which will lead to the level mismatch and can not wake up normally. What can I do to solve the leakage problem? Or is there any better way to wake up?

  • Hi,

    I am not sure I understood you correctly, but from what I understood you have connected the sensor as shown below, via a serial resistor and then the pull-down resistor:

    This constitutes a voltage divider, so depending on the resistor values, you will get an invalid voltage level at the input on the nRF.

    I don't know any details of your design, but generally, you can fix this in one of the following ways:

    • Make sure that Rser is much smaller then Rpull, so that the voltage between will still be within the valid region.
    • Remove Rser (if it is not needed)
    • Use an external pull resistor and move Rpull before Rser. The nRF GPIO input is high impedance and draws virtually no current, so it should not have much impact on the voltage in this case.
Reply Children
No Data
Related