To many reading the headline of today’s post the term Flip Flop brings visions of the beach. But to engineering nerds like me, it brings memories of the very first digital circuits.
A flip flop is the basis of all computing. Without the lowly flip flop, none of what we have come to take for granted today would be possible. You couldn’t read this post and I couldn’t write it or deliver it (I guess I could mail it to you).
A flip-flop is a device that stores a single bit (binary digit) of data; one of its two states represents a “one” and the other represents a “zero”. I have always considered the “flip” as 1 and the “flop” as 0.
In even simpler terms, a flip flop is an electronic switch with two possible states: ON or OFF (1 or 0). It has an input where we send it instructions to change or hold its state. Send a blip down the wire to the flip flop’s input and it changes from where it is (a 1 or a 0 – on or off) to its opposite state and then awaits another instruction in the form of another blip of energy.
Flip flops are used in a number of different ways. As a latch, this simple device can be triggered to its ON state (1) as a way to remember something. For example, let’s say we want the front panel light on our preamp to turn on when we press its ON button. Bingo. We simply send a quick pulse to our flip flop and it latches into the ON position. An LED is connected directly to the FF’s output and voila! The light stays on. If we again press the preamp’s front panel power switch another identical pulse is sent to the “latch” and it flops to 0. The front panel light is OFF.
If we want to do some math our friend the flip flop is ready and waiting. Let’s say we want to make a simple counter (we can use multiples of these counters to perform arithmetic). All we need is a few flip flops. Let’s imagine a simple counter using 4 flip flops. This will make a 4-bit counter capable of counting as high as 16 (24). Depending on the state of each of the 4 flip flops we can make a number.
See how it counts? In the binary column are the outputs of our 4 flip flops. At the top of the column, our four flip flops are all OFF (0) and the Octal or Decimal counter is also at 0. In the next down, flip flop #4 is been flipped to 1 and the resulting decimal number is also 1. Now skip down to decimal 7. Flip flops 2, 3, 4 are ON and the result is a 7. And so on. This is called binary counting and it is how all computers count and do math. All of them.
What’s kind of cool about this is that because the maximum countable number is an exponent of 2, we can quickly get big numbers. So, a 4-bit system can count to 16, whereas a 16-bit system (216) can count to 65,536.
Remember now that a CD is based on a 16-bit system. YES!! The same as above. We can break our music down into 65,535 steps of loudness using 16 flip flops. And why do we all get excited about 24-bit audio? With 24-bit audio, we jump to 16,777,215 steps of loudness.
Zounds!
Flip flops can also act as a divider. Let’s say we have a switching frequency of 0ff 88.2kHz that we wish to accurately divide in half to obtain 44.1kHz (CD sample rate). Since each of our 88.2kHz pulses at the input of a flip flop triggers one state or another, the output of ONES are half as many as when we started. Get it? On the input of a flip flop, each transition from 0 to 1 triggers the flip flop to change its state. Thus, it takes 2 pulses at the flip flop’s input for it to go from 0 to 1. Voila! The frequency is halved.
At the core of the fancy computer or mobile device you are reading this post on or listening to your favorite album, is a whole bunch of flip flops.
Like the bazillions of DNA strands whose combinations make us who we are, underneath it all are bazillions of combinations of tiny logic gates that make it all happen.
Here’s to the lowly flip flop, where it all started.