Re: digital delay




Chris wrote:
A lot of good advice here. If you've got fixed frequency/duty cycle,
it might be best to just have the PGT and NGT of the square wave each
drive 1 second time delays, and have the timers' outputs set and reset
a flip-flop whose output is the 1 second delayed output.

If you want to use a serial shift register, you could do worse than
using the CD4517, which is a dual 64-bit shift register. If you daisy
chain both shift registers, and use a 555 to get a period of a little
less than 10ms., you can have a complete hobbyist 2 chip solution for a
couple of bucks which will give you 10ms. max timing inaccuracy. If
you want better than 10ms., you can always daisy chain a couple of
4517s for improved specs. I believe they're about a buck apiece from
hobbyist sources like Jameco. Two will give you 5ms., 4 will give you
2.5ms., &c.

http://www.onsemi.com/PowerSolutions/product.do?id=MC14517BCPG
http://www.jameco.com

Do either of these sound like good ideas? Does this answer your
question?

Cheers
Chris

Here's a schematic of the second idea (view in fixed font or M$
Notepad):
| VCC
| +
| | VCC VCC
| | + +
| .-. | |
| | | .--o---o--.
| | | | 8 4 | VCC
| '-' | | +
| | | | |
| o------o7 | |
| | | 3o---------o----)--------------.
| .-. | 555 | | | |
| | | | | 4| |16 12|
| | | .---o6 | .--o----o--. .---o-------.
| '-' | | | |CLKa Vdd | | CLKb |
| | | | | | | | |
| o--o---o2 | | |5 9| | Sig Out
| | | 1 5 | | Q64ao-------o Db Q64bo---->
| --- '--o------' | | | |11
| --- | | | | |
| | === | 1/2 4517 | | 1/2 4517 |
| | GND | | | |
| === | | | |
| GND | | | |
| Sig In 7| | | |
| >-----------o Da | | |
| | | | |
| | WEa Vss | | WEb |
| '--o----o--' '--o--------'
| 3| |8 13|
| === === ===
| GND GND GND
(created by AACircuit v1.28.6 beta 04/19/05 www.tech-chat.de)

As was mentioned by another post, you'll set the 555 frequency
according to the number of steps. Since the 1 second delay will take
128 steps to go through both shift registers, your 555 frequency should
be set for 1/128 second, or about 7.8ms. Your error will be a maximum
of +/- 1 timing period, but that might be acceptable to you.

As I said, the most accurate, simple way to do a one second delay of
the exact signal you describe might be to get signal positive and
negative edge triggers, and have them both trigger accurate monostable
one shots, which then set and reset a flip-flop.

If you have to have more accuracy in the delay, or if there are other
considerations, please feel free to post again. Please also describe
the intended use for the delay -- it might make it easier to figure out
what you need.

Good luck
Chris

.



Relevant Pages

  • Re: Spartan3 SRL16 + SliceFF, LUT stability
    ... adding one pipeline of delay. ... The LUT memories act ... shift register tap value results in an immediate change ... to the output without regard for the clock. ...
    (comp.arch.fpga)
  • Re: MIDI conjunction device
    ... I would agree on a one byte delay with UARTs, ... the serial stream enters the input UART shift register, ... The interrupt service moves the byte to the output ... an additional delay of as musch as one message duration, ...
    (comp.arch.embedded)