The Right Timing
Many analog circuits need a type of clock signal or a possibility of executing a task after a certain time. There are various solutions available for such applications. For simple timing tasks, a standard 555 circuit can be used. With the 555 circuit and the appropriate external components, numerous different tasks can be performed.
One disadvantage of the popular 555 timer, however, is the inaccuracy of the timer setting. A 555 timer works through charging an external capacitor and detecting a voltage threshold. This circuit is very easy to create, but its accuracy depends strongly on the actual value of its capacitor.
Crystal oscillators lend themselves well to applications requiring higher accuracies. Their accuracy may be high, but they show weakness in another area: reliability. Anybody involved in repairing electrical equipment knows that failure is usually caused by large, predominantly electrolytic capacitors. Crystal oscillators represent the second most frequent cause of failure.
The third way of measuring lengths of time or generating clock signals is with a simple, small microcontroller. Here, too, there is a large selection of components with different optimizations available. However, they need to be programmed, their handling requires a somewhat more in-depth understanding, and they must be scrutinized carefully in critical applications due to their digital design—for example, what occurs in the system if the microcontroller gets stuck.
Apart from these three basic building blocks for clock generation, there are other, less well-known alternatives. The TimerBlox modules from Analog Devices constitute one such alternative. They are silicon-based timing modules that, unlike microcontrollers, are fully analog in operation and can be adjusted via resistors. Thus, software programming is not necessary and the function is very reliable. Figure 1 shows an overview of the different TimerBlox modules with their respective basic functions. Countless other functions can be generated with these basic building blocks.

Figure 1. TimerBlox circuits for generating different timing functions.
In contrast to the widely used 555 timer circuits, the TimerBlox circuits do not depend on the charging of an external capacitor. All settings are made with resistors and the function is therefore more precise. Accuracies of 1% to 2% can be realized. Crystal oscillators have an even higher accuracy of about a factor of 100, but this comes with the disadvantages such a solution brings.
The applications for timing blocks are very diverse. Numerous example circuits have been published by Analog Devices. Figure 2 shows an envelope detector. Several fast pulses are combined to form a longer pulse. The external components of the LTC6993-2 are minimal for this application. The capacitor in the circuit is just a backup capacitor for supporting the supply voltage and has no effect on the accuracy of the timing module.

Figure 2. Envelope detector with an LTC6993 TimerBlox integrated circuit.
Other interesting applications include phase-shifted synchronization of multiple switching regulators for power supplies or the addition of spread spectrum modulation to a switching regulator IC with synchronization input. Another typical application is the provision of a defined delay, that is, the function of a timer for switch-on delays for specific circuit segments.
There are numerous different technical solutions for generating a clock signal and performing various time-based tasks. Each of them has advantages and disadvantages. Silicon oscillators such as the TimerBlox modules are characterized by ease of operation, high accuracy due to the use of variable resistors instead of capacitors, and excellent reliability.
About The Authors
Related to this Article
Products
TimerBlox: Voltage Controlled Silicon Oscillator
TimerBlox: Resettable, Low Frequency Oscillator
TimerBlox: Voltage-Controlled Pulse Width Modulator (PWM)
Product Categories
{{modalTitle}}
{{modalDescription}}
{{dropdownTitle}}
- {{defaultSelectedText}} {{#each projectNames}}
- {{name}} {{/each}} {{#if newProjectText}}
-
{{newProjectText}}
{{/if}}
{{newProjectTitle}}
{{projectNameErrorText}}