You may be wondering why they chose those particular frequencies. Why not simply use multiples of say 500Hz? The answer is in the harmonics generated due to nonlinear circuits in the phone system. If you look at the low-frequency group you will see that their second harmonic (multiple of two) falls between the high-frequency tones. Third harmonics and above are outside the range of the high-frequency tones and are not a problem.
A valid tone pair has to meet the following criteria:
" Only one tone per group allowed
" Start of each tone must be less than 5mS apart
" Both tones must last at least 40mS
" Each tone must be within 2% of the center frequency
" The tone levels must be within 6dB of each other
All of these features make it extremely unlikely that voice will accidentally generate valid DTMF tones. This has meant that DTMF is now used for much more than just sending dialed numbers across the telephone network.
THEORY OF OPERATION
The circuit is powered via 5 volts supplied by IC1, a 78L05 voltage regulator. Diode D1 provides reverse polarity protection in case the input voltage is connected the wrong way around.
IC2 is a DTMF receiver chip, a CM8870 from California Micro Devices. It is responsible for all the processing described above. The DTMF signals are picked up by microphone M1 or direct from the telephone line via the transformer. Switch SW1 is used to select between them.
The microphone is an electret type and is biased by resistor R1. The transformer provides electrical isolation between the phone line and the kit. Capacitors C10 and C11 couple the AC signal from the phone line to the transformer whilst blocking any DC current. Both transformer windings have a nominal impedance of 600 ohms. Resistors R10 and R11 reduce the AC voltage level to the transformer to prevent signal overloading and distortion.
The DTMF signal (selected by SW1) is coupled via C1 and R2 to the inverting input (pin 1) of a differential op-amp inside IC2. The op-amp is configured for single-ended operation which means feedback from the output (pin 3) is used to set the gain. The gain is set by R3/R2 a gain of 47 in this case. The non-inverting input (pin 1) is tied to a reference voltage Vref at pin 4. This approximately 2.5V (half Vcc).
Resistor R4 and capacitor C2 set the guard time, the length of time a tone must be present (or absent) for it to be recognized. For the values shown the guard time is set at 40mS.
Once a valid tone has been detected (after 40mS) the STD output (pin 15) goes high and the 4-bit digit data (representing 0-9 and A-F) is presented on the output pins (pins 11-14). The STD output will remain high whilst the tone is still present and will drop low 40mS after the tone stops.
IC3 is an Atmel 89C2051 microcontroller programmed with software to take the digit data from IC2 and display it on the LCD (and send it as a standard ASCII character to the serial output). It also monitors the state of the two pushbuttons and scrolls the display left or right as required.
The PC serial Interface. This outputs the DTMF digit as an ASCII character. Normally RS232 uses +/- 12V signals for the data stream where +12V is logic low and 12V is logic high. Since we do not have +/- 12V available we use +5V as logic low and ground as logic high. This circuit should work in most cases but it is not guaranteed.
FUN AND GAMES WITH ALPHANUMERIC LCDs
There is a lot of information around, especially on the Internet, about these types of displays and how they work. Most of it is about the 16 character, 2 line types, which are the most common. The display used here is a 16 x 1 type and has some funny peculiarities of its own.
Most of the LCDs use the Hitachi 44780 controller chip and have onboard RAM to hold the display data. The controller receives the data and stores it into the RAM. An internal address counter addresses the RAM and is incremented automatically when data is stored. The amount of RAM varies depending on the size of the display. However the RAM always starts at address 00h.
For displays having 2 lines or more, the RAM address of the first character on the first line is 00h. The first character on the second line is at address 40h. The display will scroll automatically as data is written past the edge of the display. However, it wont flow over onto the second line until it reaches that address. At least you can write a full line before overflow. This is not a big problem and is handled with software in the microcontroller.
Single line displays are different. The first display character is at address 00h but the eighth is at address 40h! So, once you have written 8 characters to the display they start scrolling off the left side as new characters are written! Once again this is not a huge problem because it is handled in the microcontroller. But it did cause some problems in the development stage. The microcontroller has to keep track of where the next character is to be written and position the cursor in the LCD controller there before writing the next one.
REFERENCES
"Acoustically Coupled DTMF Receiver" by Dave Dage
Nuts & Volts Magazine, April 1996
http://www.myke.com/lcd.htm Interfacing LCDs
http://www.beyondlogic.org/ Some LCD information
Validate your login
Sign In
Create New Account