The Best online knowledge resource for hardware engineers!
    Interview Quiz      |       Board Design        |       System Design        |         Lab Stuff                                                                             Home | About
 

 

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