I need a component/circuit which will output 1 if a 1 has been input at any time in the last 1-2ms.

I could make such a circuit out of several shift registers, an oscillator and several OR gates, or I could use an MCU.

Is there a simpler (maybe analogue) alternative? I've considered:

bus -->|--+--+-- out
          |  |
          =  R
          |  |
          _  _
          -  -
>| diode    = capacitor    - GND    R resistor

but the 1V diode drop is quite big, making the circuit very sensitive to the bus being driven at less than 3V3. There may be slew issues, with the output component not recognising an edge.

Maybe a 555 can do this?

The required logic looks like:

       _                          ____   _   __
bus __| |________________________|    |_| |_|  |______________________
       _____________________      _________________________________
out __|                     |____|                                 |__

        |<----- 1-2ms ----->|                  |<----- 1-2ms ----->|
  • 1
    \$\begingroup\$ A 555 sure, but today we have more. eg: LTC6994 (which is basically the mcu you mention, but the hard part has been done already) \$\endgroup\$ – Jeroen3 Jun 3 at 8:22
  • 4
    \$\begingroup\$ This sounds like a job for a one-shot, i.e. a rising edge (1) triggers the one-shot to maintain its output of 1 for a duration of 2ms. Would that meet your requirement? \$\endgroup\$ – MarkU Jun 3 at 8:22
  • 2
    \$\begingroup\$ The ASCII art is lovely but there's a schematic button on the editor toolbar that does a better job. When finished hit the "Save and Insert" button and an image is posted in your question with an edit link. No CircuitLab account required. \$\endgroup\$ – Transistor Jun 3 at 8:35
  • \$\begingroup\$ @MarkU A monostable multivibrator isn't quite what's needed. en.wikipedia.org/wiki/Monostable shows the output going low, even when the input is still high. I'll add a diagram to my post. \$\endgroup\$ – fadedbee Jun 3 at 8:36
  • \$\begingroup\$ @Transistor I did that, and clicked "Save and Insert" but nothing happened except for a brief circular timer. I then tried the back button, which took me back to the editor but without the circuit. \$\endgroup\$ – fadedbee Jun 3 at 8:47

You need a re-triggerable monostable and this can be made from a 555 timer. Waveform: -

enter image description here

555 circuit using a BJT to keep the timing capacitor discharged: -

enter image description here

| improve this answer | |
  • \$\begingroup\$ First time I've seen the 555 drawn with an amplifier symbol, huh! \$\endgroup\$ – Hearth Jun 3 at 11:31
  • \$\begingroup\$ @Hearth maybe I can find a better one? \$\endgroup\$ – Andy aka Jun 3 at 11:37
  • \$\begingroup\$ I don't think there's any problem with it. It's just a bit odd to see. \$\endgroup\$ – Hearth Jun 3 at 11:54
  • 1
    \$\begingroup\$ The regular 555 won't work at 3.3 V, will it? \$\endgroup\$ – Transistor Jun 3 at 12:38
  • 1
    \$\begingroup\$ TLC555 - 2 volts to 15 volts @Transistor \$\endgroup\$ – Andy aka Jun 3 at 12:46

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.