Introduction
The mt8870 is a popular integrated circuit chip used for decoding DTMF (dual-tone multi-frequency) tones in various audio applications. In this 2000+ word guide, we will cover everything you need to know to utilize the mt8870 chip in your next audio project.
Overview of the mt8870 Chip
The mt8870 is a low-power DTMF decoder chip produced by Microsemi. Here are some key features and specifications of this chip:
- Decodes all 16 DTMF tone pairs into 4-bit binary output
- Operates over a wide frequency range from 697-1633 Hz -typical supply current of 1.5 mA
- 28-pin DIP package
Block Diagram
Below is a basic block diagram of the internal architecture of the mt8870 chip:
[Insert block diagram image here]
As seen above, the chip takes an audio input, filters it through a bandsplit filter to separate high and low tones, decodes the tones digitally using a counting technique, and outputs the 4-bit binary result.
Key Pins
Some of the most important pins on the mt8870 package:
- Vin: Analog input pin to receive audio signal
- VDD/VSS: Power supply pins
- ST/GT: Pin for external oscillator
- Q1-Q4: Output pins with decoded binary DTMF tone
Applications
The mt8870 is commonly used for:
- DTMF decoding in telephony equipment
- Touch-tone decoding
- Remote control systems
- Dial-tone detection
- Automated phone menu systems
And any other application requiring DTMF tone decoding.
Interfacing the mt8870 with a Microcontroller
Integrating the mt8870 into an audio project with a microcontroller like Arduino is straightforward. Here are the basic steps:
Schematic
- Connect the input audio source (microphone, headphone jack, etc) to the Vin pin of the mt8870. Use a capacitor to block any DC bias.
- Provide power to the VDD and VSS pins, typically 5V and GND. Add bypass capacitors.
- Connect the ST/GT oscillator pins to an external 3.579545 MHz crystal oscillator.
- Connect the 4 output pins (Q1-Q4) to GPIO input pins on your microcontroller.
- Add any pull-up resistors or filtering required for your microcontroller.
Below is an example schematic:
[Insert schematic diagram image here]
Software
- Initialize the I/O pins connected to the mt8870 as digital inputs in your microcontroller code.
- In the main program loop, continuously monitor the input pins.
- When the input value changes, check the combination of bits to determine which DTMF tone is being decoded.
- Perform any desired action based on the decoded tone, like printing the key to serial monitor, playing a sound, triggering an IFTTT event, etc.
- Consider debouncing the input if noise results in erroneous tone decodes.
Here is sample Arduino pseudocode:
Copy code
void setup(){ // Initialize DTMF input pins pinMode(DTMF_Q1, INPUT); pinMode(DTMF_Q2, INPUT); pinMode(DTMF_Q3, INPUT); pinMode(DTMF_Q4, INPUT); } void loop(){ // Read DTMF input pins tone = (Q1 << 3) | (Q2 << 2) | (Q3 << 1) | Q4; // Detect tone if(tone == 1) print("1 key pressed"); if(tone == 2) print("2 key pressed"); // Other tone cases delay(10); // Debounce delay }
With this simple setup, you can integrate DTMF tone decoding into any audio application!
Example Projects
Here are some example projects you can build using the mt8870 chip:
DTMF-Controlled Door Lock
Use the mt8870 to decode DTMF tones from a phone call to remotely unlock a door! When a preset tone combination is received, trigger a relay to open the lock.
Home Automation System
Integrate the mt8870 into a home automation Arduino or Raspberry Pi system. Call your house, enter DTMF codes, and control lights, appliances, security system, etc.
Robotic Controller
Use a numeric keypad to generate DTMF tones, decode them with the mt8870, and wirelessly control a robot or rover movement and actions.
HAM Radio Projects
For amateur radio applications, the mt8870 can decode DTMF tones on the air and log data. Useful for contesting and other events.
Audio Mini-Games
Create fun mini games that respond to DTMF tones, like simple music or rhythm games.
Conclusion
The mt8870 provides a straightforward way to add DTMF decoding capabilities to any audio application or device. With just a few additional components, this inexpensive and widely available chip can open up a lot of possibilities for DIY electronics and audio projects. The simple digital interface makes it easy to connect the tone decoding function to a microcontroller. After reading this guide, you should have a good understanding of how to utilize the mt8870 chip in your next project build!
Frequently Asked Questions
Here are some common questions about using the mt8870 DTMF decoder chip:
What voltage does the mt8870 chip require?
The mt8870 requires a 5V DC power supply, connected to the VDD and VSS pins. Make sure to add bypass capacitors close to the chip for best performance.
How sensitive is the mt8870 input?
The input sensitivity depends on the clock frequency, but typically 15-20mV RMS input provides reliable decoding. Add an op amp if your signal is weaker.
How fast can the mt8870 chip decode DTMF tones?
The mt8870 can decode tones over 50ms in duration, as fast as 20ms apart. Faster decode speeds are possible with an external clock source.
What is the maximum frequency deviation the mt8870 can handle?
The mt8870 was designed for telephone line audio up to 3.4kHz. Input signals should be bandpass filtered to 1kHz to 4kHz range.
How do I generate DTMF tones to test the mt8870?
You can use an Arduino with a DAC, a DTMF encoder IC like the mt8888, or an app on a smartphone to generate the standard DTMF tones.