When I decided to write about timers, I thought it would be a simple exercise. Timers are one of those components that straddle the digital/analog divide and I just wanted figure out a definition that would place my discussion in the corner of the latter. The different types left me completely confused as to how to categorise and group them. I was hoping to refer to devices that I might use in a simple circuit and as a dividing line I decided that the device should self-oscillate (intentionally, of course). As I result I have left out oscillators including crystal and pre-programmed oscillators. I have also ignored devices that would connect to a microcontroller and watchdog timers. Most devices seem to have a square wave output.
Simplified schematic of the 555 timer (Texas Instruments)
Perhaps the most successful chip of all time is the 555 timer (block diagram above). In this day and age where the number of manufacturers of product families like the CMOS 4000 series has decreased to only 2 or 3, there are still many manufacturers of this bubble-gum part so there is obviously still profit in it. If you factor in the derivatives the 555 market must be absolutely enormous. Not only is there the 556 (dual 555) and the 7555 and 7556 (CMOS versions), but there are devices that offer lower leakage currents like the ALD1502 from Advanced Linear Devices or the ZCST1555 from Diodes Inc. which will run at a very low supply voltage. Throw in the Micrel MIC1555/1557 series which reduces the number of pins and you get start to get the feeling that the 555 will be the device use to turn out the lights when civilization ends.
I don’t use Voltage Controlled Oscillators (VCO) often and most that I have come across are a bit long in the tooth. There is one embedded in the CD4046 Phase Lock Loop that you could use, but there is also the Exar XR2209 which has both a square and triangular output. There are also some TTL parts like the 74LS624, 74LS628 and 74S124 and (shudder) some ECL parts as well. The only newer part is from Linear Technologies in the TimingBlox family of parts. The LTC6990 is a VCO where the frequency decreases as the voltage increases.
A logical extension of the VCO (to me anyway) is the voltage controlled Pulse Width Modulator (PWM). I know with the small micros that are available today, a PWM controller is relatively simple to implement replacing the component-intensive method of generating it with a single chip. However if you don’t want to get into coding and debugging and the expense of programming each and every micro the LTC6992 TimerBlox Voltage Controlled PWM will fit the bill.
Sometimes you want an oscillator without having to set up a 555, or you want a higher frequency or better performance. There are several devices that will help you. Maxim has their EconOscillator range including the resistor programmed DS1090 . There is Touchstone’s (now Silicon Labs) selection which is also resistor programmable and, depending on the device, will go from 4Hz to 300KHz or from 1.7mS to 33 hours! Linear Tech also has a contribution to this space- the LTC6991 which uses resistor programming to go from 2mS to 9.5 hours.
And then there are the oscillators with counters to extend the timing function. Let’s start with the historical units- there is the CD4060 with a 14-stage binary counter, the CD4541 with a 16-stage counter, the CD4536 with a 24-stage counter and the 74HCT5555 also with a 24-stage counter. Linear Tech has a programmable range, the LTC6930 that will go from 32KHz to 8MHz based on a jumper code. Intersil produces the ICM7242 which will operate from microseconds to days. Another recent announced addition to Linear Tech’s stable is the LTC2956 Wake-Up Timer that can stretch the timing function to 39 days between pulses and can adjust the on time as well.
There are a series of products that are intended to be closer to the user allowing a degree of programmability. Maxim has the Intersil derived 8 bit programmable RC timer counters ICM7240, ICM7250, and ICM7260. LSI Microsystems also have an interesting range of devices in this niche. They vary from delay timers to timers based on AC line frequency and variations on output like delayed operate, one-shot etc. and would seem to be ideal for products like the multifunction timers that are found in industrial panels. I owe a debt of gratitude to one of them, the LS7211. When I first got to Canada, I was trying to set up my own company and I designed a timer based around it and offered the design to Weidmuller Canada. They didn’t buy it, but we stayed in touch and 3 years later I started working for them. 23 years later and some major organizational changes and I am still there. Wait! Maybe that feeling isn’t gratitude!
The ubiquitous 555 can be configured to act as a monostable and there are many in the different logic families, but the complete picture should include the LTC6993, another in the TimerBlox series. You could of course use two monostables in series or an RC network to create a delay block, but the final TimerBlox part the LTC6994 is just that.
Now I know I said that I wasn’t going to include the small micros, and I am not, but I thought I should mention a programmable part I came across – the Silego GreenPAK2 which is includes configurable timers and PWM generators amongst several other blocks. I wrote a blog on it and it is really worth a look, especially if you are pressed for space.
Just as I was ready to ship this blog of for publication, I came across a rather specialized timer from TI, the TDC7200. It will measure the time between a start and stop signal (actually 5 stop signals – see the data sheet for why) and present the time in digital format. So far it seems rather like a gated counter, but this device is aimed at ultrasonic level sensors. With a resolution of 55pS, I am sure it could be adapted to many “time of flight” applications
I approached this topic as a digital guy looking for modular solutions. I am well aware that you can make your own oscillators with transistors or more fundamental building blocks. I was not trying to write a blog on how to generate waveforms (not yet anyway), but rather looking at the solutions that are available. I apologize in advance for my mindset that must surely have left out whole categories that should be included in a general treatment of the topic. Please add to the conversation in the comments below.