A bidirectional counter is a synchronous binary counter that can count both up and down. We can use it to count towards a specific value or back to zero.
We can count upwards from zero to a preset value. Sometimes we also need to count down from a defined value to zero. This feature allows us to generate an output signal when the count reaches zero or another specified value.
This type of counter is often called a Down Counter and abbreviated as CTD. In binary or BCD down counters we see the count decreases by one for each external clock pulse, starting from a preset value.
Examples of specialized dual-purpose integrated circuits (ICs) include the TTL 74LS193 and the CMOS CD4510.
Both are 4-bit binary counters that can count up or down, thanks to an extra input pin that lets us choose the counting direction.
Understanding 4-bit Count Down Counter

In the 4-bit counter we discussed, each flip-flop changes its state during the falling edge of the CLK input. This happens specifically when it goes from 1 to 0.
This change is triggered by the Q output of the previous flip-flop. This is different from an up counter wherein the Q output directly causes the state change.
In this case each flip-flop responds to the previous one changing from 0 to 1, rather than the usual transition from 1 to 0.
Understanding How Bidirectional Counters Work
When we talk about Bidirectional Counters we should note that both Synchronous and Asynchronous counters can count up or down.
However Bidirectional Counters are more versatile. They can count in both directions seamlessly.
The counting direction depends on the state of their input control pin. We often call these Up/Down counters. They can follow any specified count sequence in either direction.
Additionally they can change their counting direction at any point in the sequence by using an extra control input. This is shown in the accompanying diagram.
3-bit Up/Down Synchronous Counter

We see a simple 3-bit Up/Down synchronous counter in the circuit above.
It uses JK flip-flops that work like toggle or T-type flip-flops. This setup lets the counter count from zero (000) to seven (111) and then back to zero.
We can count up through the numbers (0, 1, 2, 3, 4, 5, 6, 7) or down through (7, 6, 5, 4, 3, 2, 1, 0).
Bidirectional Counting
Most bidirectional counter chips can change their counting direction at any time.

They have an extra input pin that tells the counter to count Up or Down. The timing diagram above shows how the counter works as the Up/Down input changes.
Modern Applications
Today we often find both up and down counting in one programmable integrated circuit (IC).
This allows us to count in either direction from any starting value.
This gives rise to the development of Bidirectional Counter chips.
Some common examples are:
74HC190: A 4-bit BCD decade Up/Down counter.
74F569: A fully synchronous Up/Down binary counter.
CMOS 4029: A 4-bit Synchronous Up/Down counter.
References:
Issues implementing an up/down counter
3 bit up/down counter using 2 flip flops
Leave a Reply