What
is DTMF? Dual Tone Multi Frequency is a method of sending 1 of 16
characters (0 -9 * # A -D) over an audio path (telephone, radio etc.)
for dialing, selective calling or control purposes.
The characters are sent using two simultaneous audio frequencies per the
following table:-
| Hz |
1209 |
1336 |
1477 |
1633 |
| 697 |
1 |
2 |
3 |
A |
| 770 |
4 |
5 |
6 |
B |
| 852 |
7 |
8 |
9 |
C |
| 941 |
* |
0 |
# |
D |
The duration of each character is from a minimum of 40 ms to as long as
you want, and each character must be separated by a pause of at least 40
ms.
Generation of the DTMF tone pairs is achieved using an encoder chip such
as the HT9200A from Holtek. This IC will interface with a
microcontroller via a simple serial protocol, and generates all 16 DTMF
tone pairs. Other DTMF encoder IC's such as the TCM5087N can be
connected directly to a keypad, but these are getting difficult to
obtain.
Detection of the tone pairs is achieved using a decoder chip such as the
HT9170 from Holtek or MT8870 for Mitel which output a 4 bit binary code to represent the
decoded character and a strobe when the binary code has been updated
with a new character. You can use this output directly for simple
applications, but more usually it would be fed to a microcontroller.
The following list shows the output codes
from the HT9170 dtmf decoder IC. Note that a dialed ' 0' is coded
as binary '1010' or '10' in decimal, this is presumably a throwback from
telephone dials which produced 10 pulses when a ' 0' was dialed.
| Digit |
Q4 |
Q3 |
Q2 |
Q1 |
| 1 |
0 |
0 |
0 |
1 |
| 2 |
0 |
0 |
1 |
0 |
| 3 |
0 |
0 |
1 |
1 |
| 4 |
0 |
1 |
0 |
0 |
| 5 |
0 |
1 |
0 |
1 |
| 6 |
0 |
1 |
1 |
0 |
| 7 |
0 |
1 |
1 |
1 |
| 8 |
1 |
0 |
0 |
0 |
| 9 |
1 |
0 |
0 |
1 |
| 0 |
1 |
0 |
1 |
0 |
| * |
1 |
0 |
1 |
1 |
| # |
1 |
1 |
0 |
0 |
| A |
1 |
1 |
0 |
1 |
| B |
1 |
1 |
1 |
0 |
| C |
1 |
1 |
1 |
1 |
| D |
0 |
0 |
0 |
0 |
|