Hey all,
I'm looking for an odd flip flop, and I'm not sure exactly which one is the right one to use. I'm trying to detect rising edges on an input using a slow CPU. It's important that I don't miss any rising edges, so I can't just poll the input with my CPU to see if it has changed since I last checked (It might go high and back low again before my CPU rechecks!). It is not so important if my CPU can't distinguish between two rising edges since the last check or just one rising edge since the last check, but it is important that no edges are missed.
What I hope that I could do is have something like a SR flip flop. I would connect my input to the Set line, and connect the CPU's acknowledge line to the Reset line. On a rising edge from the Set line, the flip flop would output a logic 1. Eventually, the CPU would read the value from the flip flop. If the value read was a 1, the CPU would bring the Reset line high in preparation for another rising edge, and the output would fall to 0.
What I am concerned about is the case where Set is high, the CPU raises the Reset line to acknowledge the edge, and while the Reset line is still high, another edge arrives at the input line. I would like this to cause the output to go high, but in the SR flip flop that I know about, this would make no change in the output.
How do I arrange my gates to get the required result?
Cheers, Nicholas Sherlock