Design a Digital Pulse
Extender
The question is to design a
black box that receive a signal input (pulse) and multiply the
duration of it by five.
Note: the longer pulse can be
transmitted at any time. The length of the longer pulse may not
be accurate.

Figure 1: Pulse Duration Extender
Figure 2 shows
a general block diagram of the solution.

Figure 2: The Proposed Solution -
Block Diagram
The solution is based on an
up/down counter.
After reset (or power-up), the
counter, and Cnt_dn are de-asserted. When the Signal_in set to
high (externally), the counter starts receiving clocks and
counts up. The clock frequency must by higher then the Signal_in,
could be about 100-1000 times to achieve good resolution on the
output. When the Signal_in set to low, the counter stop counting
up and the Cnt_dn set to high. Now the Clk_dn pin on the counter
receives the clocks and start counting down.
When the counter
stop counting up and start counting down, the value its’ holds
represents the number of “Clock Generator” ticks that happened
when the Signal_in was high. The idea now is to count down but
with slower clock, in this solution we are using a clock divider
to divide the “Clock Generator” by 5. Therefore the counter will
counter five times slower.
When the counter reaches zero.
It means that it finishes to count down and the time passed was
five times longer then the Signal_in duration. Stop_cnt create a
pulse, which reset the Cnt_dn and put the system in its idle
state.
The output of the system can be
the Cnt_dn signal.
Note: The above describe general
block diagram and general concept.
Home |
Interview Quiz | Board Design |
System Design |
Lab Stuff |
About
|