1
\$\begingroup\$

I am planning to make a simple integer adder/multiplier which needs a variable frequency, comparatively slow clock (around 1 to 200 Hz) for demonstration purposes. I used the following generic 555 timer circuit to generate the required clock signal.

schematic

simulate this circuit – Schematic created using CircuitLab

(Add more D flip-flops if more bits needed)

I want to pause the clock when the circuit detects a data overflow (sending a 3V logic signal) to stop the calculation process and hold its states. Not being the most familiar with electronics, I tinkered around in Falstad and noticed if you interrupt the connection between output and the "feedback" rail (Trigger, Threshold, and C1) , the timer will be stuck in its current state. The circuit will then be like such:

schematic

simulate this circuit

So, let me divide my question into two parts:

1. Can I simply use a switch (say, a BJT or a relay) to interrupt the the feeback rail to pause the clock?

2. Can I simply use BJTs or MOSFETs as the switch here? If not, can I use BJT-based octocouplers? The simulation from Falstad shows that BJTs/MOSFETs interfere with the clock signal.

Falstad schematics, using a relay controlled by a BJT

\$\endgroup\$
  • \$\begingroup\$ See Ben Eater's site: here. It's on the clock module with a variable rate to it, a manual stepping capability, etc. Pretty much covers it. \$\endgroup\$ – jonk Dec 10 '18 at 7:04
1
\$\begingroup\$

You can make the 555 oscillation stop without having to use any switch. Just connect your on/off signal to the RST input of the 555 chip. When the RST goes low the 555 will stop. When RST goes back high the 555 will resume generating the clock signal again.

If you want the circuit output to retain its last signal level when the clock becomes gated this is solved by running the 555 at twice the desired frequency. Then you use a D-Type FF to clock on the rising edge of the 555 output and connect it's D input to the QNOT Output. The FF will produce a nice 50% output duty cycle and will retain whatever state it was in when the 555 is forced into reset.

\$\endgroup\$
  • \$\begingroup\$ My problem is that when you reset the 555 (connect reset to ground), your Output will always be 0. I would like the output to hold its state. Now that I think of it, maybe I can use a flipflop of some sort? \$\endgroup\$ – BrownZ Dec 10 '18 at 7:02
  • \$\begingroup\$ You can easily solve that problem by running the 555 at twice the desired frequency and then use one D-type FF to divide the 555 frequency in half. When you reset the 555 the Q output of the D-FF may be high or low....all depends, \$\endgroup\$ – Michael Karas Dec 10 '18 at 7:08

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.