Im trying to read the falling edge of digital logic input to wake up a microcontroller. Below is the circuit I have used. There is an RC filter to provide a ~5ms debounce time, and a 100K pullup so the circuit doesn't use lots of power while the switch is in its on-state. The switch may be in its on-state for roughly 10% of the circuit operation time.
The problem with my circuit may seem obvious to some but I seem to have overlooked it; The input is pulled low quickly (discharges) just how i wanted it, but it is pulled high (charges) very very slowly due to the 100K pullup.
I don't want the circuit to take a long time to charge up (ideally <20ms) but I also don't want it to draw lots of current when the switch is in its on-state. Are there any engineering tricks i can employ to achieve these two things together? I assume its a classic problem but I cannot find any solutions.