I need to reliably generate a sequence of events based on a digital input trigger signal. With minimal jitter and a predictable deterministic delay.
- 2 to 5 events
- The events will be from 10µs to 10ms apart. Better than 5% timing precision, preferably +-2us.
- Jitter of <100ns
- Jitter must be randomly distributed, no deterministic patterns
- The trigger can be as fast as 50kHz or as slow as 0.1Hz
- Digital configuration interface (via SPI)
Due to regulatory complexity this design will have to be as analog as possible, with perhaps some fixed (non-programmable) logic.
Possible solution path
The solution path that I currently envision is with purely analog monostable multivibrators driven by DACs that set the oscillator currents and some configuration logic. Being analog, any imperfections will be influenced by gaussian noise, thus solving the random distribution of jitter.
But this clearly presents some difficulties due to the three decades of required timing adjustability. Which led me to this question.
Is it possible to design a crystal (or similarly precise) oscillator that has a deterministic and predictable startup transient?
Clearly a crystal oscillator would considerably simplify timings, as it would make possible replacing the monostables with counters. However a fixed oscillator would make the jitter deterministic, as it will be determined by the beat frequency between the trigger source (a processor) and the oscillator. This will cause problems with the averaging of captured evoked signals.
A crystal oscillator that can be deterministically and repeatably started on demand would greatly simplify the problem.
The basic idea
The first idea that came to mind is something as simple as this circuit:
However, crystal oscillators have rather chaotic and unpredictable startup transients that last a long time (which I would assume is due to slow mechanical effects). So this won't work.
Is there a way to achieve this?