While my background is EE, I've mostly worked as a firmware person. I'm designing a product that should reset about 5 seconds after being placed onto a charger. The delay is to allow time for data to be written to flash if need be.
I'm working with the BG77 part, which has an input RESET_N, which triggers the reset after 2 seconds of being asserted. The waveform for this:

Ideally the reset circuitry will be powered directly from the charger (the product is battery-powered, so any power we can save is helpful). I've broken the problem down into two stages: the delay, and the reset. I desire a signal like this:
My initial idea was two 555 timers: one for the delay and one for the RESET_N assertion. I came up with this:

This simulated correctly with PSpice for TI:

However, in hardware the timing is off by a lot (yellow = RESET_N, green = VUSB, purple = output of delay circuit):

- The delay is about 1 second, not 3 as expected
- The reset pulse is just over 1 second, not 2.9 seconds as expected.
I'm also interested in using a voltage supervisor for this, although I've struggled a bit with this as it needs a voltage input to drive the output logic.
I've gotten quite frustrated with this! I'd love to fix this and have it behind me for the next spin of the board, but I keep tying myself into knots on getting this right - it seems so simple and yet...
In any case, I'd appreciate any insights into what I'm doing wrong on this. If there's a way to make the 555 circuit approach work with a simple change, I'd prefer that at this point, but otherwise I am open to just about anything.
Cheers, Jonathan

decentBOR. – periblepsis Aug 08 '23 at 00:38