If you want to control just one thing using tones, you probably want Single-Tone Control
Eventually, this system was replaced by a system called "DTMF", also known as Touch-Tone. This system uses specific noises ("tones") to send one of 16 different codes.
Although originally intended for telephone use, DTMF tones are now routinely used when code numbers must be sent through channels that were originally intended for audio data.
Among other things, DTMF tones can be recorded and played back later.
The following table shows the common telephone keypad in blue.
The red column shows additional keys that are not usually present on telephones,
but are part of the DTMF specification.
The green labels indicate the tones used for each row and column.
| 1 |
ABC 2 |
DEF 3 |
A |
697 Hz | low tones |
| GHI 4 |
JKL 5 |
MNO 6 |
B |
770 Hz | |
| PRS 7 |
TUV 8 |
WXY 9 |
C |
852 Hz | |
| * |
0 |
# |
D |
941 Hz | |
| 1209 Hz | 1336 Hz | 1477 Hz | 1633 Hz | ||
| high tones | |||||
Example: When the "9" button is pressed, the 852 Hz and 1477 Hz tones are sent.
Since DTMF is so useful, there have evolved a number of chips that make detecting and decoding DTMF easy.
We will use as our example the SSI202 DTMF decoder chip. By the time that you read this, there will likely be better, faster, cheaper solutions. But the SSI202 makes a nice example.
The SSI202 listens for DTMF tones and outputs a binary code, corresponding to the combination it hears.
In the following chart, D1-D8 are the binary bits resulting from the DTMF tones.
There are 16 possible combinations of 4 bits that are on or off.
DTMF tones
| digital output
| | |||||
| key | low tone | high tone | D8 | D4 | D2 | D1 |
|---|---|---|---|---|---|---|
| 1 | 697 | 1209 | 0 | 0 | 0 | 1 |
| 2 | 697 | 1336 | 0 | 0 | 1 | 0 |
| 3 | 697 | 1477 | 0 | 0 | 1 | 1 |
| 4 | 770 | 1209 | 0 | 1 | 0 | 0 |
| 5 | 770 | 1336 | 0 | 1 | 0 | 1 |
| 6 | 770 | 1477 | 0 | 1 | 1 | 0 |
| 7 | 852 | 1209 | 0 | 1 | 1 | 1 |
| 8 | 852 | 1336 | 1 | 0 | 0 | 0 |
| 9 | 852 | 1477 | 1 | 0 | 0 | 1 |
| 0 | 941 | 1336 | 1 | 0 | 1 | 0 |
| * | 941 | 1209 | 1 | 0 | 1 | 1 |
| # | 941 | 1477 | 1 | 1 | 0 | 0 |
| A | 697 | 1633 | 1 | 1 | 0 | 1 |
| B | 770 | 1633 | 1 | 1 | 1 | 0 |
| C | 852 | 1633 | 1 | 1 | 1 | 1 |
| D | 941 | 1633 | 0 | 0 | 0 | 0 |
You can choose to decode the 4-bit output into one of 16 different commands that can be sent via a tone, or hook each of the outputs to a different device.
Please note that the binary output of the SSI202 DTMF decoder is latched. When you send a burst of tones to send a binary output, the output stays there until you replace it with a different value.
Note that B. G. Micro has some great deals on surplus/discontinued electronics. They are inexpensive and good for the experimenter on a budget. But you probably don't want to design old technology into a new design.
| chip | description | data sheet | local mirror | possible source |
|---|---|---|---|---|
| TP5089 | DTMF generator | ICS5089 (207K) | mirror | B. G. Micro |
| CM8888 | DTMF transceiver | mirror | ||
| CM8870, M-8870 | DTMF receiver | ICS8870 (419K) | mirror | B. G. Micro |
| M-957 | DTMF receiver | ICSM957 (258K) | mirror | B. G. Micro |
| 75T202, SSI202 | DTMF receiver | SSI202 (43K) | mirror | B. G. Micro |
| 75T204, SSI204 | DTMF receiver | SSI204 (170k) | mirror | B. G. Micro |
| MC145436, 145436 | DTMF receiver | mirror | ||
| CD22202 | DTMF receiver | mirror | ||
| CD22203 | DTMF receiver | mirror | ||
| 75T203 | DTMF receiver | mirror |
Thank you for visiting. Your comments are welcome.
. . .
. . .